정보보안(산업)기사

14일차 : Snort 룰(Rule) 마스터링

mamdragors 2026. 2. 25. 11:13

2주차의 마지막 날인 **14일차는 'Snort 룰(Rule) 마스터링'**의 날입니다.

그동안 배운 이론들을 바탕으로, 실제 시험지(A4 용지 등)에 볼펜으로 직접 룰을 써보는 연습이 필수입니다. 눈으로만 보면 content나 msg 뒤의 콜론(:)이나 세미콜론(;) 하나 때문에 감점당하기 쉽거든요.

오늘 직접 손으로 써봐야 할 필수 시나리오 5가지를 정리해 드립니다.


1. 웹 공격 탐지 (가장 빈출)

  • 시나리오: 외부(any)에서 내부 웹 서버(192.168.1.10)의 80번 포트로 SQL Injection의 대표 키워드인 ' OR '1'='1'을 포함한 패킷이 들어올 때 경고(alert)를 발생시켜라.
  • 작성 연습: alert tcp any any -> 192.168.1.10 80 (msg:"SQL Injection Attempt"; content:"' OR '1'='1'"; nocase; sid:1000001; rev:1;)
  • 포인트: nocase 옵션을 넣어 대소문자 구분 없이 탐지하도록 설정하는 것이 실무적입니다.

2. 비정상 패킷 탐지 (Flag 기반)

  • 시나리오: TCP 플래그 중 SYN과 FIN이 동시에 설정된 비정상적인 패킷을 탐지하라. (Xmas 스캔 등)
  • 작성 연습: alert tcp any any -> any any (msg:"SYN-FIN Scan Detected"; flags:SF; sid:1000002;)
  • 포인트: flags 뒤에 탐지할 플래그 약자를 적습니다. (S=SYN, F=FIN, A=ACK, R=RST, P=PSH, U=URG)

3. Brute Force(무차별 대입) 탐지 (횟수 기반)

  • 시나리오: SSH(22번 포트)로 접속 시도 시 비밀번호 오류 메시지("Permission denied")가 10초 동안 5번 이상 발생하면 경고를 띄워라.
  • 작성 연습: alert tcp any 22 -> any any (msg:"SSH Brute Force Attempt"; content:"Permission denied"; threshold:type both, track by_dst, count 5, seconds 10; sid:1000003;)
  • 포인트: threshold 옵션은 특정 시간 내 횟수를 제한하여 과도한 로그 발생을 막고 공격을 식별하는 데 씁니다.

4. ICMP 핑 탐지 (Payload 크기 기반)

  • 시나리오: ICMP 패킷 중 데이터 크기(Payload)가 1000바이트 이상인 비정상적인 핑(Ping of Death 등)을 탐지하라.
  • 작성 연습: alert icmp any any -> any any (msg:"Large ICMP Packet"; dsize:>1000; sid:1000004;)
  • 포인트: dsize 옵션으로 패킷의 데이터 크기를 제한할 수 있습니다.

5. FTP 관리자 로그인 탐지

  • 시나리오: FTP(21번 포트)로 접속 시 사용자 아이디가 root인 경우를 탐지하라.
  • 작성 연습: alert tcp any any -> any 21 (msg:"FTP Root Login Attempt"; content:"USER root"; sid:1000005;)

🔍 룰 작성 시 3대 주의사항 (실기 감점 방지)

  1. 세미콜론(;) 필수: 옵션(msg, content, sid 등)이 끝날 때마다 반드시 세미콜론을 붙여야 합니다.
  2. 쌍따옴표(") 사용: 문자열 값은 반드시 쌍따옴표로 감싸야 합니다.
  3. SID 중복 금지: 시험에서 여러 개를 작성할 때 sid 번호를 각각 다르게 부여하세요.

✍️ 오늘의 실전 훈련: 연습장에 다음 룰을 직접 써보세요.

문제: 외부에서 내부 서버(10.10.10.1)의 80번 포트로 "/etc/passwd"라는 문자열을 포함한 TCP 패킷을 보낼 때, "Etc Passwd Access"라는 메시지와 함께 경고를 발생시키는 Snort 룰을 작성하시오. (SID는 2000001)

2주차 동안 고생 많으셨습니다! 시스템부터 네트워크, 침입 탐지까지 보안기사의 가장 험난한 고개를 넘으셨습니다.