Nginx_修改Web服務器頭信息(Header)里的Server值[轉]


http://blog.rekfan.com/?p=122

黑客攻擊一個網站,往往需要了解服務器的架構,網站的架構等信息,了解了這些信息,就知道網站薄弱的地方在哪里了!
    為了不讓對方知道自己的webserver真實環境,我們可以偽裝隱藏自己的真實服務器環境.雖然安防不能做到100%,但至少也會讓對方焦頭爛額.廢話不多說了! @_@``

一. Windows環境

修改nginx的server信息
    
    1.進入nginx安裝目錄下,用文本編輯器編輯conf目錄下的fastcgi.conf
     
  fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

    2.用文本編輯器編輯conf目錄下的fastcgi_params

    fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;

    3.#service nginx restart #重啟nginx

隱藏nginx的server信息

    1.進入nginx安裝目錄下,用文本編輯器編輯conf目錄下的nginx.conf    
    
    #http{}里面加:

    server_tokens off;

  2.#service nginx restart #重啟nginx

二.Linux環境下
    
    同windows 操作一樣 ,可能文件名稍有不同,不過本人更改后還是顯示Nginx,然后按網上的修改編譯src/core/nginx.h ,我們先看下更改前的header信息:

[root@REKFAN-Server /]# curl -I http://blog.rekfan.com
HTTP/1.1 200 OK
Server: nginx
Date: Fri, 02 Nov 2012 15:25:42 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Thu, 01 Nov 2012 18:47:51 GMT
Connection: keep-alive
ETag: "5092c3d7-264"
Accept-Ranges: bytes

修改后的src/core/nginx.h ,代碼如下:

/*
 * Copyright (C) Igor Sysoev
 * Copyright (C) Nginx, Inc.
 * http://blog.rekfan.com/?p=122
  */

#ifndef _NGINX_H_INCLUDED_
#define _NGINX_H_INCLUDED_

#define nginx_version      1003008
#define NGINX_VERSION      "1.3.8"
#define NGINX_VER          "REKFAN/" NGINX_VERSION

#define NGINX_VAR          "REKFAN"
#define NGX_OLDPID_EXT     ".oldbin"

#endif /* _NGINX_H_INCLUDED_ */

編譯Nginx,重新看看結果header信息還是沒變!

最后找到另一個帖子更改src/http/ngx_http_header_filter_module.c文件成功了!

找到下面兩行:
static char ngx_http_server_string[] = "Server: nginx" CRLF;
static char ngx_http_server_full_string[] = "Server: " NGINX_VER CRLF;
將其修改為:
static char ngx_http_server_string[] = "Server: REKFAN" CRLF;
static char ngx_http_server_full_string[] = "Server: REKFAN/1.0" CRLF;

將上面紅色修改為你想要顯示的信息,重新編譯后重新啟動下Nginx!

重新查看header信息:
[root@REKFAN-Server /]# curl -I http://blog.rekfan.com
HTTP/1.1 200 OK
Server: REKFAN
Date: Fri, 02 Nov 2012 15:30:28 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Thu, 01 Nov 2012 18:47:51 GMT
Connection: keep-alive
ETag: "5092c3d7-264"
Accept-Ranges: bytes

后來發現,當我們添加server_tokens off; 參數的時候,調用的是src/http/ngx_http_header_filter_module.c里的值
不添加的時候,顯示版本號調用的是src/core/nginx.h里的值,所以我們修改的時候盡量兩個地方都修改!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM