잡다한 IT 지식

FortiGate - Threat Feed 기반 URL 필터링 동적 구성 본문

Fortinet/FortiGate

FortiGate - Threat Feed 기반 URL 필터링 동적 구성

가나무마 2026. 2. 28. 01:03

TL;DR

- FortiGate에선 Threat Feed를 통해 외부 서버에서 IP 주소, MAC 주소, URL, Domain 등을 조회 가능

- 조회한 데이터를 객체로 만들어 Web Filter, Domain Filter, Firewall Source Address 등 적용 가능

- Threat Feed API: https://github.com/johnson434/fortigate_threat_feed_webserver

구성도

FortiGate Port2와 Threat Feed Server가 직접 연결

설정 화면

Threat Feed API 서버로부터 URL 목록 조회하기

FortiGate가 조회할 API 서버를 아래와 같이 설정

Security Fabric > External Connectors > Create New > Threat Feeds > FortiGuard Category

HTTP 인증 없이 5분 주기로 Threat Feed로부터 URL 목록 조회

"http://192.168.20.2/feeds/fortiguard-categories" 주소로부터 URL 목록을 조회한다.

목록 갱신 주기는 5분으로 설정한다.

Entries가 1로 유효한 URL 주소가 서버로부터 1개 반환됐다.

서버와 연동에 성공하자, 해당 API 서버로부터 URL을 1개 가져오는 데 성공했다.

1 Valid는 유효한 Entry 개수를 의미한다. 만약, MAC 주소와 같은 URL 형식에 맞지 않은 값이 들어있다면 Invalid로 처리된다.

View Entries를 클릭하면 API 서버로부터 받은 URL을 확인 가능

View Entries를 클릭하면 해당하는 URL 목록을 직접 확인할 수 있다.

이 예에선 이 블로그의 주소를 반환하도록 Threat Feed API 서버를 구축하였으므로 codingpracting.tistory.com이라는 주소를 반환한다.

Web Filter에서 해당 카테고리 주소를 차단하라고 설정

Security Profiles에 가면 방금 만든 External Connector와 이름이 같은 웹필터의 카테고리가 Remote Categories에 추가된다.

해당 사이트에 접근하면 차단하도록 Block으로 설정한다.

방화벽 정책에 적용

Web Filter를 접근을 차단할 방화벽 정책에 설정한다.

사이트 접속 시도 시 차단

codingpracting.tistory.com을 통해 접속했을 때, 차단됨을 확인

Log & Report의 Security Events 확인 시 해당 카테고리로 판단되어 차단되는 것을 볼 수 있음

로그에서도 URL 필터를 통해 차단됨을 확인

디버그 명령어를 통해 해당 category 192번을 통해 접속 차단됨을 확인

아래 디버그를 통해서도 확인 가능

diagnose debug enable
diagnose ips debug enable all

참고 자료

- FortiOS 7.6.6 Administrator Guide - External Feeds

- Technical Tip: Troubleshooting static URL filter by 'debug ips'

'Fortinet > FortiGate' 카테고리의 다른 글

FortiGate VM permanent evaluation VM license 등록하기  (0) 2025.09.04