AWS/이론

보안 그룹 & 네트워크 ACL

이덩우 2023. 1. 16. 16:12

접근 제어 (Access Control)

일반적인  측면에서 접근 제어는 보안상 위협으로부터 환경을 보호하기 위한 보안 대책이다.

인가된 대상은 접근을 허용하고, 인가되지 않은 대상은 접근을 거부함으로써 보안을 강화할 수 있다.

 

접근 제어 절차

 

위는 접근 제어 절차로 식별 -> 인증 -> 권한부여 순으로 진행된다.

네트워크 입장에서 보면 대상을 식별하는 기준으로는 일반적으로 IP주소나 포트번호, 프로토콜을 예로 들 수 있겠다.

 

네트워크 접근 제어(예시)

 

위는 간단한 구조의 네트워크 접근 제어 상황을 보여주고있다.

 


보안 그룹과 네트워크 ACL

AWS에서는 네트워크 인프라 보호를 위한 트래픽 제어 정책으로 보안 그룹(Security Group)과 네트워크 ACL(Access Control List)기능을 활용한다. 둘 다 모두 IP주소와 프로토콜, 포트 번호를 통해 대상을 식별하고 제어 정책에 따라 대상의 허용 여부를 판단하지만, 보안그룹과 네트워크 ACL은 트래픽 제어를 수행하는 AWS 대상이 다르다.

보안 그룹은 인스턴스 레벨의 접근 제어를 수행하고

네트워크 ACL은 VPC 내의 서브넷 네트워크에 대한 접근 제어를 수행한다.

 

 

보안그룹과 네트워크 ACL은 트래픽의 방향에 따라 인바운드 규칙과 아웃바운드 규칙으로 나누어진다.

 

 

다음으로 Stateful과 Stateless 에 대해 알아보자.

Stateful은 이전상태의 정보를 기억하고 있다가 다음단계에서 그 상태 정보를 활용할 수 있고,

Stateless는 이전상태의 정보를 기억하지 않아 다음 단계에 관여하지 않는다.

 

보안 그룹은 Stateful 접근 제어 동작을 하고있다. 

인바운드로 들어오는 트래픽에 대해 인바운드 규칙에 따라 대상이 허용되면, 그 상태 정보를 기억하고 있어 

아웃바운드로 되돌아갈 때 아웃바운드 규칙에 상관없이 허용된다.

Stateful 접근 제어 방식

 

반대로 네트워크 ACL 은 Stateless 접근 제어 동작을 하고있다.

인바운드로 들어오는 트래픽에 대해 인바운드 규칙에 따라 대상이 허용된다고 해도 그 상태 정보와는 상관없이,

아웃바운드로 되돌아 갈 때 아웃바운드 규칙에 따라 허용할지 거부할지 결정한다.

Stateless 접근 제어 방식

 

 

보안 그룹과 네트워크 ACL의 또다른 차이점은 허용/거부 규칙이다.

보안 그룹은 허용 규칙만 존재하고, 허용 대상이 아닌 것은 모두 거부한다.

네트워크 ACL은 허용 규칙과 거부 규칙이 모두 존재한다. 순차적으로 허용/거부를 확인며 순서를 확인하기 위한 시퀀스 넘버가 존재해 가장 작은 숫자부터 확인한다.

 

 

출처 : 따라하며 배우는 AWS 네트워크 입문