nginx安装
1.安装依赖库
yum -y install make gcc gcc-c++ glibc glibc-devel lsof pcre pcre-devel zlib zlib-devel openssl openssl--devel
yum install pcre-devel pcre zlib-devel zlib openssl-devel -y(也可以用这个依赖库)
2.下载源码包
3.解压 编译 安装
4. 启动
为什么要屏蔽nginx版本信息?
答:因为黑客可以扫描出nginx版本信息,可以查看对应版本信息的漏洞,然后对相应的版本信息进行攻击。
如何查看nginx版本信息?
答:curl -I +域名或者IP
[root@localhost nginx]# curl -I 127.0.0.1
HTTP/1.1 200 OK
Server: nginx/1.10.3 ###看出我使用的nginx是1.10版本的
Date: Tue, 25 Jul 2017 09:03:15 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Tue, 25 Jul 2017 08:55:50 GMT
Connection: keep-alive
ETag: "59770796-264"
Accept-Ranges: bytes
修改nginx源码文件,然后重新编译安装,达到隐藏效果
5.修改源码文件
cd /root/nginx-1.10.3
第一个配置文件:vim src/core/nginx.h
1)#define NGINX_VERSION "1.10.3"
改成
#define NGINX_VERSION "8.8.8.8" ###修改你想要的版本号
2)define NGINX_VER "nginx/" NGINX_VERSION###修改你想要的软件名称
改成
define NGINX_VER "test/" NGINX_VERSION
第二个配置文件:vim src/http/ngx_http_header_filter_module.c
static char ngx_http_server_string[] = "Server: nginx" CRLF;###修改HTTP头信息中的connection字段,防止回显具体版本号。
改成
static char ngx_http_server_string[] = "Server: test" CRLF;
第三个配置文件:vim src/http/ngx_http_special_response.c
"<hr><center>nginx</center>" CRLF###定义了http错误码的返回,当页面程序出现错误,nginx会代我们返回相应的代码,回显的时候,会带上版本号。(404页面)
改成
"<hr><center>test</center>" CRLF
6.由于改动源码,我们需要重新安装,上面已经讲过怎么安装这里不做叙述。
7.测试
[root@localhost nginx-1.10.3]# curl -I 127.0.0.1
HTTP/1.1 200 OK
Server: test/8.8.8.8
Date: Tue, 25 Jul 2017 09:30:19 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Tue, 25 Jul 2017 09:29:17 GMT
Connection: keep-alive
ETag: "59770f6d-264"
Accept-Ranges: bytes
404 Not Found
test/8.8.8.8