1. 개요 및 기획 의도
단순히 탐지만 수행하는 IDS와 달리, IPS는 네트워크 패킷이 목적지에 도달하기 전 인라인(In-Line) 경로에서 위협을 직접 차단해야 합니다.
해당 프로젝트에서는 pfSense의 패키지 시스템을 통해 Snort를 채택하였으며, 다음과 같은 전략으로 구축하였습니다.
- 인라인 모드 (Inline Mode) 구성 : pfSense의 내부 라우팅 엔진과 연동하여, 탐지 시 즉시 패킷을 Drop 시키는 실시간 차단 메커니즘을 적용했습니다.
- 특정 대상 방어(WAS) : 모든 트래픽을 검사할 경우 발생하는 성능 저하(Latency)를 방지하기 위해, 외부 노출이 잦고 핵심
데이터를 처리하는 WAS서버 구간으로 선정했습니다. - 다계층 방어 : IDS는 전체 네트워크에 대한 가시성을 확보하고, IPS는 실제 운영 서비스의 보루 역할을 수행하여 탐지와 대응을 이원화 했습니다.
2. IPS 동작 메커니즘 (pfSense & Snort)
pfSense 내에서 Snort가 트래픽을 처리하는 방식은 다음과 같은 흐름을 가집니다.
- 패킷 유입 : WAN 또는 특정 LAN 인터페이스를 통해 패킷이 유입됩니다.
- 검사 : pfSense의 패킷 필터링 단계 이전에 Snort 엔진이 사전 정의된 Rule Set과 패킷을 대조합니다.
- 판단 및 액션 :
- Normal : 정상 트래픽으로 판단 시 라우팅 경로를 따라 WAS로 전달
- Alert & Drop : 공격 패턴 일치 시, 로그를 남김과 동시에 해당 패킷을 폐기(Drop)하여 WAS에 도달하지 못하게 차단
3. 환경 설정 및 인터페이스

위 사진을 보시면, WAS 인터페이스에 대해서만 실행중이며 Inline Mode로 작동 중이며, Flooding Test시 정상적으로 Drop 시키는 상태를 확인 할 수 있습니다.
4. 공격 시뮬레이션 및 차단 결과 확인
공격자가 WEB서버에 침투했다는 가정하에 해당 시나리오를 작성했습니다.
공격자는 WEB서버를 통해 WAS의 인증로직을 우회하기 위하여 플로딩 공격, NMAP Port Scanning, 비정상적인 POST 요청에 대한 공격 시나리오에 대한 결과 입니다.


위 사진과 같이, Flooding 공격과, NMAP 포트스캐닝을 차단하는 커스텀룰
drop tcp any any -> 10.50.1.10 any ( msg:"TCP SYN Flood Attempt Detected"; flow:stateless; flags:S; threshold:type both, track by_dst, count 5, seconds 1; sid:3000003; rev:1;)
drop tcp $EXTERNAL_NET any -> 10.50.1.10 any (msg:"SCAN nmap SYN Port Scan Detected"; flags:S; threshold:type both, track by_src, count 20, seconds 10; classtype:attempted-recon; sid:3000011; rev:1;)
을 통해 차단할 수 있었습니다.
5. 성과 및 배운점
- 정교한 탐지 : 일반적인 트래픽과 Scan/Flooding 패킷을 구분하는 threshold(임계치) 설정을 통해 오탐을 줄이고 공격 행위만 정확히 차단했습니다.
- 자원 보호 : WAS 서버의 자원을 고갈시키는 DoS성 공격을 네트워크 경계(pfSense)에서 사전 차단함으로써 서비스 안정성을 확보 했습니다.
- 정보 유출 방지 : NMAP 스캔을 차단하여 공격자가 내부 포트 활성화 정보를 수집 못하도록 봉쇄했습니다.
- 배운점 이라고한다면, 1차 프로젝트때에는 IPS를 무작정 모든 서버에 적용하려고 했었는데, 서비스의 성능 저하를 고려하여, IPS를 WAS에만 적용함으로서, 비즈니스 연속성을 보장하는 보안을 만들 수 있었습니다.
네트워크 차원의 굵직한 위협들은 이번 IPS 설정을 통해 실시간으로 차단하는데 성공했습니다.
이제 다음 단계는 WAF 파트가 되겠습니다. 웹 서비스 전용 '정밀 검사' 시스템 구축한 내용을 살펴 보실 수 있으실겁니다.
Nginx에 ModSecurity를 얹어서 웹 애플리케이션 계층까지 완벽하게 보호하는 WAF를 다음 파트에서 설명드리겠습니다.
'프로젝트 > 인프라보안 프로젝트' 카테고리의 다른 글
| [인프라보안 프로젝트6]SIEM 기반 보안 로그 수집·이벤트 분석 및 AI 연동 실시간 보안 알림 자동화 시스템 구축 (0) | 2026.01.14 |
|---|---|
| [인프라보안 프로젝트5] WAF(Nginx + ModSecurity)를 활용한 애플리케이션 계층(L7)보안 강화 (0) | 2026.01.13 |
| [인프라보안 프로젝트3] 방화벽(pfSense, OPNsense) 이중 구조를 통한 경계 보안 구성 (0) | 2026.01.13 |
| [인프라보안 프로젝트2] ESXi가상화 & 네트워크 분리 설계 (0) | 2026.01.13 |
| [인프라보안 프로젝트1] 티켓팅 사이트의 인프라 보안 구축 (0) | 2026.01.12 |