1、安全漏洞说明
使用Nginx提供服务的产品,经过安全扫描工具扫描后报出两个安全漏洞
1.1、安全漏洞:Web服务器HTTP头信息公开
风险级别:中风险
漏洞个数:4
漏洞详情:
端口 | 协议 | 服务 |
---|---|---|
443 | TCP | WWW |
80 | TCP | WWW |
8000 | TCP | WWW |
8080 | TCP | WWW |
1.2、安全漏洞:Web服务器错误页面信息泄露
风险级别:中风险
漏洞个数:4
漏洞详情:
端口 | 协议 | 服务 |
---|---|---|
443 | TCP | WWW |
80 | TCP | WWW |
8000 | TCP | WWW |
8080 | TCP | WWW |
2、漏洞分析
1、每个漏洞的个数有四个,就是对应漏洞详情中的4个端口
2、产品使用Nginx提供的服务,Nginx通过虚拟机方式以不同端口提供服务
结论:Nginx有4个虚拟机存在安全漏洞,对应的端口分别是443、80、8000和8080
3、漏洞解决
3.1、找到漏洞端口对应的Nginx虚拟机配置文件
这些配置文件的路径取决于nginx的配置,可能位于/etc/nginx目录下,也可能位于其他的目录下,可以通过搜索的方式查找。
以漏洞详情中的4个端口号作为关键字查找
# grep -rE "443|80|8080|8000" /etc
# grep -rE "443|80|8080|8000" /opt
nginx虚拟机配置文件格式一般有如下字段
server {
listen 8080;
...
}
可以做区分
3.2、修改虚拟机配置文件
3.2.1、修改方法
参考nginx官网
http://nginx.org/en/docs/http/ngx_http_core_module.html#server_tokens
Syntax: server_tokens on | off | build | string;
Default:
server_tokens on;
Context: http, server, location
Enables or disables emitting nginx version on error pages and in the “Server” response header field.
The build parameter (1.11.10) enables emitting a build name along with nginx version.
Additionally, as part of our commercial subscription, starting from version 1.9.13 the signature on error pages and the “Server” response header field value can be set explicitly using the string with variables. An empty string disables the emission of the “Server” field.
3.2.2、配置文件修改
8080配置文件
server {
listen 8080;
...
}
增加一行
server {
listen 8080;
...
server_tokens off;
}
443配置文件
server {
listen 443;
...
}
增加一行
server {
listen 443;
...
server_tokens off;
}
8000配置文件
server {
listen 8000;
...
}
增加一行
server {
listen 8000;
...
server_tokens off;
}
80配置文件
server {
listen 80;
...
}
增加一行
server {
listen 80;
...
server_tokens off;
}
3.3、重启ngnix服务
# systemctl restart nginx