안녕하세요! 커뮤니티 여러분?
오늘은 지난번에 이어 IPS Snort 3 환경에서 특정 IP에 대해 예외처리하는 방법에 대해서 알아 보겠습니다.
해당 방법은 IPS 이벤트 로그중 특정 IP에 대해 False Positive로 판단되어 예외처리가 필요할 경우 유용한 Tip 입니다!!!
FTD의 Devices > Device Management 메뉴로 이동 합니다.
Pencil 아이콘을 클릭하여 장비 세부항목으로 이동 합니다.
좌측 상단의 Device 아이콘을 클릭 합니다.
아래 레드 박스와 같이 현재 사용중인 Snort 버전을 확인합니다. 현재는 Snort 3 를 사용중인것으로 확인할 수 있습니다.
다음으로 IPS 로그를 확인해 보겠습니다. Analysis > Intrusions > Events 로 이동합니다.
아래와 같이 Source IP 10.0.5.3 에서 "OS-OTHER Bash CGI environment variable injection attempt (1:31978:5)" 라는 Vulnerability 항목으로 2번 탐지되고, 차단되었습니다.
Source IP 10.0.5.3 에 대해서 예외처리하여, 차단되지 않고 정상적으로 통신이 될 수 있도록 해보겠습니다.
메뉴에서 Objects > Intrusion Rules로 이동 합니다.
Snort 3 All Rules 를 클릭합니다.
All Rules > SID(Snort ID)31978 로 해당 Signature 를 조회 합니다.
아래와 같이, 조회한 결과가 나오며, 붉은색 박스의 None 을 클릭합니다.
새로 생성된 박스의 Pencil 버튼을 클릭합니다.
Source Networks (0) + 를 클릭 합니다.
사전에 정의된 예외처리할 IP의 Object 를 선택후, Save 버튼 클릭 합니다.
아래와같이 정상적으로 Suppression Source IP 가 등록된것을 확인 후 Save 버튼을 클릭 합니다.
아래와 같이 기존 None에서 Suppression 으로 변경된 것을 확인 할 수 있습니다.
우측 상단의 Objects > Variable Set > Pencil 클릭 합니다.
Add 클릭 합니다.
예외처리가 필요한 리스트를 생성하고 등록합니다.

Snort3 Version 클릭
sid:31978 검색 후 duplicate 버튼 클릭
아래와 같이 변수 변경
$EXTERNAL_NET 을 $EXEMPT_LIST 로 변경
sid:31978 을 sid:1000000 로 변경
rev : 5 을 1로 변경

Create New Rule Group 클릭 및 Pass-IPS-rules 그룹 생성

기존 Rule Action : Disable 을 Pass 로 변경
우측 상단의 Deploy > Deployment 메뉴로 이동합니다.
적용하고자 하는 FTD 를 선택후 Deploy 버튼을 클릭합니다.
다시 Deploy 버튼을 클릭합니다.
해당 설정에 대해서 검증을 해보도록 하겠습니다.
테스트 Device 정보:
OS - Kali Linux 2022.3 버전
IP - 10.0.5.3/24
Tool - Nikto
아래와 같이 Kali Linux에서 Nikto Command를 사용하여 특정 목적지에대해 TCP 80 포트 웹스캐닝을 시도합니다.
nikto -h 192.168.7.1 -p 80
위에서 이미 해당 Source IP 10.0.5.3 에 대해 예외처리를 하였기 때문에 Intrusions > Events 에서 이후로는 해당 IP로 동일 로그가 발생하지 않습니다.
IPS Suppression 이 설정된 이후로는 아래와 같이 Analysis > Connections > Events 메뉴에서 정상적으로 Allow되어 통신되는것을 확인 하실 수 있습니다.
본 내용의 FMC와 FTD의 버전은 아래와 같습니다.
FMC - 7.1.0 (build 90)
FTD - 7.1.0
감사합니다!!!