zoukankan      html  css  js  c++  java
  • Nginx_修改Web服务器头信息(Header)里的Server值[转]

    http://blog.rekfan.com/?p=122

    黑客攻击一个网站,往往需要了解服务器的架构,网站的架构等信息,了解了这些信息,就知道网站薄弱的地方在哪里了!
        为了不让对方知道自己的webserver真实环境,我们可以伪装隐藏自己的真实服务器环境.虽然安防不能做到100%,但至少也会让对方焦头烂额.废话不多说了! @_@``

    一. Windows环境

    修改nginx的server信息
        
        1.进入nginx安装目录下,用文本编辑器编辑conf目录下的fastcgi.conf
         
      fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

        2.用文本编辑器编辑conf目录下的fastcgi_params

        fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;

        3.#service nginx restart #重启nginx

    隐藏nginx的server信息

        1.进入nginx安装目录下,用文本编辑器编辑conf目录下的nginx.conf    
        
        #http{}里面加:

        server_tokens off;

      2.#service nginx restart #重启nginx

    二.Linux环境下
        
        同windows 操作一样 ,可能文件名稍有不同,不过本人更改后还是显示Nginx,然后按网上的修改编译src/core/nginx.h ,我们先看下更改前的header信息:

    [root@REKFAN-Server /]# curl -I http://blog.rekfan.com
    HTTP/1.1 200 OK
    Server: nginx
    Date: Fri, 02 Nov 2012 15:25:42 GMT
    Content-Type: text/html
    Content-Length: 612
    Last-Modified: Thu, 01 Nov 2012 18:47:51 GMT
    Connection: keep-alive
    ETag: "5092c3d7-264"
    Accept-Ranges: bytes

    修改后的src/core/nginx.h ,代码如下:

    /*
     * Copyright (C) Igor Sysoev
     * Copyright (C) Nginx, Inc.
     * http://blog.rekfan.com/?p=122
      */

    #ifndef _NGINX_H_INCLUDED_
    #define _NGINX_H_INCLUDED_

    #define nginx_version      1003008
    #define NGINX_VERSION      "1.3.8"
    #define NGINX_VER          "REKFAN/" NGINX_VERSION

    #define NGINX_VAR          "REKFAN"
    #define NGX_OLDPID_EXT     ".oldbin"

    #endif /* _NGINX_H_INCLUDED_ */

    编译Nginx,重新看看结果header信息还是没变!

    最后找到另一个帖子更改src/http/ngx_http_header_filter_module.c文件成功了!

    找到下面两行:
    static char ngx_http_server_string[] = "Server: nginx" CRLF;
    static char ngx_http_server_full_string[] = "Server: " NGINX_VER CRLF;
    将其修改为:
    static char ngx_http_server_string[] = "Server: REKFAN" CRLF;
    static char ngx_http_server_full_string[] = "Server: REKFAN/1.0" CRLF;

    将上面红色修改为你想要显示的信息,重新编译后重新启动下Nginx!

    重新查看header信息:
    [root@REKFAN-Server /]# curl -I http://blog.rekfan.com
    HTTP/1.1 200 OK
    Server: REKFAN
    Date: Fri, 02 Nov 2012 15:30:28 GMT
    Content-Type: text/html
    Content-Length: 612
    Last-Modified: Thu, 01 Nov 2012 18:47:51 GMT
    Connection: keep-alive
    ETag: "5092c3d7-264"
    Accept-Ranges: bytes

    后来发现,当我们添加server_tokens off; 参数的时候,调用的是src/http/ngx_http_header_filter_module.c里的值
    不添加的时候,显示版本号调用的是src/core/nginx.h里的值,所以我们修改的时候尽量两个地方都修改!

  • 相关阅读:
    Beta版软件说明书
    团队项目第五天
    cnblogs用户体验评价
    团队项目测试计划
    Alpha版总结会议
    软件使用说明书
    团队绩效考核
    各个小组对于“我爱淘”的评价
    软件工程团队项目评价
    丹佛机场行李系统处理方案
  • 原文地址:https://www.cnblogs.com/jenqz/p/4913698.html
Copyright © 2011-2022 走看看