과정 2 — ISMS-P 기반 네트워크 보안 실무P3

방화벽·IPS·Snort

페이지
3 / 6
강의 시간
90분

방화벽·IPS의 오탐이 운영을 잠식하는가

이 모듈은 방화벽 정책의 위험 6유형과 IPS 운영의 오탐·미탐 관리를 다룹니다. P2에서 본 계층별 솔루션 중 방화벽과 IPS가 운영 부채의 큰 몫을 차지합니다 — 방화벽은 정책이 자라면서 위험 정책이 누적되고, IPS는 오탐이 운영자를 무력화합니다. P3는 ①정책 위험 6유형 + 위험 3개 찾기 시연 ②IPS 탐지방식 4종과 오탐 관리 ③Snort 룰 구조와 시연 4단계를 차례로 보고, 관통축 #6(방화벽)과 #12(IPS 모니터모드 장기운영)을 닫습니다.

§2-4. 방화벽 심화

방화벽 정책은 다음 구성요소를 가집니다: Source · Destination · Service · Action(permit/deny) · 로깅 · 유효기간 · 신청자/사유. Stateful Inspection은 세션테이블로 반환 트래픽을 자동 허용하고, NAT는 SNAT(내부→공인 변환)과 DNAT(공인→내부 서버 포워딩)을 수행합니다.

위험 정책 6유형

방화벽 위험 정책 6유형 — 결함 #6의 정체
유형판정운영 영향
① Any–Anysrc=Any ∧ dst=Any전체 ↔ 전체 허용/차단 — 권한 남용의 끝판왕
② 광범위 대역CIDR prefix ≤ /8 또는 service=Any의도와 다른 호스트까지 포함
③ 유효기간 없음expiryStatus=none회수 시점이 불명 — 영구 정책화
④ 장기 미사용hitCount=0필요 없는 정책이 자리를 차지
⑤ Shadow상위 정책에 가려 미동작추가했으나 효과 없음 — false sense of security
⑥ 중복동일 (src, dst, service, action) 다른 행변경 시 누락 위험

정책 수명주기

정책 수명주기 5단계 — ⑤ 회수/만료가 다시 ① 신청으로 닫힌다
정책 수명주기 5단계 — 닫힌 고리정책 수명주기 5단계의 닫힌 고리. ① 신청 → ② 승인 → ③ 등록 → ④ 주기 검토 → ⑤ 회수/만료 → (① 신청으로 다시 돌아간다). 회수/만료 단계가 비어 있으면 임시 정책이 영구 결함으로 굳는다 — 닫힌 고리가 그 핵심을 보여준다.신청승인등록주기 검토회수/만료
정책 수명주기 5단계 — 신청부터 회수까지
단계산출물
① 신청신청자·사유·필요 기간
② 승인보안팀 검토 + 위험 6유형 사전 점검
③ 등록정책 번호 · 만료일 · 신청자 매핑
④ 주기 검토hit count 확인 · 미사용 정책 회수 후보
⑤ 회수/만료기간 만료 시 자동 비활성 · 사유 미충족 시 폐기

시연 — 가상 정책 20행에서 위험 찾기

아래 위젯은 가상 정책 20행을 보여줍니다. 사용자는 “위험하다고 생각하는 행”을 토글하고 「판정 보기」를 누르면 실제 위험 플래그(Any-Any/광범위/유효기간 없음/장기 미사용/Shadow/중복)와 사유가 reveal됩니다. Doc 시연 “위험 3개 찾기”의 답이 위젯 안에 있습니다.

§2-5. IPS 이해

IDS vs IPS — 트래픽 경로 안/밖의 차이
IDS와 IPS의 트래픽 배치 대비IDS는 트래픽 경로 밖에서 미러링 사본으로 탐지만 수행하고, IPS는 경로 안에서 인라인으로 차단까지 수행합니다. 모니터모드(미러링)로 장기를 운영하는 IPS는 결함 #12의 정체입니다.IDS— 경로 밖, 탐지만출발도착IDS탐지만결함 #12 · 모니터모드 장기운영IPS— 경로 안, 차단까지출발IPS차단까지도착

모니터모드(미러링)로 장기 운영하는 IPS는 결함 #12의 정체입니다 — “차단”이 없는 IPS는 탐지 결과를 운영자가 수동으로 반영해야 하므로, 오탐이 운영자의 신경을 무디게 하고 결국 룰을 꺼버립니다.

탐지방식 4종

