Apache,Nginx调优之隐藏Server版本

技术分享 Story 105浏览 0评论

一、修改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"

二、NGINX的隐藏server版本,修改过端口号,可以把Apache和Nginx同时安装在同一台主机上,不会冲突。

 

同理也是编辑主配置文件 ,Nginx的主配置文件  /etc/nginx/nginx.conf

文件里的  server_tokens off;   #是否显示nginx版号  默认是打开的

没有就在 http { #  .....}里添加这一行

然后重启nginx服务,再次测试查看,就不会显示nginx版本号,优化成功。

 

 

转载请注明:成长的对话 » Apache,Nginx调优之隐藏Server版本