Nginx Proxy GuardNginx Proxy Guard

웹 애플리케이션 방화벽 (WAF)

ModSecurity와 OWASP CRS를 기반으로 강력한 웹 보호 기능을 제공합니다.

개요

Nginx Proxy Guard는 업계 표준의 ModSecurity v3 엔진과 OWASP Core Rule Set(CRS) v4.21을 통합하여 SQL 인젝션, XSS, 경로 탐색, 명령어 인젝션 등 다양한 웹 공격으로부터 애플리케이션을 보호합니다.

핵심 기능

ModSecurity v3.0.14

  • 최신 버전의 오픈소스 WAF 엔진
  • 높은 성능과 안정성
  • Nginx와 완벽한 통합

OWASP CRS v4.21.0

  • 최신 Core Rule Set 적용
  • OWASP Top 10 취약점 방어
  • 정기적인 규칙 업데이트

동작 모드

모드설명사용 시기
탐지 (Detection)공격을 로그에 기록만 함초기 설정, 오탐 분석 시
차단 (Blocking)공격 탐지 시 즉시 차단프로덕션 환경

호스트별로 독립적으로 모드를 설정할 수 있어, 새로운 서비스는 탐지 모드로 시작하고 안정화 후 차단 모드로 전환하는 것을 권장합니다.

Paranoia Level (1-4)

보안 강도를 4단계로 조절할 수 있습니다.

레벨설명오탐 가능성
PL1기본 보호낮음
PL2향상된 보호중간
PL3강화된 보호높음
PL4최대 보호매우 높음

일반적으로 PL1 또는 PL2로 시작하여 환경에 맞게 조정하는 것을 권장합니다.

WAF 규칙 관리

호스트별 예외 처리

특정 호스트에서 오탐을 발생시키는 규칙을 개별적으로 비활성화할 수 있습니다.

  • 규칙 ID별 비활성화
  • 변경 이력 추적
  • 즉시 적용 (Nginx 재시작 불필요)

전역 예외 처리

모든 호스트에 공통적으로 적용되는 규칙 예외를 설정합니다.

  • 전역 규칙 비활성화/활성화
  • 전역 예외 목록 관리
  • 정책 변경 이력 조회

정책 버전 관리

WAF 정책의 모든 변경 사항이 이력으로 기록됩니다.

  • 호스트별 정책 변경 이력
  • 전역 정책 변경 이력
  • 변경 시점, 변경자, 변경 내용 추적

WAF 테스트 인터페이스

프로덕션 적용 전 WAF 규칙을 테스트할 수 있는 인터페이스를 제공합니다.

기능

  • 단일 패턴 테스트: 특정 공격 패턴이 탐지되는지 확인
  • 전체 패턴 테스트: 모든 테스트 패턴에 대해 일괄 테스트
  • 결과 분석: 어떤 규칙이 트리거되었는지 확인

테스트 패턴 예시

공격 유형테스트 패턴 예시
SQL Injection' OR '1'='1
XSS<script>alert('xss')</script>
Path Traversal../../../etc/passwd
Command Injection; cat /etc/passwd

자동 IP 차단

WAF 이벤트 기반 자동 차단 기능을 제공합니다.

설정 옵션

옵션설명기본값
임계값차단 트리거 이벤트 수10
시간 창이벤트 집계 기간 (초)300
차단 기간IP 차단 유지 시간 (초)3600

동작 방식

  1. WAF가 공격 패턴을 탐지
  2. 설정된 시간 창 내에서 이벤트 수 집계
  3. 임계값 초과 시 자동으로 IP 차단
  4. 차단 기간 만료 후 자동 해제

WAF 로그 분석

로그 정보

  • 탐지된 규칙 ID 및 설명
  • 공격 유형 분류
  • 요청 세부 정보 (URI, 메서드, 헤더)
  • 클라이언트 IP 및 GeoIP 정보

필터링 옵션

  • 호스트별 필터링
  • 규칙 ID별 필터링
  • 시간 범위 지정
  • 공격 유형별 분류

모범 사례

초기 설정

  1. 탐지 모드로 시작: 먼저 탐지 모드로 트래픽을 모니터링
  2. 오탐 분석: 정상 트래픽이 차단되는 패턴 확인
  3. 규칙 예외 추가: 필요한 규칙만 예외 처리
  4. 차단 모드 전환: 안정화 후 차단 모드로 전환

Paranoia Level 조정

  1. PL1에서 시작하여 보안 요구사항에 따라 점진적으로 상향
  2. PL3 이상은 오탐 가능성이 높으므로 충분한 테스트 필요
  3. 특정 애플리케이션 요구사항에 맞게 조정

규칙 예외 관리

  • 전역 예외는 최소화
  • 호스트별 예외로 세분화된 관리
  • 예외 추가 시 문서화 및 사유 기록
  • 정기적인 예외 목록 검토

방어 가능한 공격 유형

카테고리공격 유형
인젝션SQL Injection, NoSQL Injection, LDAP Injection, XPath Injection
XSSReflected XSS, Stored XSS, DOM-based XSS
경로 탐색Directory Traversal, Local File Inclusion, Remote File Inclusion
명령어 인젝션OS Command Injection, Shell Injection
프로토콜 공격HTTP Request Smuggling, HTTP Response Splitting
데이터 유출Credit Card Number Detection, SSN Detection
스캐너 탐지보안 스캐너, 취약점 스캐너 탐지
Nginx Proxy Guard - 차세대 Nginx 프록시 관리 시스템