📚 네트워크 · 패킷 분석 › 04. 네트워크 장비 실습 — 156편
이전 글: 155. Firewall이란 무엇인가 · 다음 글: 157. IPS란 무엇인가
IDS(Intrusion Detection System, 침입 탐지 시스템) 는 트래픽이나 호스트 활동을 관찰해 공격 징후를 탐지하고 알리는(Alert) 장비입니다. 핵심은 "탐지만 하고 직접 막지는 않는다" 는 점이며, 그래서 네트워크 IDS는 트래픽 경로 밖에서 복사본을 받아 분석합니다.
이 글은 IDS를 장비와 배치 위치 수준에서 다룹니다. 탐지 방식(Signature·Anomaly), 규칙 문법, Alert 분석, NIDS와 HIDS의 차이는 06 영역 275. IDS란 무엇인가와 278. Network-based IDS부터 다룹니다.
| 구성 요소 | 역할 |
|---|---|
| 센서(Sensor) | 트래픽 복사본을 받아 분석하고 이벤트를 생성 |
| 모니터링 인터페이스 | 복사 트래픽 수신 전용, 보통 IP를 두지 않음 |
| 관리 인터페이스 | 규칙 업데이트·로그 전송용, 관리망에 연결 |
| 관리 서버·SIEM | 여러 센서의 이벤트를 모아 조회·상관 분석 |
대표적인 오픈소스 네트워크 IDS 엔진으로 Snort와 Suricata가 있으며, 장비 관점의 소개는 193. Snort·194. Suricata에서 다룹니다.
네트워크 IDS가 트래픽을 받는 방법은 크게 두 가지입니다.
[클라이언트] ⇄ [스위치] ⇄ [서버]
│ SPAN(미러) 포트: 선택한 포트/VLAN 트래픽 복사
↓
[IDS 센서 모니터링 NIC] → 분석 → Alert
↓ (관리 NIC)
[관리 서버 / SIEM]
[방화벽] ──[TAP]── [코어 스위치]
│ 회선 신호를 물리적으로 복사
↓
[IDS 센서 모니터링 NIC]
| 방식 | 동작 | 장점 | 한계 |
|---|---|---|---|
| SPAN(포트 미러링) | 스위치가 지정 포트·VLAN의 프레임을 복사 | 추가 장비 없이 설정으로 구성 | 스위치 부하가 크면 복사 누락 가능, 오류 프레임은 보통 복사 안 됨 |
| 네트워크 TAP | 회선 중간에 끼워 신호를 복사하는 전용 장비 | 누락이 적고 스위치 설정과 무관 | 설치 시 회선 작업 필요, 장비 비용 |
IDS는 경로 밖에 있으므로 센서가 멈춰도 통신은 계속됩니다. 대신 그 시간 동안은 탐지 공백이 생깁니다.
센서를 어디에 두느냐에 따라 보이는 트래픽이 달라집니다.
| 센서 위치 | 보이는 트래픽 | 참고 |
|---|---|---|
| 경계 방화벽 바깥 | 인터넷에서 오는 모든 시도(차단될 것 포함) | Alert 양이 매우 많음, 위협 동향 파악용 |
| 경계 방화벽 안쪽 | 방화벽을 통과한 트래픽 | 실제 내부에 도달한 공격 확인에 유리 |
| DMZ | 공개 서버로 향하는 트래픽 | 웹·메일 서버 공격 탐지 |
| 내부 코어·서버망 | 내부 호스트 간 트래픽 | 내부 확산·정찰 탐지 |
관제자가 IDS에서 받는 데이터는 Alert만이 아닙니다.
| 데이터 | 내용 | 활용 |
|---|---|---|
| Alert | 규칙에 매칭된 이벤트 | 1차 탐지 (분석은 06 영역) |
| 프로토콜 메타데이터 | 엔진에 따라 DNS 질의, HTTP 요청, TLS 정보, Flow 기록 등 | Alert 전후 맥락 확인 |
| 센서 상태 | 수신 패킷 수, 드롭 수, 프로세스 재시작 | 탐지 공백·누락 여부 판단 |
실습 예시 — Linux bridge 스위치(152편 구성)에서 한 포트의 트래픽을 센서 VM 쪽 포트로 복사하는 흐름입니다. tc의 mirred 동작으로 SPAN과 비슷한 효과를 냅니다(Rocky/Ubuntu 공통, iproute2 필요). 인터페이스 이름과 IP는 예시(값은 환경마다 다름)입니다.
# 스위치 역할 VM: ens37(서버 쪽 포트)의 송수신 트래픽을 ens39(센서 쪽)로 복사
sudo tc qdisc add dev ens37 clsact
sudo tc filter add dev ens37 ingress matchall action mirred egress mirror dev ens39
sudo tc filter add dev ens37 egress matchall action mirred egress mirror dev ens39
# 설정 확인 / 실습 후 제거
tc filter show dev ens37 ingress
sudo tc qdisc del dev ens37 clsact
# 센서 VM: 모니터링 NIC는 IP 없이 무차별 모드로 올리고 복사본이 들어오는지 확인
sudo ip link set ens33 up promisc on
sudo tcpdump -ni ens33 -c 10 host 192.168.10.21
VMware 가상 스위치에서 다른 VM의 트래픽을 받으려면 가상 NIC의 무차별 모드 허용이 필요할 수 있습니다(호스트 OS·제품에 따라 다르며, vSphere는 포트 그룹 보안 설정의 Promiscuous mode). GNS3에서는 링크에 캡처를 걸거나 스위치 이미지의 SPAN 설정을 사용할 수 있습니다.
📷 [실습 화면 삽입 위치] 센서 VM의 모니터링 NIC에서, 자신이 통신 당사자가 아닌 192.168.10.11 ↔ 192.168.10.21 트래픽이 보이는 tcpdump 화면
Suricata를 센서로 올린 경우 stats.log의 capture.kernel_packets, capture.kernel_drops 값으로 수신량과 드롭 여부를 확인할 수 있습니다(설치·규칙 설정은 194편과 06 영역에서 다룸).
관제자가 확인할 질문
IDS Alert (센서: 방화벽 바깥)
↓ 방화벽 로그 확인
차단됨 → 내부 도달 없음 → 낮은 우선순위
허용됨 → 서버 로그·호스트 흔적 확인 → 우선 분석
오탐 주의: 방화벽 바깥 센서의 Alert는 대부분 차단될 트래픽이므로, 개수만으로 위험도를 판단하지 않습니다. Alert와 방화벽 로그 연계는 296. Alert와 Firewall Log 연계에서 다룹니다.