AWS Network Access Analyzer 간단한 활용 방법

JIPA
8 min readFeb 13, 2022

--

2021년 12월에 AWS 에서 VPC 의 네트워크 트래픽 플로우를 분석하는 서비스인 Network Access Analyzer 라는 새로운 서비스를 출시하였습니다.

이 포스팅에서는 Network Access Analyzer 를 활용하는 방법에 대해 간단하게 살펴보려고 합니다.

AWS Network Access Analyzer 는 VPC 메뉴에서 Network Analysis 하위 메뉴에 존재하는데요. Network Access Analyzer 를 클릭하시면 아래와 같이 Default 로 생성되어 있는 Network Access Scope 을 확인할 수 있습니다.

Network Access Analyzer 를 이해하려면 먼저 Network Access Scope 이 무엇인지를 이해해야 하는데요. Network Access Scope 은 사용자가 정의한 출발지, 경유지, 목적지 등을 정의한 집합이라고 생각하면 됩니다. 따라서, 관리자는 Network Access Scope 을 정의한 후에 특정 리소스들이 Scope 에서 정의한 “출발지, 경유지, 목적지" 의 경로를 준수하는지 혹은 준수하지 않는지 등을 분석할 수 있게 됩니다.

이와 같은 Network Access Scope 은 이미 만들어져 있는 Network Access Scope 을 사용해도 되고 관리자가 임의의 설정으로 새로운 Network Access Scope 을 생성하여도 됩니다.

그럼 좀 더 이해를 돕기 위해 Network Access Analyzer 의 간단한 사용 사례를 테스트 해보도록 하겠습니다.

제가 사용한 테스트의 기본 환경은 아래 구성과 같습니다.

테스트 구성도

하나의 VPC 에 Private Subnet 이 각 AZ 에 구성되어 있고 Public Subnet 에는 ALB 와 NAT Gateway 만을 각각 별도로 배치하였습니다. 그리고 AWS Network Firewall 을 Ingress/Egress 용으로 구분하여 생성하여 구성하였습니다.

이 구성의 목적은 모든 Ingress/Egress 트래픽들은 배치된 AWS Network Firewall 을 경유하여 통신되도록 하는 것인데요. 과연 현재 이 상태의 구성이 제가 원하는 상태인지 Network Access Analyzer 를 통해 검사해 보도록 하겠습니다.

Network Access Scope 생성

먼저 분석에 사용할 Network Access Scope 을 생성하겠습니다. 제가 원하는 Custom 한 Scope 이 필요하기 때문에 저는 Empty Template 을 선택하도록 하겠습니다.

템플릿 선택

아래와 같이 Scope 의 이름을 입력해주었습니다.

Scope 이름 입력

이 Scope 의 사용 목적은 Network Firewall 을 경유하지 않고 VPC 내부에서 인터넷으로 통신이 가능한 ENI 가 있는지를 확인하는 것입니다.

따라서, Scope 의 매칭 조건은 특정 VPC(10.0.0.0/16 CIDR) 의 EC2 Network Interface 가 지정된 Internet Gateway 와 통신이 가능한 상태인지 확인하도록 아래와 같이 구성하였습니다.

Scope 의 매칭 Source조건 입력
Scope 의 매칭 Destination조건 입력

추가로 저는 Network Firewall 을 반드시 경유하도록 하는 것이 조건이므로 반대로 이야기하지만 Network Firewall 을 정상적으로 경유하는 ENI 는 굳이 탐지 목록에 기록되지 않아도 됩니다. 따라서, 아래와 같이 Egress-Firewall 을 경유하는 트래픽 경로는 제외하도록 Exclusion Condition 을 추가하였습니다.

Firewall 경유 시 탐지 예외

이렇게 매칭 조건이 모두 설정된 Network Access Scope 을 이용하여 분석을 수행하였습니다.

분석 결과, 아래와 같이 아무런 탐지 내역이 없는 것(No finding detected)을 확인할 수 있었습니다. 즉, 현재 네트워크 설정 상태는 제가 의도한 상황과 매칭된다고 볼 수 있을 것 같습니다.

Network Access 분석 결과

네트워크 경로 위반 자원 탐지

이번에는 관리자가 의도하는 상황을 위반하는 새로운 Subnet 을 생성한 후 해당 Subnet 에 EC2 Instace 를 배포해 보도록 하겠습니다. 그리고 그 상태에서 동일한 Network Access Scope 기반으로 분석을 시도했을 때 어떠한 결과가 나타나는지 확인하도록 하겠습니다.

새롭게 추가된 Subnet 은 Temp-Subnet이라는 이름으로 생성되었고 Temp-Subnet 은 Network Firewall 을 경유하지 않고 인터넷 접속이 가능하도록 Temp-RT 이름의 라우팅 테이블에 0.0.0.0/0 = Internet Gateway 로 향하도록 설정이 적용되어 있습니다.

따라서, 이 Subnet 에 구성되는 EC2 Instance 는 Network Firewall 의 검사 없이 인터넷 통신이 가능한 상황입니다.

새로운 EC2 인스턴스 네트워크 설정

이렇게 Temp-Subnet 에 새로운 EC2 인스턴스가 Provisioning 된 후 다시 한 번 위 과정에서 사용하였던 Network Access Scope 을 이용하여 분석을 시도해 보도록 하겠습니다.

이번에는 아래와 같이 분석 결과 새로운 탐지결과(Finding)가 있는 것을 확인할 수 있습니다.

탐지 결과

탐지된 결과에 대한 상세 항목을 보면 아래와 같이 Temp-Subnet 에 위치한 EC2 인스턴스의 ENI 가 SG-NACL -Route Table- Internet Gateway 의 경로로 인터넷 접근이 가능한 상태임을 확인할 수 있습니다.

탐지 결과 상세

즉, 관리자는 Network Access Scope 의 분석 결과를 이용하여 관리자가 의도한 Network 경로를 위반하는 자원에 대해 탐지할 수 있습니다.

위반 사항에 대한 조치를 위하여 새롭게 추가된 Temp-Subnet 에 사용된 Routing Table 을 아래와 같이 0.0.0.0/0 에 대해서 Network Firewall 을 경유하도록 구성한 후 재분석을 수행하도록 하겠습니다.

Routing Table 교정

Routing Table 이 정상적으로 변경된 후 재분석을 수행하면 아래와 같이 아무런 탐지 내역이 없는 것을 확인할 수 있습니다.

Routing Table 교정 후 분석 결과

Network Access Analyzer 는 Reachability Analyzer 와 함께 VPC 에 존재하는 자원에 대한 네트워크 경로에 대한 분석에 도움을 드리는 서비스입니다. 이 포스팅에서 테스트한 것처럼 인터넷 접속에 대해 Network Firewall 을 경유하는지 여부를 판단하는 것이외에도 Network Access Scope 의 조건을 이용하여 다양한 환경에 대한 분석이 가능합니다. 따라서, 보안적으로 네트워크 접근 경로에 대한 감사를 수행하고자 하는 경우에도 아주 유용하게 사용하실 수 있는 서비스라고 할 수 있을 것 같습니다.

참고로, Network Access Analyzer 는 유료 서비스로 분석 대상이 되는 ENI 당 0.002USD 의 비용이 과금되는 서비스입니다. VPC 와 관련한 요금 정보는 아래의 링크를 참고하세요.

감사합니다.

--

--

JIPA
JIPA

Written by JIPA

Always Day 1. Security is job zero.

No responses yet