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里的值,所以我们修改的时候尽量两个地方都修改!
Nginx_修改Web服务器头信息(Header)里的Server值[转]的更多相关文章
- 不同版本(2.3,2.4,2.5,3.0)的Servlet web.xml 头信息
不同版本(2.3,2.4,2.5,3.0)的Servlet web.xml 头信息 学习了:https://blog.csdn.net/z69183787/article/details/360080 ...
- [转]手机web HTML头信息解释和viewport meta标签解释
<meta charset="utf-8" /> <link rel="shortcut icon" href="favicon.i ...
- Extjs 动态修改gridPanel列头信息以及store数据的方法
1 /*******************************checkbox按钮 历史报警信息**************************************/ var check ...
- 不同版本(2.3,2.4,2.5)的Servlet web.xml 头信息
Servlet 2.3<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE web-app P ...
- servlet版本与tomcat版本对应关系,各版本web.xml头信息写法
The mapping between the specifications and the respective Apache Tomcat versions is: Servlet Spec JS ...
- 不同版本(2.3/2.4/2.5/3.0/3.1)web.xml头信息
Web App 3.1 <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http:// ...
- 不同版本2.5的Servlet web.xml 头信息
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" ...
- Windows2008 r2“Web服务器HTTP头信息泄露”漏洞修复
一.漏洞名称 漏洞名称 漏洞摘要 修复建议 Web服务器HTTP头信息泄露 远程Web服务器通过HTTP头公开信息. 修改Web服务器的HTTP头以不公开有关底层Web服务器的详细信息. 说明:在ii ...
- 部分Web服务器信息对比
本文参考wikipedia的Web服务器比较页面的数据,选取了其中自己感兴趣的Web服务器的信息进行了对比,包括,Apache HTTP Server.Apache Tomcat.Nginx.Catt ...
随机推荐
- hdu1078 记忆化搜索(DP+DFS)
题意:一张n*n的格子表格,每个格子里有个数,每次能够水平或竖直走k个格子,允许上下左右走,每次走的格子上的数必须比上一个走的格子的数大,问最大的路径和. 我一开始的思路是,或许是普通的最大路径和,只 ...
- netsh winsock reset
最近要在虚拟机上安装 git ,然后托管一个项目,搞得我是焦头烂额.今天下午我卸载了vmware workstation ,但是奇怪的事就发生了,我的google chrome 浏览器没法浏览网页了. ...
- HTML DOM参考手册
HTML DOM是HTML Document Object Model(文档对象模型)的缩写,HTML DOM则是专门适用与HTML/XHTML的文档对象模型.熟悉软件开发的人员可以将HTML DOM ...
- 论文笔记之:Pedestrian Detection aided by Deep Learning Semantic Tasks
Pedestrian Detection aided by Deep Learning Semantic Tasks CVPR 2015 本文考虑将语义任务(即:行人属性和场景属性)和行人检测相结合, ...
- 使用Cloudera部署,管理Hadoop集群
Hadoop系列之(三):使用Cloudera部署,管理Hadoop集群 http://www.cnblogs.com/ee900222/p/hadoop_3.html Hadoop系列之(一):Ha ...
- GPU优化方法[转]
CUDA优化的最终目的是:在最短的时间内,在允许的误差范围内完成给定的计算任务.在这里,“最短的时间”是指整个程序运行的时间,更侧重于计算的吞吐量,而不是单个数据的延迟.在开始考虑使用GPU和CPU协 ...
- Opencv 3入门(毛星云)摘要
第一章 环境搭建: 1. 环境变量path 添加 D:\Program Files\opencv\build\x86\vc11\bin 2. VS在VC++项目中,属性管理器\属性. VC++目 ...
- Android 编程下去除 ListView 上下边界蓝色或黄色阴影
默认的情况下,在 ListView 滑动到顶部或者是底部的时候,会有黄色或者蓝色的阴影出现.在不同的版本上解决的方法是不同的,在 2.3 版本之前可以在 ListView 的属性中通过设置 andro ...
- JavaScript常用表单验证正则表达式(身份证、电话号码、邮编、日期、IP等)
身份证正则表达式 //身份证正则表达式(15位)isIDCard1=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;//身份证正则表达式 ...
- 二十四种设计模式:中介者模式(Mediator Pattern)
中介者模式(Mediator Pattern) 介绍用一个中介对象来封装一系列的对象交互.中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互. 示例有一个Messa ...