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 |