Cloud/AWS

AWS Network Firewall Proxy

지기(ZIGI) 2026. 4. 30. 18:30

today keys : network, firewall, nfw, proxy, endpoint, rule, group, configuration, 방화벽, 네트워크, 프록시


 이번 포스팅은 지난 '25년 11월 25일에 공개된 AWS Network Firewall Proxy에 대한 실습 포스팅입니다. 

출시부터 현재까지는 평가판으로 제공되고 있으며, 미국 동부(오하이오)에서만 사용이 가능합니다. 

 이번 포스팅은  AWS Network Firewall Proxy를 만들어서, 테스트하는 실습 포스팅 내용으로 작성하였으며, AWS Network Firewall Proxy에 대한 개념은 별도 포스팅에서 다룰 예정입니다.


이번 포스팅에서 구성하는 기본 아키텍처입니다.

Network Firewall Proxy를 통해서 다양한 기능이 구현이 가능하지만, 

여기에서는 특정 목적지 도메인만 허용하고, 이외의 도메인은 통신을 제어하는 예제를 진행합니다.

 


NFW Proxy rule group  만들기

VPC - Network Firewall - Proxy rule groups 메뉴에서, 'Create proxy rule group' 을 클릭해  Proxy rule group을 생성합니다. 

Step 1.  Proxy rule group의 Name을 지정하고, 다음 단계로 넘어갑니다.

 

Step 2.  적용한 Rule을 선언합니다. 

             선언되는 Rule은 Phase와 Name을 갖는 Item을 선언하는 데, 3개의 Item을 넣을 수 있습니다.

             해당 Rule의 Item에 매치되는 경우에 Action을 'Allow', 'Alert', 'Deny'로 설정할 수 있습니다.

             여기에서는 Pre Request와, Allow로 설정하였습니다.

 

Phase의 경우, Rule이 적용되는 시점으로 볼 수 있는 데 'Pre DNS', 'Pre Request', 'Post Response'를 지정할 수 있습니다. 

Rule이 적용되는 시점과 Rule이 적용됐을 때의 Action을 설정하고 나면, 

해당 Rule에 대한 Match 조건인 'Conditions'을 설정합니다. 

'Add condition'으로 조건을 추가합니다. 

 

 

Condition의 경우, Match 조건에 해당하는 Condition key와 Operator, Value 값을 지정합니다. 

각 항목에 대한 상세 내용은 별도 포스팅에서 알아볼 예정이고, 

여기에서는 목적지 도메인을 기준으로 지정한 값의 문자열이 포함되는 경우로 하였습니다. 

지정한 문자열의 목적지 도메인으로는 naver.com과 zigispace.net으로 하였습니다. 

 

Condition이 정상적으로 생성된 것을 볼 수 있습니다.

 

Step 3. 설정한 Proxy rule group의 값을 확인하고, 'Create' 버튼을 눌러서 생성합니다. 

 

Proxy rule group이 생성되었습니다.

 

 

Proxy Configuration 만들기

다음은 Proxy Rule을 적용 할 Proxy Configuration을 만듭니다. 

VPC - Network Firewall - Proxy Configuration 메뉴에서, 'Create proxy configuration ' 을 클릭해  proxy configuration 을 생성합니다. 

 

Step 1. Proxy Configuration Name을 설정하고, 

            Proxy Configuration에 연결된 rule에 Match되지 않는 트래픽에 대한 기본 Action을 설정합니다.

            앞서 Rule의 적용 시점인 3가지 Phase(PreDNS, PreRequest, PostResponse)에 대해 각각 기본 Action을 설정합니다.

            여기에서는 앞서 Rule을 PreRequest Phase의 특정 Condition만 Allow로 설정했기 때문에 

            다른 Phase는 Allow로 기본 값을 설정하고, PreRequest는 Deny로 설정합니다.

 

Step 2.  Configuration에 Rule을 연결합니다.

