개요
- snort(스노트)는 네트워크 침입 차단/탐지 시스템
- 주요 기능 : 패킷 스니퍼, 패킷 로거(저장하고 로그남김), 네트워크 IDS/IPS
- snort rule(또는 signature)은 크게 header 부분과 body 부분으로 구성됨
- header 부분 : 처리방식, 프로토콜, IP, Port 등 처리할 패킷을 판단하는 기준 명시
- body 부분 : 패킷을 탐지하기 위한 규칙 명시
rule header 형식
Rule Action | 패킷이 탐지되었을때(룰에 매치되었을때) 처리방식으로 총 8가지 유형이 있음 |
Protocol | 탐지할 프로토콜로 4가지 지원 - TCP, UDP, ICMP, IP |
IP Address | 출발지/목적지 IP 1) IP리스트는 대괄호로 표시 - [192.168.1.1, 211.45.65.1] 2) 모든 IP는 any 3) !192.168.1.1은 해당 IP를 제외한 모든 IP를 의미 |
Port Number | 출발지/목적지 Port 1) 포트범위는 콜론으로 표시 1:1024 는 1~1024 :49151 는 49151 이하 1024: 는 1024 이상 |
Direction Operator | -> 는 단방향. 왼쪽이 출발지, 오른쪽이 목적지(<-는 없음) <> 는 양방향 |
Action 유형
alert | alert 발생시키고 패킷을 로그에 남김 |
log | 패킷을 로그에 남김 |
pass | 패킷을 무시(룰 잠시 비활성화 목적) |
drop | 패킷을 차단하고 로그 남김 대부분 drop으로 처리 (IPS에서 사용) |
reject | 패킷을 차단하고 로그를 남긴 후, TCP면 TCP Reset, UDP면 ICMP port unreachable 메시지 전송 (IPS에서 사용) |
설정 예
alert tcp any any -> 192.168.133.0/24 80 | tcp 프로토콜에 대해 출발지는 모든 IP와 port, 목적지는 192.168.133.0/24대역에 80포트인 패킷을 탐지하여 alert 발생시키고 로그남김 |
log tcp $EXTERNAL_NET any <> $HOME_NET 80 | tcp 프로토콜에 대해 외부 네트워크 IP, any 포트와 내부 네트워크 IP, 80 포트 사의 송수신 패킷을 탐지하고 로그 남김 1) $EXTERNAL_NET : 스노트 설정파일(snort.conf)에 정의되어 있는 환경변수로 외부 네트워크 의미. 기본적으로 any로 설정되어 있음 2) $HOME_NET : 스노트 설정파일(snort.conf)에 정의되어 있는 환경변수로 내부 네트워크를 의미. 환경변수에 적절한 내부대역을 설정함 |
※ 연관지식 : remybaek.tistory.com/112
※ 참고 : 알기사 정보보안기사 실기 교재
'정보보안기사&CISSP관련 > 보안장비 운영' 카테고리의 다른 글
[Day 107] iptables (1) (0) | 2020.11.25 |
---|---|
[Day 106] snort rule(5) - Flooding 계열 공격 탐지 (0) | 2020.11.24 |
[Day 105] snort rule(4) - 비정상 패킷 탐지 (0) | 2020.11.23 |
[Day 104] snort rule(3) - 공격 탐지 (0) | 2020.11.22 |
[Day 103] snort rule(2) - body 설정 (0) | 2020.11.21 |