黑客攻擊一個網站,往往需要了解服務器的架構,網站的架構等信息,了解了這些信息,就知道網站薄弱的地方在哪裡了!
為了不讓對方知道自己的webserver真實環境,我們可以偽裝隱藏自己的真實服務器環境.雖然安防不能做到100%,但至少也會讓對方焦頭爛額.廢話不多說了! @_@``
一. Windows環境
修改nginx的server信息
1.進入nginx安裝目錄下,用文本編輯器編輯conf目錄下的fastcgi.conf
fastcgi_param SERVER_SOFTWAREnginx/$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裡的值,所以我們修改的時候盡量兩個地方都修改!