kkamagi's story

IT, 정보보안, 포렌식, 일상 공유

OS

Response Headers에 서버정보 숨기기

까마기 2020. 10. 26. 13:55
728x90
반응형

nginx response header에서 nginx 버전, phusion pusher 버전, X-forwarder-for 숨기기

 

 

vi /etc/nginx/nginx.conf

 

server_tokens off;

more_clear_headers Server;

more_clear_headers X-Powered-By;

 

 

재시작

 

--------------------------------------------------------------------------------------------------------------------------------

 

 

 

IE나 크롬 개발자 도구로 Response Headers 보게 되면  아래와 같이 서버버젼과 PHP버젼이 적나하게 보이는 경우가 있다

항상 버젼 업데이트를 한다고 하면 문제 없겠지만 늘 버그/보안취약점이 나와서 버젼 업데이트가 되고 있는 중에 

해당 버젼을 확인하고 취약점을 해킹하는 경우가 발생한다 그래서 해당 정보의 경우 숨기는 게 보다 안전하다고 생각된다.

  1. Cache-Control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0

  2. Connection:keep-alive

  3. Content-Type:text/html; charset=UTF-8

  4. Date:Fri, 29 Aug 2014 06:22:59 GMT

  5. Expires:Thu, 19 Nov 1981 08:52:00 GMT

  6. Pragma:no-cache

  7. Server:nginx/1.6.1

  8. Transfer-Encoding:chunked

  9. X-Powered-By:PHP/5.5.15

 

※ X-Powered-By:PHP/5.5.15 삭제

vi /etc/php.ini

expose_php = Off <== OFF로 변경

 

※ Nginx 숨기기

http://wiki.nginx.org/HttpCoreModule#server_tokens

vi /etc/nginx/nginx.conf

server_tokens off; <==내용추가함

 

=> php와 nginx수정하였다면 php-fpm과 nginx 재시작해줘야됨

 

※ Nginx라는 서버이름을 바꾸고 싶을때

1. HttpHeadersMoreModule 추가모듈설치 하여서 셋팅

http://wiki.nginx.org/HttpHeadersMoreModule#Installation

※ 소스설치시 추가하면됨

./configure --prefix=/opt/nginx --add-module=/path/to/headers-more-nginx-module

※ set the Server output header 

    more_set_headers 'Server: my-server';

 

2. 컴파일전에 소스코드에서 해당내용 삭제 또는 변경 

http://forum.nginx.org/read.php?11,1646

vi /path/to/nginx-0.*/src/http/ngx_http_header_filter_module.c lines 48 and 49:

====================================================

static char ngx_http_server_string[] = "Server: nginx" CRLF;

static char ngx_http_server_full_string[] = "Server: " NGINX_VER CRLF;

====================================================

 

※ Apache 경우

vi /etc/httpd/conf/httpd.conf

ServerTokens Prod

ServerSignature Off

=====================================================

http://httpd.apache.org/docs/2.2/mod/core.html#servertokens

http://httpd.apache.org/docs/2.2/mod/core.html#serversignature

 

ServerTokens Prod[uctOnly] => Server: Apache

ServerTokens Major => Server: Apache/2

ServerTokens Minor => Server: Apache/2.0

ServerTokens Min[imal] => Server: Apache/2.0.41

ServerTokens OS : Server => Apache/2.0.41 (Unix)

ServerTokens Full : Server => Apache/2.0.41 (Unix) PHP/4.2.2 MyMod/1.2

 

 

반응형

'OS' 카테고리의 다른 글

powershell 특수문자  (0) 2020.10.26
서버 IP확인 && 서버 IP 노출 방지 체크리스트  (0) 2020.10.26
CentOS 7 - Nginx/MariaDB/Php 웹 서비스 설치  (0) 2020.10.26
Bastion host란?  (0) 2020.10.26
Windows Error codes / 단축키  (0) 2020.09.21