隐藏Nginx服务的Banner 和 隐藏Nginx后端服务指定的header的状态
一、隐藏Nginx服务的Banner
当Nginx服务器响应请求时,不隐藏它的版本信息和名称。这会暴露服务器的信息,使攻击者可以获取服务器软件版本和配置的信息,帮助攻击者发现潜在的漏洞或攻击路径。
以下是一些潜在的危害:
1. 暴露服务器信息:不隐藏 banner 可以让攻击者知道服务器正在使用 Nginx,以及其版本号,这可能帮助攻击者针对性地制定攻击计划。
2. 帮助攻击者进行攻击:攻击者可以利用已知的漏洞进行攻击,如果他们知道了 Nginx 的具体版本,他们可能会寻找针对该版本的特定漏洞。
3. 统计学攻击:通过分析服务器响应的 banner,攻击者可能会收集有关服务器的信息,比如运行的应用程序、版本等,这些信息可能对他们有用。
在访问Nginx服务时,为了不在HTTP响应头中显示Nginx版本号,可以在Nginx配置文件中找到server_tokens指令,并将它设置为off。
1、打开Nginx配置文件nginx.conf,Linux系统中默认位于/etc/nginx/目录下。
2、在http块中添加或修改server_tokens指令:
http{
….
server_tokens off;
…
}
3、保存配置文件并重新加载Nginx配置
#nginx -s reload
二、隐藏Nginx后端服务指定的header的状态
如果不隐藏Nginx后端服务指定的header的状态,在浏览器中可以通过开发人员工具/网络/Response Headers 查看到Server的版本信息和开发语言信息。
可以通过以下操作隐藏:
1、打开/etc/nginx/nginx.conf配置文件(或主配置文件中的inlude文件)
2、在http下配置proxy_hide_header项,增加或修改proxy_hide_header X-Powered-By; proxy_hide_header Server;
操作前建议做好记录或备份。
http
{
….
proxy_hide_header X-Powered-By;
proxy_hide_header Server;
….
}
保存配置文件并重新加载Nginx配置
#nginx -s reload