Nginx Web安全漏洞解決:Web服務器HTTP頭信息公開以及Web服務器錯誤頁面信息泄露

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_token off;
}

443配置文件

server {
    listen 443...
}

增加一行

server {
    listen 443...
    server_token off;
}

8000配置文件

server {
    listen 8000...
}

增加一行

server {
    listen 8000...
    server_token off;
}

80配置文件

server {
    listen 80...
}

增加一行

server {
    listen 80...
    server_token off;
}

3.3、重啓ngnix服務

# systemctl restart nginx
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章