기술 이모저모/[AWS] Workshop

[AWS] NetworkFirewall 기능 정리

Kobby 2022. 9. 17. 15:19

 

 

[AWS] Traffic은 어떻게 통제해야 할까?

AWS 에는 EC2 또는 VPC 기준으로 트래픽을 통제하는 방법이 다양하다. 대표적으로 Route53 DNS Firewall, NetworkFirewall, SG, NACL, 3rd Firewall이 있다. 각 서비스마다 사용 방법이 다르고, 기능이 다르고, 요..

dobby-isfree.tistory.com

 

위 게시물을 통해 트래픽을 제어할 수 있는 AWS 자체 서비스에 대해 알아보았으며, Networkfirewall의 기능에 대해서 알아보자!!

 

Networkfirewall이란?

말 그대로 AWS 관리형 서비스로 방화벽의 기능을 제공해준다. 하지만 Networkfirewall 서비스를 출시한 시기가 얼마 되지 않아서 할 수 있는 기능이나, 로깅이 매우 부실하여 사실상 업무에 적용하기는 쉽지가 않은거 같다. 자세한 기능은 아래와 같다.

 

그리고 결론부터 요약하자면, 현재 실무에 적용하기에는 기능이 매우매우 부족하다.

- 구성하는 방법, 구성도는 구글링해보면 많이 나와있으므로 해당 게시물을 참고하고, 기능 위주로 정리하였다.

 

Networkfirewall 기능

기능 구분 기능 여부 기능 상세 내용 비고
IP, Port 통제 • Src, Dst IP/Port/Procotol 기준으로 허용/차단/알림 설정 가능
• 정책 반영까지 약 15초 소요
도메인 통제 • HTTP, HTTPS 최상위 도메인 기준 통제 가능
  - 별도 설정없이 HTTPS 도메인 통제가 되는것은 좋음
• 하위도메인 통제 불가
• IPS Rule 권장
  → 도메인 정책만 존재할 경우,
  기본 정책이 차단으로 변경 됨
IPS Rule • 하위도메인 통제가 가능하다고 하지만 잘 되지 않음..
  - Test 1 : context : naver.com
    • naver.com → 차단 됨
    • naver.com/index.html → 차단 됨 

  - Test 2 : context : naver.com/index.html
    • naver.com → 차단 안됨
    • naver.com/index.html → 차단 안됨
 
-
Manageged Rule • 악성 도메인 및 비정상 CA Rule 제공 → 추가 과금 발생 알림 정책으로만 제공, 차단 불가
모니터링 • Pass/Drop 요청개수밖에 보여주지 않음
-
로깅 • 모든 로그가 IP/Port/Protocol 정도만 남음
  - 웹사이트 접속 또는 Domain 접속도 IP/Port만 남음
• 로그 기능이 제일 부실
차단 여부 확인 • 차단 여부는 알 수 있으나, 차단 정책에 대해서 알 수 없음




-
비용 - • Network Firewall 사용료
  - 1시간 : $0.395
  - 1일 : $9.48
  - 1달 : $284.4
  - 1년 : $3412.8(4,436,640원)

•Network Firewall 트래픽량
  - GB : $0.065
-

 

Test 1에 사용된 IPS Rule

drop tls any any -> any any (tls.sni; content:"naver.com"; startswith; nocase; endswith; msg:"matching TLS denylisted FQDNs"; priority:1; flow:to_server, established; sid:1; rev:1;)
drop http any any -> any any (http.host; content:"naver.com"; startswith; endswith; msg:"matching HTTP denylisted FQDNs"; priority:1; flow:to_server, established; sid:2; rev:1;)

 

Test2에 사용된 IPS Rule

drop tls any any -> any any (tls.sni; content:"naver.com/index.html"; startswith; nocase; endswith; msg:"matching TLS denylisted FQDNs"; priority:1; flow:to_server, established; sid:1; rev:1;)
drop http any any -> any any (http.host; content:"naver.com/index.html"; startswith; endswith; msg:"matching HTTP denylisted FQDNs"; priority:1; flow:to_server, established; sid:2; rev:1;)

 

아직 Networkfirewall을 사용하는 사례는 거의 없고, 대부분 트래픽 통제에 3rd 방화벽(Fortigate)를 많이 사용하는거 같다.

 

다음에는 Fortigate의 구성 방법에 대해 알아보자!!