룰 헤더
부분과 룰 옵션
으로 구성됨
Action | Protocol | Src IP | Src PORT | Direction | Dst IP | Dst PORT | (Rule option) |
---|---|---|---|---|---|---|---|
탐지 후 행동들 | 탐지 프로토콜 | 출발 IP | 출발 PORT | 탐지방향지정 | 목적 IP | 목적 포트 |
Action
alert
: 경고를 발생시킨다.log
: 로그를 기록한다.pass
: 패킷을 무시한다.active
: alert를 발생시키고 대응하는 dynamic
을 유효화 한다.dynamic
: active
에 의해 유효화된 경우 한쪽의 패킷을 기록한다.drop
: 패킷을 차단하고 기록한다.Protocol
TCP
: TCP 탐지UDP
: UDP 탐지ICMP
: ICMP 탐지IP
: IP 탐지Src IP & PORT
any
: 모든 IP & 포트port
: 특정 port 번호port:port
: port 번호 ~ port 번호:port
: port 번호 이하 모든 portport:
: port 번호 이상 모든 port예시
192.168.0.1 80 192.168.0.0/24 443 any 80 192.168.0.1 any any any $HOME_NET
과 같이 snort.conf
에서 지정된 변수 참조 가능**Direction
**->
: 출발지 → 목적지 패킷 탐지<>
: 출발지 ↔ 목적지 사이 모든 패킷 탐지패킷 탐지 사용자 설정
세미콜론(;)
을 이용하여 옵션과 옵션을 구분
일반 옵션 설정
msg
: alert 발생 시 이벤트 명sid
: snort 룰 ID 99이하 : 시스템 예약 ID 100 ~ 1000000 이하 : snort 자체지정 id 1000001 이상 : 사용자 정의 sidrev
: 룰 수정횟수 수정 시 숫자 증가페이로드 범위 설정
dsize
: dsize:<바이트, dsize:바이트<>바이트 와 같이 상한선, 하한선, 범위 지정 가능content
****: 문자, 바이너리로 패턴 탐지 content: "문자" content: | 00 01 0A AA | content: "| 90 90 90 | /bin/sh"offset
: 검색을 시작할 byte수를 지정depth
: offset부터 시작하여 검색할 byte수를 지정nocase
: 대소문 자를 구별하지 않음flags
: TCP 제어 플래그를 지정한다. F, S, FA, FSA 등으로 지정 가능pcre
: 정규식 사용threshold
: 패킷의 발생량을 기반으로 탐지한다.