Apache/2.2.15 (CentOS) DAV/2 PHP/5.4.36 Server at 117.40.239.9 Port 80 #学院Linux服务器环境
有时候为了服务器的安全需要尽量少地暴露相关信息,防止用户窥视我们的服务器,应该做一些什么呢?例如:Apache的配置,主要是对“httpd.conf”文件配置,通过控制ServerTokens和ServerSignature这2个阀门,ServerTokens用于控制服务器是否相应来自客户端的请求,向客户端输出服务器系统类型或内置模块等重要的系统信息。
ServerTokens Prod/Major/Minor/Minimal/OS/Full
Prod >>> Server: Apache
Major >>> Server: Apache/2
Minor >>> Server: Apache/2.2
Minimal >>> Server: Apache/2.2.15
OS >>> Server: Apache/2.2.15 (CentOS)
Full (or not specified) default >>> Server: Apache/2.2.15 (CentOS) PHP/5.4.36+b1 mod_ssl/2.0.55 OpenSSL/0.9.8b
ServerSignature:指令允许您配置服务器端生成文档的页脚信息。
Off (default): 不输出任何页脚信息;
On:输出一行关于版本号以及处于运行中的虚拟主机的ServerName
ServerTokens ProductOnly
ServerSignature Off #不输出任何页脚信息
PHP版本头部文件隐藏返回
[root@sky9896 conf]#vi /etc/php.ini
expose_php On改成 expose_php Off
重启apache后,php版本在http头中隐藏了
测试命令:[root@sky9896 conf]# curl -I 117.40.239.9
[root@sky9896 conf]# curl -I 117.40.239.9
HTTP/1.1 200 OK
Date: Mon, 29 Dec 2014 12:17:26 GMT
Server: Apache #会调用ServerTokens ProductOnly,显示的内容在于参数选择
X-Powered-By: PHP/5.4.36
Connection: close
Content-Type: text/html; charset=UTF-8
expose_php Off #修改后的效果
[root@sky9896 conf]# curl -I 117.40.239.9
HTTP/1.1 200 OK
Date: Mon, 29 Dec 2014 12:19:06 GMT
Server: Apache
Connection: close
Content-Type: text/html; charset=UTF-8
禁用CentOS下Apache的测试页面
在CentOS中安装apache并启动后,默认CentOS会为Apache添加一个测试页面,安装完毕并且对Apache的保持默认配置,之后在浏览器中输入你的站点的域名或ip地址,浏览器会打开一个界面
# cd /etc/httpd/conf.d
[root@sky9896 conf.d]# vim welcome.conf
<LocationMatch "^/+$">
Options -Indexes
# ErrorDocument 403 /error/noindex.html #注释该行
</LocationMatch>
或者:[root@sky9896 error]# vi noindex.html #直接修改文件中的内容;