포트 Port
- 논리적인 단위로서 IP를 통해 접속한 컴퓨터에서 어떤 곳으로 연결할지 구분시키는 역할
- 클라이언트가 IP 값만 가지고 접속할 경우 컴퓨터는 어떠한 서버를 제공할 것인지 결정하지 못 함
- 즉 포트는 IP를 통해서 컴퓨터에 접속할 때, 어떤 것을 원하는지 요청하기 위해 사용하는 논리적인 약속
- IP를 통해 접속하는 클라이언트에게 모든 포트를 열어주는 것은 위험
- 포트 종류
- Well-known port : 0 ~ 1023
- Registered port: 1024 ~ 49151
- Dynamic port: 49151 ~ 65535
Security Group / Network ACL
- Security Group
- EC2 인스턴스나 ALB와 같은 특정 인스턴스에 대한 접근 제어 정책
- Stateful : 요청 정보를 저장하여 응답하는 트래픽 제어를 하지 않음
- 동일 서브넷 내의 통신일 경우 ACL 규칙과 상관없이 Security Group 규칙의 적용 받음
- Allow 식 지정 방식으로 Deny 지정은 불가
- Network ACL
- VPC상 생성한 서브넷 네트워크에 대한 접근 제어 정책
- Stateless : 요청 정보를 따로 저장하지 않아 응답하는 트래픽도 제어해야 함
- 서브넷 단위, 다른 서브넷 간의 통신일 때 고려사항
인바운드
- 서버 데이터에 들어올 수 있는 규칙
- 기본값: 모든 포트를 닫기 → 인바운드 설정을 하지 않은 포트는 사용할 수 없는 포트
- 인바운드 규칙에서 작성하는 프로토콜/포트는 목적지, IP 주소는 출발지 주소
- 해당 데이터의 CRUD를 허용하는 규칙
아웃바운드
- 서버 외부로 나가는(반출하는) 데이터 규칙
- 기본값: 모든 포트를 열기 → 아웃바운드 설정
- 인바운드 규칙에 허용된 포트로 들어와도 아웃바운드가 허용되지 않은 포트는 클라이언트는 다운로드 불가
- 아웃바운드 규칙에서 작성
인바운드 규칙 설정
1. EC2 > 보안그룹 > 인바운드 규칙에서 인바운드 규칙 편집 선택
2. SSH 프로토콜을 유형으로 선택하고 소스는 본인의 공인 IP 주소로 설정
- 내 IP가 아닌 0.0.0.0 선택 시 모든 IP의 접속을 허용할 수 있음