룰 헤더 부분과 룰 옵션으로 구성됨
| Action | Protocol | Src IP | Src PORT | Direction | Dst IP | Dst PORT | (Rule option) |
|---|---|---|---|---|---|---|---|
| 탐지 후 행동들 | 탐지 프로토콜 | 출발 IP | 출발 PORT | 탐지방향지정 | 목적 IP | 목적 포트 |
Actionalert : 경고를 발생시킨다.log : 로그를 기록한다.pass : 패킷을 무시한다.active : alert를 발생시키고 대응하는 dynamic을 유효화 한다.dynamic : active 에 의해 유효화된 경우 한쪽의 패킷을 기록한다.drop : 패킷을 차단하고 기록한다.ProtocolTCP : TCP 탐지UDP : UDP 탐지ICMP : ICMP 탐지IP : IP 탐지Src IP & PORTany : 모든 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 : 패킷의 발생량을 기반으로 탐지한다.