Fortigate에서 External Connectors를 활용 해 대규모 Blacklist를 연동, 객체화 하기

최근 Home Lab에 Fortigate 제품군을 들여 운용 하게 되었다.
통신 정책을 세우고 로그 검토를 진행 하던 중, 언제나 그랬듯이 위협적인 공격 시도를 보이는 IP들이 확인 되었다.
이에 대한 대처 방안을 모색 하고 있었는데 의심스럽거나 위협적인 행동을 보이는 IP들에 대한 평문 리스트를 찾았고 이를 객체화 하려 했는데 아뿔싸, 5000개 이상의 주소 객체를 삽입 할 수 없다.
어찌 방법이 없을까 하다가 External Connectors 활용해 외부 데이터를 기반하여 하나의 객체로 만들 수 있는 방법이 있어 소개하려 한다.

External Connectors는 Security Fabric 카테고리 안에 속하는 요소 중 하나다.
Public SDN(AWS, Azure, IBM Cloud 등), Private SDN(Kubernetes, VMware NSX, Openstack Horizon 등) 등 흩어져있는 요소들을 연결하여 동적 상호 운용을 위해 사용 된다.
그 중, 이번 사례에서 사용 할 External Connector 유형은 Threat Feeds다.

Threat Feeds를 추가 하기 위해서는 아래와 같이 GUI에서 접근 할 수 있다.
FortiOS 7.2.7 기준 좌측 메뉴 에서 Security Fabric -> External Connectors 에 접근하여 Create New를 클릭 -> Threat Feeds 유형 중 생성 할 유형으로 선택
이번 사례에서는 IP Address를 사용 한다.

IP Address Threat Feed 항목을 생성 하기 위해서는 아래와 같은 정보 입력이 필요 하다.
– Name: 이 Threat Feeds의 이름, 여기서 입력 한 문자는 향후 객체 이름으로 사용 된다.
– Update method
-> External Feed: Fortigate가 외부의 매체에서 주소를 가져온다.
-> Push API: Fortigate가 API수신 대기를 하며, 외부의 요소가 Fortigate로 REST API를 사용하여 주소를 추가하거나 제거, 전면 교체를 수행
(External Feed를 선택 한 경우 추가 설정)
– URI of external resource: 가져올 IP 주소가 제공되는 URI
– Refresh Rate: 갱신 주기(분 단위)

필자의 경우 내부에서 운용하는 NMS에 Nginx가 사용되고 있어 이를 활용 할 거고, External Feed를 method로 지정 했다.
이 경우 내부 통신이 이루어 져야 하고, Source IP가 명확히 지정 되어야 정상 통신이 가능하여 CLI에서 추가 설정을 진행 해야 한다.

# Threat Feed 설정 진입
config system external-resource
# 수정 할 Threat Feed 객체 설정 진입
    edit "KISA C-TAS Threat IP List 2024"
# external resource 통신 시 사용 할 Source IP
        set source-ip 255.255.255.255 <- 보안 상 검열
# 통신 시 사용 될 Interface 지정 방식 (auto, specify)
        set interface-select-method specify
# interface-select-method specify로 설정 한 경우 사용 할 Interface 지정
        set interface "########" <- 보안 상 검열
    next
end

IP 목록은 현재 보안 실무자로 근무하고 있어 KISA에서 운영 하는 C-TAS가 접근 가능하기에 상황전파문에서 공유되는 IP 주소 목록을 활용 하였다.

해당 URI를 접속하면 이러한 IP주소들이 출력 되는데, Fortigate는 해당 URI 내용을 각 줄마다 구분하여 객체로 취급 하게 된다.

추가 후, 해당 항목에 커서를 가져다 대면 설정했던 정보와 연결 상태, 마지막 업데이트 시간, 항목 갯수 등의 정보가 표시되며, View Entries를 클릭하면 Fortigate가 해당 URI에서 가져온 정보를 활용해 객체화 된 IP목록을 보여준다.

Threat Feed가 정상 추가 되었다면 Policy를 구성 할 때 주소 객체로 선택 가능 하도록 새로 추가 된 모습을 볼 수 있다.
지정을 할 때는 한개의 객체만 선택하지만, 실제로 해당 객체는 수천개의 IP주소를 포함하고 있다.

해당 객체를 활용 하여, 위협적인 IP로 부터 Inbound 통신 방어 한 기록이다.

위와 같이 Fortigate 제품군에서 External Connectors를 활용 하여 Blacklist와 같은 수많은 주소 객체를 동적으로 업데이트 하고, 단일 객체로 관리, 활용 하는 방법을 알아 보았다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다