여러 개의 Rule을 동시에 적용할 수 있으며, 이 경우에는 Priority에 따라서 우선순위에 따라 rule이 적용됩니다.

 

Step 3. Proxy Configuration의 설정 값을 확인하고, 생성합니다.

 

정상적으로 Proxy configuration이 생성된 것을 볼 수 있습니다. 


Network Firewall Proxy  만들기

이제 핵심 본체인 Network Firewall Proxy를 만들겠습니다. 

VPC - Network Firewall - Proxies 메뉴에서, 'Create proxy'를 클릭해  Proxy를 생성합니다. 

앞의 다른 요소와 마찬가지로 Proxy name을 설정하고, 

그리고 방금 전에 만든 Proxy Configuration을 적용합니다. 

그리고 Network Firewall Proxy는 NAT Gateway에 연결하여 Outbound 트래픽을 제어하기 때문에

NAT Gateway를 연결해 줍니다. 

옵션으로 TLS intercept mode를 활성화 하고, Private cetificate를 연결할 수 있는 데, 

이번 포스팅에서는 별도로 활성화 하지 않고 기본 값으로 생성하겠습니다.

마지막으로 HTTPS와 HTTP 프로토콜 포트 번호를 설정하고, 생성을 마칩니다.

 

 Network Firewall Proxy 생성을 시작하면, State가 Attaching 상태인 것을 볼 수 있습니다. 

 

시간이 지나면, State가 Attached 로 변하는 데, 그럼 정상적으로 Proxy가 생성되고 NAT Gateway에 Attatch된 것입니다.

Attaching에서 Attached로 바뀌는 데까지는 약 10여분 정도의 시간이 소요되기 때문에 기다리셔야 합니다.

마찬가지로 삭제할 때도 시간이 꽤 걸립니다.

 

Network Firewall Proxy가 생성되고, NAT Gateway에 Attached까지 되고 나면

'VPC → PrivateLink and Lattice → Endpoint' 메뉴로 가서 보면, 

아래와 같이 NFW Proxy에 대한 Interface Endpoint가 생성된 것을 볼 수 있습니다.

이 Interface Endpoint의 DNS names을 EC2에서 Proxy로 명시적으로 지정해야 합니다.

 

 

Network Firewall Proxy 검증

NFW Proxy 적용 전

NFW Proxy를 적용하기 전에는 NAT Gateway를 통해서 www.naver.com,  zigispace.net, www.google.com 은 은 은 은 은 모두 정상적으로 접근이 가능한 것을 볼 수 있습니다. 

Proxy 설정

이제 EC2에서 http와 https가 proxy를 경유하도록 명시적인 proxy 설정을 합니다. 

proxy로 사용되는 주소는 앞에서 만든 NFW Proxy의 Interface Endpoint 주소입니다.

 

NFW Proxy 적용 후

NFW Proxy를 적용하고 나면, NFW Proxy Rule에서 지정한 zigispace.net은 정상적으로 열리지만, 

www.google.com 은 열리지 않는 것을 볼 수 있습니다.

다만, NFW Proxy Rule에서 지정한 naver.com의 경우, 정상적으로 열리지 않고 있습니다.  

이를 위해서 NFW Proxy Rule의 Condition을 변경해보겠습니다.

 

NFW Proxy Rule Condition 변경

기존에 Rule Condition의 Vaule에 naver.com로만 입력했지만,

실제 테스트에 사용한 도메인은 www.naver.com 입니다.

Value 값의 naver.com을 *naver.com 으로 수정합니다. 

이제 naver.com 도메인의 모든 하위 도메인에 대해서도 접근이 가능해집니다. 

 

 

NFW Proxy Rule Condition 변경 후, 테스트

이제 www.naver.com도 정상적으로 통신이 되는 것을 볼 수 있습니다. 

물론 Rule Condition에 포함되지 않은 www.google.com은 여전히 통신이 되지 않습니다.