📘 Day 7 - Snort IDS 고급 규칙 & SSH 탐지
🌐 네트워크 환경
- Kali: 210.93.6.11/24 (Broadcast: 210.93.6.255)
- Server: 210.93.6.13/24 (Broadcast: 210.93.6.255)
※ R1 설정 이후 실습 진행
📡 기본 동작 확인
Kali에서 Ping을 중지하면 Snort IDS 로그 및 Alert 생성도 함께 중지됨
🛡️ IDS 데이터베이스 초기화
cmd
mysql -u root -p
Password: apmsetup
show databases;
use snort;
truncate table event;
기존 이벤트 데이터 삭제 후 새로운 데이터 저장
웹 브라우저 새로고침 시 날짜가 오늘 날짜로 변경됨
🎯 미션
현재 Ping(ICMP)만 탐지 중임.
Kali에서 SSH 접속 시 IDS에서도 탐지되도록 설정한다.
kali$ ssh -l master 210.93.6.12
📜 Snort 규칙 예시
drop ip $EXTERNAL_NET any <> $HOME_NET $HTTP_PORT
(msg:"정책기본규칙"; classtype:Content)
alert tcp any any -> any 80
(content:"/etc/passwd";
msg:"Possible passwd file attack";
sid:1000001;)
🧩 사용자 정의 규칙 추가
C:\Snort\rules 경로에 user.rules와 같은 방식으로
새로운 rules 파일 생성 후 규칙 추가
SSH:
alert tcp any any <> any any
(msg:"SSH Connection Test"; sid:50002;)
➕ 추가 프로토콜 탐지 규칙
FTP:
alert ip any any <> any any
(msg:"FTP Connection Attempt"; sid:50003;)
HTTP:
alert tcp any any -> any 80
(msg:"HTTP Traffic Detected"; sid:50004;)
MAIL:
alert tcp any any -> any [25,465,587,110,995,143,993]
(msg:"Email Traffic Detected"; sid:50005;)
⚙️ Snort 설정 파일 반영
C:\Snort\etc\snort.conf
607줄 이후에 새로 추가한 rule 파일 포함
🚨 SSH Brute-Force 탐지 규칙
SSH 접근을 3회 이상 실패할 경우 탐지하도록 설정
alert tcp any any -> $HOME_NET 22
(msg:"SSH brute-force detected (3 tries)";
detection_filter:track by_src, count 3, seconds 60;
sid:50002; rev:3;)
✅ 실습 결과
사용자 정의 Snort 규칙을 통해
Ping, SSH, FTP, HTTP, Mail 트래픽 및 SSH Brute-Force 공격을
성공적으로 탐지하였다.