修改Apache默认端口80
vim /etc/httpd/conf/httpd.conf
把80改为需要设置的端口,一般可以改为8080,然后重启Apache 服务就可以。可以实现后续如果安装Nginx,Nginx默认也是80,不会造成端口冲突。
用curl -I 域名 ,会发现如果没有设置隐藏版本号的话,服务器版本及Openssl信息会全都暴露出来,黑客可以通过详细版本号查找该版本的漏洞来攻击web服务器。
很多都会隐藏Apache的版本号,设置方法如下:
编辑Apache主配置文件 vim /etc/httpd/conf/httpd.conf (如果没有找到可以使用find查找)
# 找到ServerTokens和ServerSignature并修改为:
ServerTokens Prod
ServerSignature off
如果没有找到ServerTokens和ServerSignature可以在最后一行添加,保存并退,重启服务。
测试效果成功。
以上的Apache小优化只是将版本号隐藏起来了,这里用到的就是主配置文件中提供全局控制默认阀值为"Full"(ServerTokens Full)
ServerTokens 阀值
ServerTokens 用于控制服务器是否相应来自客户端的请求,向客户端输出服务器系统类型或内置模块等重要的系统信息
Prod >>> Server: Apache
Major >>> Server: Apache/2
Minor >>> Server: Apache/2.0
Minimal >>> Server: Apache/2.0.55
OS >>> Server: Apache/2.0.55 (Debian)
Full (or not specified) default >>> Server: Apache/2.0.55 (Debian) PHP/5.1.2-1+b1 mod_ssl/2.0.55 OpenSSL/0.9.8b
ServerSignature控制由系统生成的页面(错误信息,mod_proxy ftp directory listing等等)的页脚中如何显示信息。
阀值为下面所示:
Off (default): 不输出任何页脚信息
On:输出一行关于版本号以及处于运行中的虚拟主机的ServerName (2.0.44之后的版本,由ServerTokens负责是否输出版本号)
EMail: 创建一个发送给ServerAdmin的"mailto"