본 학습은 따라하며 배우는 AWS 네트워크 입문 서적을 통해 진행했습니다.
접근 제어(Access Control)
일반적인 측면에서, 보안 상 위협으로부터 제반 시설 및 환경을 보호하기 위한 보안 대책
- 인가된 대상은 접근에 허용하고, 인가되지 않은 상대는 접근을 거부하여 보안 측면을 강화
절차
- 식별(Identity): 대상을 식별
- 인증(Authentication): 식별된 대상에 대한 인증을 수행하여 적합한 대상인지 판단
- 권한 부여(Authorization): 정책에 따라 허용, 거부, 제한적인 허용 등의 권한을 부여
네트워크 접근 제어(예시)
보안 그룹과 네트워크 ACL
IP 주소/프로토콜/포트 번호를 통해 대상을 식별하고 제어 정책에 따라 대상의 허용 여부를 판단하며, 트래픽의 방향에 따라 인바운드 규칙 및 아웃바운드 규칙으로 분리
- 보안 그룹(Security Group)
- 네트워크 ACL(Network Access Control List)
인바운드 규칙과 아웃바운드 규칙 구분
차이점
트래픽 제어 대상
- 보안 그룹: 인스턴스 레벨의 접근 제어를 수행
- EC2 인스턴스나 ALB 등과 같은 특정 대상에 대한 접근 제어 정책
- 네트워크 ACL: 서브넷 레벨의 접근 제어를 수행
- VPC 내부에 생성한 서브넷 네트워크에 대한 접근 제어 정책
보안 그룹과 네트워크 ACL
Stateful vs Stateless
Stateful: 이전 상태 정보를 기억하다가 다음 단계에서 그 상태 정보를 활용 Stateless: 이전 상태 정보를 기억하지 않고 다음 단계에 관여하지 않음
- 보안 그룹: Stateful 접근 제어 동작
- 아웃바운드로 되돌아갈 때(리턴 트래픽) 아웃바운드 규칙 상관 없이 허용
- 네트워크 ACL: Stateless 접근 제어 동작을 수행
- 인바운드로 들어오는 트래픽에 대해 인바운드 규칙에 따라 대상이 허용한다 하더라도 그 상태 정보는 상관이 없음
- 아웃바운드로 되돌아갈 때(리턴 트래픽) 아웃바운드 규칙에 따라 허용할지 거부할지 결정
허용/거부 규칙
- 보안 그룹: 허용 규칙만 존재
- 보안 그룹의 규칙은 지정된 대상과 매칭될 경우 허용하며, 매칭되지 않는 대상은 모두 거부
- 네트워크 ACL: 허용 규칙과 거부 규칙 둘 다 존재
- 네트워크 ACL의 규칙을 시퀀스 넘버에 따른 순차적으로 확인
- 각 규칙 별로 대상의 허용과 거부를 지정할 수 있으며, 매칭되는 대상이 있으면 하위 규칙을 더는 확인하지 않음
- 마지막 규칙은 모든 트래픽에 대해 거부되는 규칙을 자동으로 생성