Nginx_修改Web服务器头信息(Header)里的Server值


黑客攻击一个网站,往往需要了解服务器的架构,网站的架构等信息,了解了这些信息,就知道网站薄弱的地方在哪里了!
为了不让对方知道自己的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里的值,所以我们修改的时候尽量两个地方都修改!

相关内容

    暂无相关文章