• 隐藏Nginx版本号


      一般来说,黑客攻击服务器的首要步骤就是收集信息,比如说你的软件版本,这些将成为下一步有针对性攻击的依据。所以说一定程度的隐藏这些信息就显得非常有必要了,本文将简单介绍如何在网络上隐藏Nginx版本号以及PHP的版本号。

      1.隐藏Nginx版本号,Nginx的版本号主要在两个地方会有,

      第一个是HTTP header,有个Server:nginx/1.x.x类似会暴露Web服务器所用软件名称以及版本号,这个也是大多数Web服务器最容易暴露版本号的地方,如下:

    [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

      第二个地方是Nginx出错页面,比如404页面没有找到等,这是如果用户没有指定页面的话,那么Nginx自己的页面会有版本戳记。

      不过幸运的是对于这两个地方的版本号隐藏,Nginx都提供了简单的办法一步到位,参考server_tokens。通过在配置文件的http节配置server_tokens off来达到我们目的。

    1、打开Nginx主配置文件:nginx.conf,取消注释或添加配置语句。

    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;

    3、重新加载nginx配置

    # /etc/init.d/nginx reload 或
    # servic 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

    转载自:http://www.ttlsa.com/nginx/hidden-nginx-version/;

  • 相关阅读:
    jQuery中.html(“xxx”)和.append("xxx")的区别和不同
    Jquery中对checkbox的各种“全选”或者“取消”功能实现(特别注意1.6+的一定不能使用attr来取属性了!用prop!)
    Jquery 中each循环嵌套的使用示例教程
    关于Jquery中的$.each获取各种返回类型数据的使用方法
    IMEI是什么? 怎样查手机串号IMEI
    linux useradd(adduser)命令参数及用法详解(linux创建新用户命令)
    linux 的useradd 命令的p选项
    Linux SSH远程文件/目录传输命令scp
    C++ 迭代器 基础介绍
    C++中map的一点疑惑...
  • 原文地址:https://www.cnblogs.com/toughlife/p/5475180.html
Copyright © 2020-2023  润新知