在我们之前的几篇文章讲解了有关于Apache服务器的安全与优化知识点,也解释了如何去隐藏Apache的版本号和其它一些敏感信息。
我们有讨论过怎么样防范有价值的信息,像:Web服务器版本号、服务器操作系统的详情、Apache已安装的模块等等一些,在服务器生成的文档返回给客户端(有可能是***者)。
在这篇文章,我们将展示给你另一个有用的Apache安全意见-改变HTTP web服务器的名字在于任何地方显示头部(header)信息的时候。
我们说这儿究竟在说些什么?请看下面一个截图,它显示了一个有关在我们web服务器上文档根目录列表,在页面的下方,你也能看到服务器的署名(web名称、版本、操作系统、ip地址和端口)。
大多数时候,***会利用你的已知的web软件信息去***你的站点或者web应用,因此更改web服务的名字将变得困难对运行在你的系统之上的服务类型。这个点就是更改“Apache”为其它的名称。
这个可以通过安装Apache的mod_security模块来实现。
-------- On Debian/Ubuntu -------- $ sudo apt install libapache2-mod-security2 $ sudo a2enmod security2-------- On CentOS/RHEL and Fedora --------# yum install mod_security # dnf install mod_security
然后打开Apache的配置文件:
$ sudo vi /etc/apache2/apache2.conf #Debian/Ubuntu # vi /etc/httpd/conf/httpd.conf #RHEL/CentOS/Fedora
现在修改或添加下面的命令行到配置文件最底部(现在更改成TecMint_Web,你可以更改成任何你想要显示在客户端的名字)
ServerTokens Full SecServerSignature “Tecmint_Web”
最后重启Apache服务。
$ sudo systemctl restart apache2 #Debian/Ubuntu # systemctl restart httpd #RHEL/CentOS/Fedora
现在验证,再一次访问这个页面或者使用curl命令,或者通过浏览器来查看web服务的名字,可以看到已经由Apache更改成Tecmint_Web。
$ curl -I -L http://domain-or-ipaddress
原文链接:
https://www.tecmint.com/change-apache-server-name-to-anything-in-server-headers/
tips:
如果未安装mod_security模块的情况下,直接添加进区配置文件的话 会报如下错误:
[root@iZ288zd30s2Z ~]# service httpd restart Stopping httpd: [ OK ] Starting httpd: Syntax error on line 1169 of /etc/httpd/conf/httpd.conf: Invalid command 'SecServerSignature', perhaps misspelled or defined by a module not included in the server configuration [FAILED]
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。