Snort IDS 기본 구조 :: 룰셋의 배치 방식, 구조와 예시

2025. 9. 16. 21:53·Defensive

IDS/IPS: 침해 탐지와 차단의 기능을 하는 보안 솔루션

오늘은 대표적인 IDS/IPS인 snort에 대해 알아보자

 

IDS/IPS는 네트워크 인프라 상 배치를 할 때 인라인 모드/미러링 모드로 나뉨

  • 인라인 모드는 네트워크 트래픽의 경로에 직접적으로 위치하는 반면,
  • 미러링 모드에서는 원본 트래픽의 복사본을 받아 분석하는 차이가 있다
기술적 특징 인라인 모드 미러링 모드
트래픽 흐름 패킷이 직접 통과 트래픽의 복사본을 분석
구현 방식 네트워크 브리지 모드 SPAN 포트, TAP 활용
지연 영향 패킷 검사 시간만큼 네트워크 지연됨 실제 트래픽에 지연영향 X
패킷 처리 drop, reject등으로 직접적 차단 가능 alert, log 등 수동적 액션
하드웨어 요구사항 고성능 트래픽 처리를 위한 고수준의 리소스 비교적 낮은 수준의 리소스 필요
인터페이스 구성 최소 2개의 네트워크 인터페이스 단일 모니터링 인터페이

 

 

snort 룰 개요

 

사용자가 지정한 룰을 기반으로 패킷을 탐지하는데 

룰은 RTN(Rule Tree Node), OTN(Option Node Tree)로 구성되어있음

 

  • RTN: 룰의 헤더 부분에 해당하고 패킷이 매칭할 시 처리 방법, 프로토콜, 포트 정보, IP 주 등을 정의
  • OTN: 옵션이기 때문에 없어도 무관함, 패킷 내의 페이로드를 더욱 구체적으로 검사하기 위한 조건 정의

RTN

Action alert, log, reject 등 룰 매칭 시 처리 동작 정의
Protocol tcp, udp, ip 등 프로토콜 지정
Source/Destination IP 트래픽의 출발/도착 IP 주소
Source/Destination port 트래픽의 출발/도착 포트(범위)
Direction 단방향, 양방향

 

OTN

General Options msg, reference, classtype 등 룰 식별 분류
Payload Options content, byte_test 패킷의 페이로드 내용을 검사
Non-Payloads Options ttl, tos, id 등 패킷 헤더 정보 검사
Post-Detction Options logto, react, tag 등 룰이 일치한 후 추가 동작 정의
Modifier Options distance, within, offset 등 다른 옵션의 동작을 변경하거나 제한

 

 

Snort 룰셋 예시 1
alert tcp 192.168.57.0/24 any -> 192.168.56.0/24 80 (msg:"HTTP Test"; sid:1000002;)

192.168.57.0/24 대역에서 출발해서

192.168.56.0/24 대역에 있는 시스템 중 목적지가 80번 포트면 alert 액션을 취한다는 의미

매칭되면 로그에 HTTP Test 라는 메시지를 남긴다

 

Snort 룰셋 예시 2
alert tcp any any -> any any (msg:"DDOS Attack Detection"; threshold:type both,
track by_src, count 30, seconds 10, sid:1000003;)

네트워크 트래픽이 출처와 방향과 무관하게

동일한 출처에서 10초 이내에 30개 이상의 패킷이 통과할 경우 매칭됨

패킷 내용보다 양을 기준으로 탐지하는 룰

 

Snort 룰셋 예시 3
alert tcp any any -> any any (msg:"SIGNATURE";file_data;content:"SIGNAL";
depth:24;sid:1000001;)

alert tcp any any -> any any (msg:"SIGNATURE";file_data;content:"SIG";
depth:24;sid:1000002;)

네트워크 트래픽이 출처, 방향과 무관하게 

송수신되는 파일의 컨텐츠 시작부터 24바이트 내에 SIGNAL, SIG 패턴이 존재하면 매칭

 

→ 매칭 결과 남겨진 alert 로그에는 "SIGNTURE"러는 메시지가 포함

sid는 고유한 식별자여서 서로 겹치면 X

'Defensive' 카테고리의 다른 글

Snort :: Content 옵션의 개념과 HTTP 페이로드 탐지 이론  (1) 2025.09.30
Snort :: 신뢰하지 않는 출처의 관리자 페이지 접근 탐지  (0) 2025.09.17
[엔드포인트보안] Wazuh 로그 분석 실습  (1) 2025.08.20
[엔드포인트보안] 리눅스 로그  (7) 2025.08.18
[엔드포인트보안] Wazuh 아키텍처와 역할  (2) 2025.08.12
'Defensive' 카테고리의 다른 글
  • Snort :: Content 옵션의 개념과 HTTP 페이로드 탐지 이론
  • Snort :: 신뢰하지 않는 출처의 관리자 페이지 접근 탐지
  • [엔드포인트보안] Wazuh 로그 분석 실습
  • [엔드포인트보안] 리눅스 로그
이둥둥
이둥둥
"><script>prompt(document.cookie)</script>
  • 이둥둥
    시골쥐 해커
    이둥둥
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 방통대
      • 리버싱
      • 웹해킹
      • 악성코드 분석
      • Defensive
      • 네트워크
      • 포렌식
      • Writeup
      • 사이버보안
      • 정보처리기사
      • Troubleshooting
      • 취준
  • 블로그 메뉴

    • 홈
    • 사이버보안
    • 방통대
    • 독후감
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    사이버보안
    hackthebox
    tryhackme
    독후감
    리버싱
    악성코드분석
    CTF
    burpsuite
    정보보안
    웹해킹
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
이둥둥
Snort IDS 기본 구조 :: 룰셋의 배치 방식, 구조와 예시
상단으로

티스토리툴바