왜 SafeLine WAF가 올바른 IP를 표시하지 않는가? 해결 방법
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
DevOps
대상자
- 대상자: DevOps 엔지니어, 네트워크 관리자, 웹 보안 전문가
- 난이도: 중급 (HTTP 헤더, NGINX 설정, WAF 구성 지식 필요)
핵심 요약
X-Forwarded-For
및X-Real-IP
헤더를 통해 실제 클라이언트 IP를 추적해야 함- NGINX 사용 시
ngx_http_realip_module
모듈 활성화 필수 - HTTP/1.0 이하 버전은
host
필드 누락으로 인해 SafeLine IP 대체
섹션별 세부 요약
1. 문제 정의
- SafeLine WAF가 CDN/리버스 프록시 뒤에 배치될 경우 내부 IP만 기록
- 프록시 장비가
X-Forwarded-For
,X-Real-IP
헤더에 실 클라이언트 IP 포함 - 예시 요청 헤더:
```http
X-Forwarded-For: 110.123.66.233, 10.10.3.15
X-Real-IP: 110.123.66.233
```
2. SafeLine 설정 방법
Get Attack IP From
설정에서 헤더 이름 입력 (예:X-Forwarded-For
)- 업스트림 서버가 NGINX일 경우:
```nginx
set_real_ip_from 0.0.0.0/0;
real_ip_header X-Forwarded-For;
```
- 모듈 활성화:
--with-http_realip_module
컴파일 시 사용
3. HTTP 버전 호환성 문제
HTTP/1.0
또는HTTP/0.9
는host
필드 누락으로 인해 SafeLine IP 기록- 해결 방법:
host
필드 명시 또는 HTTP/1.1 이상 프로토콜 사용
4. 로그 정확성과 보안 영향
- 실 IP 추적 실패 시 공격 트래킹, WAF 보호 기능 저하
- 적절한 헤더 구성이 로그 정확성과 보안 강화에 필수
결론
X-Forwarded-For
헤더 설정과ngx_http_realip_module
활성화를 통해 실 클라이언트 IP 추적 가능- HTTP/1.0 이하 버전 사용 시
host
필드 명시 또는 프로토콜 업그레이드 권장 - 모든 프록시 장비에서 실 IP 전달 설정을 체크하고, SafeLine 및 업스트림 서버 모두에서 헤더 파싱 구성 필요