$ alert tcp any any -> dst_ip 21 (msg: "FTP root login"; content: "USER root"; nocase; sid:1000001;)
- ftp 접속 시 USER 명령을 통해 ID 전달
$ alert tcp src_ip 23 -> any any (msg: "Telnet root login"; content: "login"; pcre: "\root.*#\"; nocase; sid:1000001;)
- Telnet 접속 시 로그인 성공 메시지, shell로 평문 전달
- 정규 표현식 : root@로 시작, 임의의 문자가 0회 이상 나타난 후 #을 포함하는 문자열 검사
$ alert tcp src_ip 23 -> any any (msg: "Telnet Brute Force"; content: "Login incorrect"; nocase; threshold: type limit, track by_dst, count 5, seconds 1; sid:1000001;)
- Telnet 응답 메시지에서 로그인 실패 탐지
$ alert tcp src_ip 21 -> any any (msg: "FTP Brute Force"; content: "Login incorrect"; nocase; threshold: type threshold, track by_dst, count 5, seconds 1; sid:1000001;)
$ alert tcp any any -> dst_ip any (msg: "SSH Brute Force"; content: "SSH-2.0"; nocase; threshold: type both, track by_src, count 5, seconds 1; sid:1000001;)
- 로그인 요청 메시지에서 SSH-2.0 문자열 탐지
$ alert tcp any any -> dst_ip 80 (msg: "HTTP Flooding"; content: "GET /HTTP/1."; nocase; threshold, type threshold; track by_src, count 50, seconds 1; sid:1000001;)
- HTTP 요청 메시지에서 "GET / HTTP 1." 문자열 탐지
$ alert tcp any any -> dst_ip 80 (msg: "TCP SYN Flooding"; flags: S; threshold: type threshold, track by_src, count 5, seconds 1; sid:1000001;)
- HTTP 클라이언트의 TCP 요청 메시지에서 SYN Flag 탐지
$ alert udp any any -> dst_ip any -> (msg: "UDP Flooding"; threshold: type threshold, track by_src, count 5, seconds 1; sid:1000001;)
$ alert udp 10.0.0.0/8 any -> dst_ip any -> (msg: "abnormal packet"; sid:1000001;)
인터넷에 돌아다니는 패킷 중 사설 IP 주소를 가진 패킷 : 조작된 IP 주소
$ alert ip any any -> dst_ip any (msg: "LAND Attack"; sameip; sid:1000001;)
- LAND Attack에 사용되는 패킷 탐지