关于nginx服务器,默认是显示nginx的版本号的,我们可以使用curl命令很简单的就能看到我们的nginx服务器版本号。
[xxx@xxx ~] # curl -I www.addam.com HTTP /1 .1 200 OK Server: nginx /1 .1.5 Date: Fri, 18 Jul 2014 13:25:26 GMT Content-Type: text /html ; charset=UTF-8 Connection: keep-alive Vary: Accept-Encoding X-Powered-By: PHP /5 .3.3 X-Pingback: http: //www .addam.com /xmlrpc .php Link: <http: //www .addam.com/>; rel=shortlin |
我们可以很直观的看到ningx的版本信息,而别人看到我们的nginx版本信息,对于服务器来说是很不安全的,如果是某个版本出现了漏洞而我们没有及时更新,那么黑客很可能利用nginx的版本漏洞对我们的服务器进行攻击,从安全角度来说我们还是需要屏蔽掉nginx的版本信息。方法如下:
打开nginx.conf配置文件,在http{}段中添加如下内容
1 | server_tokens off; |
具体如下:
http { ……省略 sendfile on; #tcp_nopush on; server_tokens off; …….省略 } |
保存退出,然后重新加载nginx
1 | service nginx reload |
我们可以继续使用curl命令来查看一下:
[xxx@xxx ~] # curl -I www.addam.com HTTP /1 .1 200 OK Server: nginx Date: Fri, 18 Jul 2014 05:36:12 GMT Content-Type: text /html ; charset=UTF-8 Connection: keep-alive Vary: Accept-Encoding X-Powered-By: PHP /5 .3.3 X-Pingback: http: //www .addam.com /xmlrpc .php Link: <http: //www .addam.com/>; rel=shortlink |
好了,这里的nginx版本信息我们已经屏蔽掉了。
接下来我们需要做的是屏蔽掉php的版本信息,关于php的版本信息屏蔽起来也很简单,我们可以直接编辑php.ini文件
12 | [xxx@xxx etc] # vi /etc/php.ini expose_php = Off #将这里的On改成Off即可 |
重启一下php-fpm,然后我们可以看一下还有没有php版本的信息
[xxx@xxx ~] # curl -I www.addam.com HTTP /1 .1 200 OK Server: nginx Date: Fri, 18 Jul 2014 05:58:30 GMT Content-Type: text /html ; charset=UTF-8 Connection: keep-alive Vary: Accept-Encoding X-Pingback: http: //www .addam.com /xmlrpc .php Link: <http: //www .addam.com/>; rel=shortlink |
我们可以看到已经没有关于可以显示php版本信息的内容了。