Question

외부 위협이 되는 IP들을 WAF를 통해 차단하려고 봤더니 부하가 생길 수 있기에 NACL을 통한 방법을 추천받았습니다. subnet 단위로 적용하는 게 좋을지 VPC 단위로 적용하는게 좋을까요?


Answer

NACL에서 블랙리스트를 관리하는 것은 힘듭니다. NACL은 기본 20개의 규칙을 제공하며, 제한량을 늘릴수도 있습니다. 하지만 NACL의 경우, 규칙이 많아질수록 관리하기가 힘듭니다.

  1. NACL의 경우 규칙마다 순위를 가지게 됩니다. 규칙 수가 많아지게 되면, 낮은 순위의 규칙부터 우선순위를 가지게 되어 규칙이 어긋날  수 있습니다.

  2. 네트워크 성능에 문제가 발생할 수 있습니다. NACL은 규칙 순위별로 하나씩 체크를 하며 동작하게되어있습니다. 비교할 규칙이 많아질 경우, 트래픽을 허가할지 거부할지 판별하는데 시간이 많이 소요될 수 있습니다.

상황마다 다르겠지만,  VPC 보안그룹, WAF 정책에서 차단, AWS Network Firewall, Amazon GuardDuty을 사용하는 솔루션을 추천드립니다.


보안그룹

보안 그룹은 VPC의 리소스와 주고받을 수 있는 트래픽을 제어하는 방화벽 역할을 합니다. 인바운드 트래픽 및 아웃바운드 트래픽을 허용하는 포트 및 프로토콜을 선택할 수 있습니다.


WAF

AWS WAF는 보호된 웹 애플리케이션 리소스에 전달되는 HTTP(s) 요청을 모니터링할 수 있게 해주는 웹 애플리케이션 방화벽입니다. AWS WAF를 사용하여 콘텐츠에 대한 액세스 제어 요청이 시작되는 IP 주소 또는 쿼리 문자열의 값과 같이 사용자가 지정하는 조건에 따라 보호되는 리소스와 연결된 서비스는 요청된 콘텐츠, HTTP 403 상태 코드(사용 권한 없음)로 요청에 응답합니다.


AWS Network Firewall

AWS Network Firewall을 사용하면 VPC 경계에서 네트워크 트래픽을 필터링할 수 있습니다. Network Firewall은 상태를 저장하는 관리형 네트워크 방화벽이자, 침입 탐지 및 방지하는 서비스입니다.


Amazon GuardDuty

EC2 워크로드,, 컨테이너 애플리케이션, Aurora Database 및 S3에 저장된 데이터를 보호하기 위해 악의적 활동 또는 무단 동작을 지속적으로 모니터링하는 위협 탐지 서비스입니다. GuardDuty는 기계 학습, 이상 탐지, 네트워크 모니터링 및 악성 파일 검색을 결합하고, AWS 소스와 업계 최고 수준의 서드 파티 소스를 활용하여 AWS의 워크로드 및 데이터를 보호합니다. GuardDuty는 CloudTrail 이벤트 로그, VPC 흐름로그, EKS 감사 및 시스템 수준 로그, DNS쿼리 로그와 같은 여러 AWS 데이터 소스에서 수백억 개의 이벤트를 분석할 수 있습니다.


@ 참고 문헌

VPC 보안그룹 : https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/security-groups.html

AWS WAF : https://docs.aws.amazon.com/ko_kr/waf/latest/developerguide/waf-chapter.html

AWS Network Firewall : https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/network-firewall.html

AWS GuardDuty : https://aws.amazon.com/ko/guardduty/features/