一、先介绍nginx隐藏版本号的方法。

搭建好nginx或者apache,为了安全起见我们都会隐藏他们的版本号,这边讲的是nginx的版本号,如果你也想隐藏apache的版本号,那请点前面的链接。请看nginx版本号信息隐藏文章。

Nginx默认是显示版本号的,如:

[root@bkjz ~]# curl -I www.nginx.org
1
[root@bkjz ~]# curl -I www.nginx.org
HTTP/1.1 200 OK
Server: nginx/0.8.44
Date: Tue, 13 Jul 2010 14:05:11 GMT
Content-Type: text/html
Content-Length: 8284
Last-Modified: Tue, 13 Jul 2010 12:00:13 GMT
Connection: keep-alive
Keep-Alive: timeout=15
Accept-Ranges: bytes
1
2
3
4
5
6
7
8
9
HTTP/1.1 200 OK
Server: nginx/0.8.44
Date: Tue, 13 Jul 2010 14:05:11 GMT
Content-Type: text/html
Content-Length: 8284
Last-Modified: Tue, 13 Jul 2010 12:00:13 GMT
Connection: keep-alive
Keep-Alive: timeout=15
Accept-Ranges: bytes

这样就给人家看到你的服务器nginx版本是0.8.44,前些时间暴出了一些Nginx版本漏洞,就是说有些版本有漏洞,而有些版本没有。这样暴露出来的版本号就容易变成攻击者可利用的信息。所以,从安全的角度来说,隐藏版本号会相对安全些!

那nginx版本号可以隐藏不?其实可以的,看下面的步骤:

1、进入nginx配置文件的目录(此目录根据安装时决定),用vim编辑打开

# vim nginx.conf
1
# vim nginx.conf

在http {—}里加上server_tokens off; 如:

http {
……省略
sendfile on;
tcp_nopush on;
keepalive_timeout 60;
tcp_nodelay on;
server_tokens off;
…….省略
}
1
2
3
4
5
6
7
8
9
http {
……省略
sendfile on;
tcp_nopush on;
keepalive_timeout 60;
tcp_nodelay on;
server_tokens off;
…….省略
}

2、编辑php-fpm配置文件,如fastcgi.conf或fcgi.conf(这个配置文件名也可以自定义的,根据具体文件名修改):

找到:
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
改为:
fastcgi_param SERVER_SOFTWARE nginx;
1
2
3
4
找到:
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
改为:
fastcgi_param SERVER_SOFTWARE nginx;

3、重新加载nginx配置:

# /etc/init.d/nginx reload
1
# /etc/init.d/nginx reload

这样就完全对外隐藏了nginx版本号了,就是出现404、501等页面也不会显示nginx版本。

下面测试一下:

# curl -I www.abc.net
HTTP/1.1 200 OK
Server: nginx
Date: Tue, 13 Jul 2010 14:26:56 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding
1
2
3
4
5
6
7
# curl -I www.abc.net
HTTP/1.1 200 OK
Server: nginx
Date: Tue, 13 Jul 2010 14:26:56 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding

二、下面是Apache隐藏版本号的方法。

安装完apache一般第一时间都是关闭apache的版本信息和其他信息,一些黑客会通过apache暴露出来的信息针对性的入侵,为了服务器的安全这些信息一定要及时关闭,配置如下

1. 隐藏Apache信息

1.1 主配置中启用httpd-default.conf

# vi /usr/local/apache2/conf/httpd.Conf
//找到httpd-default.conf,删除includes前面的“#”,改成如下
Include conf/extra/httpd-default.conf
1
2
3
# vi /usr/local/apache2/conf/httpd.Conf
//找到httpd-default.conf,删除includes前面的“#”,改成如下
Include conf/extra/httpd-default.conf

1.2 修改httpd-default.conf

文件:/usr/local/apache2/conf/extra/httpd-default.conf

找到

ServerTokens Full
ServerSignature On
1
2
ServerTokens Full
ServerSignature On

改成

ServerTokens Prod
ServerSignature off
1
2
ServerTokens Prod
ServerSignature off

2. 测试

2.1 修改前截图

未隐藏apache信息

2.2 隐藏后

隐藏apache信息

 3. 结束

配置完成,很简单.

