본문 바로가기
Security/보안가이드

[보안가이드] Nginx Header Version 정보 제거 하기

by 선인장 🌵 2022. 4. 18.
728x90
728x90

Nginx Header Version 정보 제거 하기

Nginx Web Server(웹서버) 통해서 서비스를 사용하는 경우 기본 설정으로만 서비스 구동 시에 Response Header에 Nginx Version이 노출된다.

Nginx Version이 노출이 되어도 문제가 없다고 생각할 수 있으나, 그 생각은 매우 큰 오산이다.

이렇게 Version이 노출이 된 경우 현재 사용하고 있는 해당 Nginx Version에 알려진 취약점을 이용하여 좀 더 쉽게 공격이 가능하다.

쉽게 이야기해 Version 정보를 모른다면 100번 만에 공격이 성공될 수 있지만, Version 정보를 안다면 단 한 번 만에도 공격이 성공될 수 있다.

그러니 별문제 아니라 생각하지 말고 반드시 서비스를 사용하는 경우 꼭 아래와 같이 설정하여 Nginx 정보를 제거하여 사용하도록 하자.

그럼 어떻게 적용하는지 한번 알아보자.

[보안가이드] Nginx Header Version 정보 제거 하기

728x90

1. 기본 Version 정보 확인

최초 설치 후 아무런 설정을 하지 않았다면 아마도 아래와 같이 확인 시 Response Header에 Nginx Version을 확인할 수 있을 것이다.

  • $ curl -i http://ip정보
# Response Header Nginx Version 확인

$ curl -i http://192.168.0.20
HTTP/1.1 200 OK
Server: nginx/1.14.1
Date: Sun, 17 Apr 2022 12:36:54 GMT
Content-Type: text/html
Content-Length: 4057
Last-Modified: Mon, 07 Oct 2019 21:16:24 GMT
Connection: keep-alive
ETag: "5d9bab28-fd9"
Accept-Ranges: bytes
... 이하 생략 ...


$ rpm -qa nginx
nginx-1.14.1-9.module_el8.0.0+184+e34fea82.x86_64

1. 기본 Version 정보 확인
1. 기본 Version 정보 확인

728x90

2. Nginx Version 정보 제거 옵션 설정

그럼 해당 Version 정보가 노출되지 않도록 설정하는 방법을 알아보도록 하자.

먼저 nginx.conf 파일 혹은 서비스 설정을 해놓은 conf 파일 내에서 http, server, location Context 부분 중 한 곳에 아래와 같은 옵션을 설정하도록 하자.

  • server_tokens off;

server_tokens 설정은 기본적으로 on으로 설정되어 있다.

 

Module ngx_http_core_module

Module ngx_http_core_module Directives Syntax: absolute_redirect on | off; Default: absolute_redirect on; Context: http, server, location This directive appeared in version 1.11.8. If disabled, redirects issued by nginx will be relative. See also server_na

nginx.org

# server_tokens 설정 적용 

$ vi nginx.conf
http {
     server_tokens off;
... 이하 생략 ...

$ curl -i http://192.168.0.20
HTTP/1.1 200 OK
Server: nginx
... 이하 생략 ...

2. Nginx Version 정보 제거 옵선 설정
2. Nginx Version 정보 제거 옵선 설정
2. Nginx Version 정보 제거 옵선 설정
2. Nginx Version 정보 제거 옵선 설정

3. 정리

이번에는 Nginx Version 정보를 제거하는 방법을 알아보았다.

물론 이 방법만으로 모든 공격을 막아낼 수는 없다.

그러나 서비스하고 있는 웹 서버의 정보 노출을 줄여 쉽게 공격이 당하지 않도록 하는 게 조금이라도 공격에 대한 대비를 할 수 있다.

728x90
728x90


🌵댓글

 

loading