Fortigate FQDN 정책과 DNS Snooping(passive-fqdn)
Today Key : FortiGate, FQDN 정책, Wildcard 도메인, DNS Snooping, passive-fqdn-learning, RTT, Fail-over, DNS Proxy
최근 클라우드와 CDN(Content Delivery Network)의 사용이 보편화되면서, 방화벽 정책의 목적지를 고정된 IP가 아닌 도메인(FQDN)으로 설정하는 경우가 많아졌습니다. 하지만 도메인 기반 정책을 운영하다 보면 "정책을 열어두었는데도 통신이 차단되는(False Positive) 기이한 현상과 자주 마주하게 됩니다.
이번 포스팅에서는 FortiGate 방화벽에서 FQDN과 Wildcard 도메인의 IP를 어떻게 질의하고 수집하는지, 그리고 Forti OS 버전별 동작 방식의 차이 등을 알아봅니다.
1. FQDN 정책의 전제: 방화벽이 도메인의 IP를 아는 방법
방화벽이 도메인 기반 정책을 수행하려면 결국 해당 도메인의 IP를 알고 있어야 합니다.
FortiGate는 이를 위해 두 가지 방식을 사용합니다.
능동적 질의 (Active Query)
방화벽 자체에 설정된 DNS 서버(System DNS)로 직접 쿼리를 보내고, 응답받은 IP를 내부 캐시에 저장합니다.
수동적 스니핑 (Passive Learning / DNS Snooping)
내부 클라이언트가 DNS 쿼리를 수행할 때, 방화벽이 그 트래픽을 중간에서 엿듣고(Snooping) 클라이언트가 응답받은 IP를 자신의 캐시에 동적으로 추가합니다.
일반 FQDN(Ex. img.blog.zigispace.net)은 능동적 질의를 기본으로 사용하며, 특정 도메인에 대한 질의가 불가능한 Wildcard 도메인(*.blog.zigispace.net)은 구조상 수동적 스니핑 방식을 사용합니다.
2. FortiOS 7.6을 기점으로 바뀐 FQDN 동작 방식
방화벽 자체 쿼리와 클라이언트 쿼리 간의 IP 불일치로 인한 오차단 문제가 반복적으로 제기되면서, Fortinet은 FortiOS 7.6부터 일반 FQDN의 동작 방식을 크게 변경했습니다.
FortiOS 7.6 이전 (7.0 / 7.2 / 7.4)
일반 FQDN
방화벽 자체 DNS 쿼리(Active)만 수행. DNS Snooping이 동작하지 않습니다.
클라이언트가 받은 IP와 방화벽이 캐싱한 IP가 다를 경우 오차단이 발생할 수 있습니다.
Wildcard FQDN
DNS Snooping(Passive)으로만 동작합니다.
FortiOS 7.6 이상
일반 FQDN
방화벽 자체 DNS 쿼리(Active)와 DNS Snooping(Passive)이 기본적으로 병행 동작합니다.
클라이언트가 응답받은 IP도 캐시에 함께 추가되므로 오차단 문제가 크게 줄어듭니다.
Wildcard FQDN
기존과 동일하게 DNS Snooping으로만 동작합니다.
3. passive-fqdn-learning 설정
FortiOS 7.6부터 일반 FQDN에 DNS Snooping이 적용되면서, 관리자가 이 동작을 제어할 수 있도록 passive-fqdn-learning 속성이 추가되었습니다.
- 기본값: enable (스누핑 활성화 상태로 동작)
- 주의: 기본값이기 때문에 일반적인 show 명령어로는 표시되지 않습니다. 아래 명령어로 확인해야 합니다.
show full-configuration firewall address "객체이름"
설정 변경은 아래와 같이 합니다.
config firewall address
edit "FQDN_객체이름"
set passive-fqdn-learning {enable | disable}
next
end
언제 어떤 값을 쓸까?
enable (권장/기본값)
AWS, Azure, Akamai 등 클라우드·CDN 도메인을 허용하는 정책에 필수입니다.
DNS 응답 IP가 수시로 바뀌는 환경에서도 유연하게 통신을 보장합니다.
disable (엄격한 통제)
내부 클라이언트가 변조된 DNS를 이용해 정책을 우회하는 것을 막아야 할 때 사용합니다.
스누핑을 끄면 오직 "방화벽이 자체적으로 신뢰하는 DNS 서버에서 조회한 IP"만 허용하는 강력한 화이트리스트가 됩니다.