#WebSphere

[WebSphere] 실제 IP(Real IP) 인식 불가 해결: trustedHeaderOrigin 설정 가이드 (CVE-2012-5783 대응)

WebSphere Application Server(WAS)의 trustedHeaderOrigin 설정이 개선되었습니다. 기존에는 정확한 IP만 입력해야 했으나, 최신 픽스팩(9.0.5.7, 8.5.5.20)부터는 192.168.*.*와 같은 IP 세그먼트 와일드카드를 지원합니다. 유동 IP 환경에서의 설정법과 적용 버전을 정리합니다.

1. 업데이트 배경: IP 관리가 너무 힘들다?

기존에는 보안(CVE-2012-5783) 이슈로 인해 trustedHeaderOrigin에 앞단 웹 서버의 정확한 IP(Full IP)를 일일이 등록해야 했습니다.

하지만 클라우드(AWS, Azure)나 컨테이너(Docker/K8s) 환경에서는 L4/Web 서버의 IP가 수시로 변경되거나 대역으로 할당되므로, 모든 IP를 나열하는 것이 불가능했습니다. 이를 해결하기 위해 부분 와일드카드(IP Wildcard Segments) 지원이 추가되었습니다.


2. 와일드카드 지원 버전 (Target Fixpacks)

아래 버전 이상의 픽스팩(Fix Pack)이 적용된 환경에서는 IP 대역 설정이 가능합니다.

제품군 지원 시작 버전 (Minimum Version)
WAS 9.0 9.0.5.7 이상
WAS 8.5 8.5.5.20 이상
Liberty 21.0.0.2 이상
참고: 위 버전보다 낮은 경우 192.168.*.* 같은 입력을 인식하지 못하고 에러가 발생하거나 IP 인식이 실패할 수 있습니다.

3. 설정 가이드 (Configuration)

WAS 관리 콘솔에서 전송 채널의 사용자 정의 속성을 추가합니다.

설정 경로

  1. Servers > [서버명] > Web Container Settings > Web container transport chains
  2. 대상 체인 선택 (예: WCInboundDefault)
  3. HTTP Inbound Channel (HTTP_2) > Custom properties > New

속성 값 입력 예시 (New Feature)

이제 아래와 같이 유연한 설정이 가능합니다.

속성 이름 (Name) 값 (Value) 예시 설명
trustedHeaderOrigin

trustedSensitiveHeaderOrigin
10.10.*.* 10.10.0.0/16 대역의 모든 IP 신뢰 (추천)
192.168.1.*, 10.1.*.* 콤마(,)를 사용하여 여러 대역 동시 지정
*.ibm.com 호스트네임 기반의 와일드카드 지원
Best Practice:
과거에는 편의상 * (전체 허용)를 사용하는 경우가 많았으나, 이는 보안상 취약합니다.
이제는 10.10.*.* 처럼 내부망 IP 대역만 특정하여 허용함으로써 보안과 편의성을 모두 챙길 수 있습니다.

4. 웹 컨테이너 포트 인식 설정 (함께 적용)

IP 대역 설정과 함께, 호스트 헤더의 포트 정보를 올바르게 가져오기 위한 웹 컨테이너 설정도 잊지 마세요.

  • 위치: Web Container > Custom properties
  • 속성: com.ibm.ws.webcontainer.extractHostHeaderPort = true

5. 검증 (Verification)

  1. 설정 저장 후 WAS 재기동
  2. SystemOut.log에 별다른 에러 메시지가 없는지 확인
  3. 애플리케이션에서 request.getRemoteAddr() 호출 시 실제 클라이언트 IP가 출력되는지 확인