📘 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;

기존 이벤트 데이터 삭제 후 새로운 데이터 저장
웹 브라우저 새로고침 시 날짜가 오늘 날짜로 변경됨

Snort DB 초기화
🎯 미션

현재 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 파일 포함

snort.conf 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;)
SSH brute-force 탐지
✅ 실습 결과

사용자 정의 Snort 규칙을 통해 Ping, SSH, FTP, HTTP, Mail 트래픽 및 SSH Brute-Force 공격을 성공적으로 탐지하였다.