隐藏Nginx/Apache版本号的安全性与方法的更多相关文章

  1. (转)彻底隐藏Nginx版本号的安全性与方法

    Nginx默认是显示版本号的,如: [root@bkjz ~]# curl -I www.nginx.orgHTTP/1.1 200 OKServer: nginx/0.8.44Date: Tue, ...

  2. Nginx优化之基本安全优化 (隐藏Nginx软件版本号信息,更改源码隐藏Nginx软件名及版本号,更改Nginx服务的默认用户)

    一,隐藏Nginx软件版本号信息 查看版本号 curl -I 192.168.0.220 HTTP/1.1 200 OK Server: nginx/1.6.2 #这里清晰的暴露了Web版本号(1.6 ...

  3. 修改或隐藏Nginx的版本号

    隐藏版本号 隐藏nginx的版本号很简单,nginx的HttpCoreModule提供了一条叫做server_tokens指令,我这要将这条指令设置为“server_tokens off”就可以了. ...

  4. 隐藏Nginx软件版本号信息

    为了提高我们web服务器的安全性,我们应当尽可能的隐藏服务器的信息以防止他人通过这些信息找到漏洞侵入我们的服务器,对于Nginx而言,我们安装好Nginx后最好隐藏Nginx的版本号,以防止通过该版本 ...

  5. 隐藏Nginx版本号的安全性与方法

    搭建好nginx或者apache,为了安全起见我们都会隐藏他们的版本号,这边讲的是nginx的版本号,如果你也想隐藏apache的版本号,那请点前面的链接.请看nginx版本号信息隐藏文章. Ngin ...

  6. 伪装隐藏Nginx,PHP版本号提升服务器安全性

    可能有时候我们看某些站点想知道别人在使用什么版本的web服务器之类的信息时,却发现并未显示版本号,甚至连WEB服务器都有变化,可以通过以下 方法来隐藏Nginx.PHP的版本号信息,来提升一定的安全性 ...

  7. centos7下如何隐藏nginx的版本号

    我们在访问nginx的时候会暴露nginx的版本号,如何将这些版本号隐藏呢? 其实隐藏版本号非常简单 在nginx的配置文件中添加一个server——tokens  off:参数就可以了,下面进行操作 ...

  8. 彻底隐藏Nginx版本号的安全性与方法

    Nginx默认是显示版本号的,如: [root@bkjz ~]# curl -I www.nginx.orgHTTP/1.1 200 OKServer: nginx/0.8.44Date: Tue, ...

  9. nginx/apache/php隐藏http头部版本信息的实现方法

    有时候我们需要隐藏我们的服务器版本信息,防止有心人士的研究,更安全,这里介绍下在nginx/apache/php中如何隐藏http头部版本信息的方法. nginx隐藏头部版本信息方法 编辑nginx. ...

随机推荐

  1. iOS开发之格式化日期时间(转)

    在开发iOS程序时,有时候需要将时间格式调整成自己希望的格式,这个时候我们可以用NSDateFormatter类来处理.例如: //实例化一个NSDateFormatter对象 NSDateForma ...

  2. ios------进度轮

    UIActivityIndicatorView实例提供轻型视图,这些视图显示一个标准的旋转进度轮.当使用这些视图时,最重要的一个关键词是小.20×20像素是大多数指示器样式获得最清楚显示效果的大小.只 ...

  3. JS所谓的享元模式-->

    <!DOCTYPE html> <html> <head> <title></title> </head> <body&g ...

  4. Spring3.2.2之后不赞成使用queryForInt

    原来: public int getMatchCount(String username,String password){ String sql="select count(*) from ...

  5. ASP.NET MVC4中调用WEB API的四个方法

    http://tech.it168.com/a2012/0606/1357/000001357231_all.shtml [IT168技术]当今的软件开发中,设计软件的服务并将其通过网络对外发布,让各 ...

  6. php绝对路径与相对路径之间关系的的深入研究

    php中好像不能像asp那样用“/”表示根目录,代之以$_SERVER['DOCUMENT_ROOT'],其它则相同:../表示向上一层../表示当前层.假如现在a/b/c/s.php要调用根目录下的 ...

  7. ios 文字上下滚动效果Demo

    http://pan.baidu.com/s/1qWj8vBQ

  8. Apache22中配置虚拟主机(Apache VirtualHost)

    Apache VirtualHost的作用就是可以让一个apache为多个域名服务,相当于一个服务器挂了N多个网站,举个例子: 我的apache服务器,ip为x.x.x.x,我有两个域名www.too ...

  9. html5视频播放器

    <!doctype html> <html> <head> <meta http-equiv="Content-Type" content ...

  10. WPF控件模拟双击事件

    Action a = () => { i += ; ) { Interval = }; timer.Elapsed += (sender, e) => { timer.Enabled = ...