SECURITY/AWS

EC2 인바운드/아웃바운드 규칙

yuujoeng 2023. 10. 30. 15:36

포트 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의 접속을 허용할 수 있음