본문 바로가기

관리 메뉴

XFF(1) - 정의 및 적용방법 본문

WEB

XFF(1) - 정의 및 적용방법

ITst 2024. 5. 8. 09:57

결제 모듈, 접근 제어를 비롯한 다양한 분야에서 개발할 때 클라이언트의 실제 IP 주소가 필요한 경우가 많습니다. 하지만 웹서버 상단에 프록시 서버, 캐싱서버 장비가 있으며 HTTPS로 통신을 시도할 경우, 웹서버에서는 상단의 프록시 서버나 캐싱서버에서 접근하는 것으로 인식되어 웹 로그에 상단 서버의 IP를 남기게 됩니다.

 

이번에는 이러한 경우에서 웹서버가 클라이언트 IP를 식별할 수 있게 하는 XFF 헤더에 대해 알아보겠습니다.

XFF    X-Forwarded-For

HTTP 요청 헤더 중 하나로 프록시 장비를 거쳐서 웹 서버에 연결될 때 클라이언트의 IP 주소를 식별하는 방법입니다. HTTP 프로토콜은 평문이라 클라이언트 IP를 숨기지 않아 하단 서버에서 클라이언트 IP를 식별할 수 있으나, HTTPS 프로토콜을 사용하게 되면 보안상의 이유로 클라이언트 IP를 숨기게 됩니다. 따라서 각 프록시 서버에 이 XFF설정을 적용하여 헤더에 클라이언트 IP를 추가하고, 복호화를 시켜주어 상단 서버에 도달하는 패킷 헤더에 클라이언트 IP가 숨겨지지 않도록 해야합니다.

XFF 설정 방법

XFF는 해당 시스템을 사용하기 위해 통신되는 모든 프록시 서버 및 웹서버에 적용을 해야만 합니다.

각 서버의 XFF 설정 방법은 아래를 참고하시기 바랍니다.

 

1. Apache XFF 설정 방법

1) Apache 경로로 이동 후 httpd.conf 파일 확인

     $ cd /usr/local/httpd/conf  

2) httpd.conf 백업본 생성

     $ cp -aurp httpd.conf httpd.conf_240508  

3) httpd.conf LogFormat 항목 수정

     $ vim  httpd.conf 

## httpd.conf 수정 전
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

## httpd.conf 수정 후
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b" common
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

4) httpd 데몬 재기동



2. Apache2 XFF 설정 방법

1) Apache2 경로로 이동 후 apache2.conf 파일 확인

     $ cd /etc/apache2 

2) apache2.conf 백업본 생성

     $ cp -aurp apache2.conf  apache2.conf_240508 

3) apache2.conf LogFormat 항목 수정

     $ vim apache2.conf 

## apache2.conf 수정 전
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

## apache2.conf 수정 후
LogFormat "%a %l %u %t \"%r\" %>s %b" common
LogFormat "%a %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

4) apache2 데몬 재기동



3. Nginx XFF 설정 방법

1) nginx 경로로 이동 후 nginx.conf 파일 확인

     $ cd /etc/nginx 

2) nginx.conf 백업본 생성

     $ cp -aurp nginx.conf nginx.conf_240508 

3) nginx.conf 내 http 블록에 XFF 헤더 설정 추가

     $ vim nginx.conf 

http {
    ...
    real_ip_header X-Forwarded-For;
    ...
}

4) nginx 데몬 재기동

 

이외의 서버 XFF 설정 방법은 추가 예정..

'WEB' 카테고리의 다른 글

XFF(2) - 예시 및 고려사항  (1) 2024.05.14
[TS][NGINX] Ubuntu 서버 내 Nginx 설치 후 기동 오류  (0) 2024.03.14
Comments