一.nginx banner泄漏风险
响应包返回服务器标志:Server: nginx/1.8.3,需修改响应包头返回和错误页面显示,修改后记得重启服务器
1.修改响应包返回 修改配置文件,之后记得重启服务器: nginx 配置文件里增加 server_tokens off; server_tokens作用域是http server location语句块 server_tokens默认值是on,表示显示版本信息,设置server_tokens值是off,就可以在所有地方隐藏nginx的版本信息。
<code>http { server_tokens off; # 隐藏Nginx版本号 .... }/<code>
2.修改 4xx、5xx错误页面
<code>server { listen 80; server_name www.xx.com; location / { root /home/wwwroot/www.xx.com/; index index.html index.htm; # redirecet server error pages to the static page error_page 401 = /error/401.html; error_page 403 = /error/403.html; error_page 404 = /error/404.html; error_page 405 = /error/405.html; error_page 500 = /error/500.html; error_page 502 503 504 = /error/503.html; } }/<code>
二.tomcat banner泄漏风险
响应包返回服务器标志:Apache Tomcat/7.0.55,需修改响应包头返回和错误页面显示,按如下几步修改后记得重启服务器
1.修改响应包返回 vim */apache-tomcat-*/conf/server.xml,找到服务器站点配置,增加server="Server"配置,即可隐藏服务器名字和版本号:
<code>/<code>
2.web.xml中修改4xx、5xx错误页面
<code> 400 /error.jsp 403 /error.jsp 404 /error.jsp 405 /error.jsp 500 /error.jsp 502 /error.jsp /<code>
3.禁用堆栈等详情显示 找到tomcat 的server.xml,关闭showReport和showServerInfo,避免堆栈和版本详情显示,找到对应域名 节点,建议全部host节点都新增如下子节点
<code>/<code>
实现上,经我的实践,在Tomcat中,配置server="Server"是达不到效果的,或者说只有curl -I 服务IP:端口号能看到效果。
可以用网上所说的修改catalina.jar文件,我实践验证是可以达到目的。具体步骤如下:
a.进入tomcat的lib目录找到catalina.jar文件
b.unzip catalina.jar之后会多出两个文件夹
c.进入org/apache/catalina/util 编辑配置文件ServerInfo.properties字段来实现来更改我们tomcat的版本信息
修改为
<code>server.info=Apache Tomcat server.number=0.0.0.0 server.built=Apr 2 2017 07:25:00 UTC/<code>
将修改后的信息压缩回jar包
<code># cd /tomcat/lib # jar uvf catalina.jar org/apache/catalina/util/ServerInfo.properties/<code>
重启tomcat,验证前后截图如下所示:
参考文章:https://www.cnblogs.com/meiling12/p/8435412.html
https://cloud.tencent.com/developer/article/1398912