본문 바로가기

WEB/Nginx

[Nginx]응답 헤더에서 Nginx 정보 제거 - remove response header server

Purpose

응답 헤더에서 Nginx 정보 숨기기

웹 서버로 nginx를 사용할 때, 기본 설정 상태에서는 응답 헤더에 nginx의 버전 정보가 포함됩니다. 이러한 정보는 악의적인 사용자에게 서버의 버전을 알리게 되어, 특정 버전에 존재하는 보안 취약점을 이용한 공격 대상으로 지정될 수 있습니다. 따라서, nginx의 버전 정보를 숨기는 것은 보안상의 권장 사항입니다.

버전 정보만 숨기기

이 방법은 nginx의 설정만으로 간단하게 버전 정보를 숨길 수 있습니다.

  • 변경 전: nginx 1.20.1
  • 변경 후: nginx

설정 방법: nginx의 주 설정 파일 nginx.conf에 다음 내용을 추가합니다.

nginx.conf 내용 추가

http {
    server_tokens off;
}

버전 정보 완전히 변경하기 - 모듈 추가 필요

버전 정보를 완전히 사용자 지정 문자열로 변경하려면 headers-more-nginx-module 모듈을 추가해야 합니다. 이 모듈을 사용하면 응답 헤더에 원하는 내용을 추가하거나 수정할 수 있습니다.

  • 변경 전: nginx 1.20.1
  • 변경 후: JWS (또는 원하는 내용으로 변경)

사용 모듈: headers-more-nginx-module

headers-more-nginx-module

설치 및 설정 방법 (Dockerfile)

## headers-more-nginx-module 설치
RUN wget <https://github.com/openresty/headers-more-nginx-module/archive/refs/tags/v0.33.tar.gz>
RUN tar zxvf v0.33.tar.gz

# Nginx를 headers-more-nginx-module 모듈과 함께 컴파일합니다.
RUN cd nginx-1.20.1 && \\
./configure \\
--prefix=/etc/nginx \\
--with-http_ssl_module \\
--with-http_realip_module \\
--with-http_sub_module \\
--with-http_gzip_static_module \\
--with-http_stub_status_module \\
--with-http_v2_module \\
--add-module=../headers-more-nginx-module-0.33

RUN cd nginx-1.20.1 && \\
	make && \\ 
	make install

Nginx 설정

http {
    more_set_headers 'Server: JWS';
}