这是一个非常容易忽略的点。
Web Server的信息包括:
- Web Server的类型,常见的如Tomcat, Apache Httpd,Ngnix等。
- 版本信息。即web server的版本信息。
为什么要隐藏这些信息呢?原因很简单,我们非常容易获取web server的软件信息。那么对于攻击者可以做什么呢?我们知道每种软件都是有漏洞的,尤其是对于这些著名的软件。如果出现安全性漏洞,一般都是公开的,而且有些漏洞有详细的复现步骤。
- Apache Tomcat 安全漏洞:https://tomcat.apache.org/security-8.html
- Apache HTTPd 安全漏洞:https://httpd.apache.org/security/vulnerabilities_24.html
其他web server不在这里例举了。
所以,当攻击者知道web server信息,又加上这对每个漏洞的详细解释,攻击就简单多了。
那么如何隐藏web 容器信息呢?一般来说是可以通过配置解决的。
Apache Tomcat
可以在server.xml里的Connector的server属性解决。参考https://tomcat.apache.org/tomcat-7.0-doc/config/http.html
Apache HTTPd
security.conf里的ServerSignature Off