IPS 탐지방식 4종
방식원리강점약점
① 시그니처패턴 매칭 (Snort 룰, YARA)정확·저오탐신규·변형 미탐
② 프로토콜 이상RFC 위반·비정상 상태제로데이 일부 커버정상 트래픽 오탐 가능
③ 임계치횟수·볼륨 기준브루트포스·DDoS저빈도 공격 미탐
④ 평판출발지 IP/도메인 평판 DBC2·신규 위협 빠르게내부 공격자 무력

오탐·미탐 관리 = IPS 운영의 전부

오탐·미탐 대응 3가지
대응의미근거 기록
① suppress특정 출처/대상 트래픽 룰 무시필수 (누가, 왜, 언제)
② 임계 조정detection_filter 카운트/시간 변경필수 (튜닝 노트)
③ 룰 비활성룰 자체를 disable★결함 #12 — 근거 기록 없이 비활성 금지

튜닝 프로세스

① 도입(모니터모드) → ② 오탐 정리 → ③ 고신뢰룰부터 차단 전환 → ④ 재검토.

모니터모드 장기운영이 결함인 이유: 모니터모드는 “차단”이 없으므로 운영자가 alert를 수동으로 반영해야 합니다. alert가 한 달에 수천 건이면 운영자는 “또 오탐”으로 판단하고 alert 자체를 무시하기 시작합니다. 룰을 disable하는 것은 그 다음 단계이며, 근거 기록 없이 disable하면 IPS의 가치가 0이 됩니다(결함 #12).

§2-6. Snort 원리·룰 구조

Snort는 패킷수집 → 디코더 → 전처리기 → 탐지엔진 → 출력의 파이프라인입니다. 전처기는 TCP 재조합·IP 조각 재조합·HTTP 정규화를 수행합니다. 은 Header와 Options 두 부분으로 구성됩니다.

alert tcp $EXTERNAL_NET any -> $HOME_NET 80 ( msg:"..."; flow:to_server,established;
       content:"/admin.php"; http_uri; nocase; sid:1000001; rev:1; classtype:web-application-attack; )
└──────── Rule Header ────────┘ └──────── Rule Options ────────┘

시연 4단계 룰 (Doc 정본)

시연 4단계 룰 — Snort 룰 문법 사례
단계핵심 옵션
① 단순룰alert icmp any any -> $HOME_NET any (msg:“ICMP Detected”; sid:1000001; rev:1;)protocol·action·sid 최소
② contentalert tcp $EXTERNAL_NET any -> $HOME_NET $HTTP_PORTS (msg:“SQLi Attempt”; flow:to_server,established; content:“union”; http_uri; nocase; content:“select”; http_uri; nocase; sid:1000002; rev:1;)content·http_uri·nocase·flow·AND
③ 임계치② + detection_filter:track by_src, count 5, seconds 60;브루트포스 (1건이 아니라 패턴)
④ 오탐 튜닝②가 정상 트래픽에 걸리는 pcap 재생 → content 정밀화 + 버퍼 한정★결함 #12 직결

Snort 룰 해부

아래 위젯의 룰 해부 섹션은 s2(SQLi) 룰의 Header·Options 각 토큰을 클릭 가능한 span으로 보여주고, 각 토큰의 의미를 reveal합니다.

§2-7. Snort 시연

위 위젯의 시연 4단계 섹션은 ①②③④ + ④ 튜닝 후(before/after)를 스테퍼로 보여줍니다.

관통축 닫기 — 결함 #6과 #12

P3가 닫는 결함 2건 — W3·W4·§2-4·§2-5 매핑
결함닫는 위치
#6 (2.10.1 보안시스템 운영 / 2.6.1 네트워크 접근)방화벽 Any-Any · 유효기간 없음 · 위험 정책 누적W3 · §2-4 위험 6유형 + 정책 수명주기
#12 (2.10.1)IPS 모니터모드 장기운영 · 비활성 근거 부재W4-④ · §2-5 오탐 관리 + 비활성 근거 기록

매핑표 발췌 (P6 링크)

인증기준 ↔ 점검항목 — P3 발췌 (전체 매핑표는 P6)
인증기준점검항목 (P3 발췌)
2.10.1 (보안시스템 운영) / 2.6.1 (네트워크 접근)방화벽 정책 위험 6유형 — Any-Any·광범위·유효기간 없음·장기 미사용·Shadow·중복
2.10.1 (보안시스템 운영)IPS 탐지방식 4종 · 오탐 관리 · 모니터모드 장기운영 금지 · 비활성 근거 기록
매핑표 P6 안내
참조설명
P6 매핑표전체 인증기준 ↔ 점검항목 매핑 — 전체 매핑표 보기