zoukankan      html  css  js  c++  java
  • 重命名nginx服务器

    为了防止被黑客扫描到web服务器信息,通过相对应的web服务器信息找出对应的版本漏洞,从而对web服务器进行入侵,nginx虽然功能强大,但是也是软件,软件就可能会有漏洞,例如nginx-0.6.32版本,默认情况下可能导致服务器错误的将任何类型的文件以php的方式进行解析,比如上传一个jpg格式的木马到论坛网站,通过漏洞解析成一个php的webshell,从而入侵获得服务器的权限,这将导致严重的安全问题,使得黑客可能攻陷支持php的nginx服务器。如果暴漏了nginx版本而且该版本又存在安全漏洞那么你的web服务器肯定危在旦夕了。
    针对于nginx服务器,可以修改源码中关于nginx的header描述信息,以下以nginx-1.2.0版本为例。
    [root@www nginx-1.2.0]# cd src/core/
    [root@www core]# vim nginx.h -------编辑nginx.h文件
    /*
    * Copyright (C) Igor Sysoev
    * Copyright (C) Nginx, Inc.
    */


    #ifndef _NGINX_H_INCLUDED_
    #define _NGINX_H_INCLUDED_


    #define nginx_version 1002000
    #define NGINX_VERSION "2.2.2" //默认为1.2.0
    #define NGINX_VER "Apache/" NGINX_VERSION //默认为Nginx

    #define NGINX_VAR "NGINX"
    #define NGX_OLDPID_EXT ".oldbin"


    #endif /* _NGINX_H_INCLUDED_ */

    然后进行正常编译完成安装。

    可以看到无论是用nmap扫描主机还是用curl获取对网站http报文的请求信息甚至是访问请求一个不存在的url都会显示web服务器使用的是Apache2.2.2版本,从而隐藏了我们真实web服务器版本即nginx-1.2.0版本,当然这里可以伪装为IIS、Lighthttp、Tengine甚至是自定义的名字都可以,总之迷惑了入侵者的思路,保护了web服务器的安全。
    补充:有朋友留言给我,说404页面还是显示出nginx的风格,那就修改默认404页面吧
    在nginx.conf中增加如下内容指定404页面路径(/usr/local/nginx/html)
    error_page 404 /404.html;
    location = /404.html {
    root html;
    }
    重新加载配置文件
    /usr/local/nginx/sbin/nginx -s reload
    任意访问一个不存在的页面,就可以看到效果了!



  • 相关阅读:
    移动web前端高效开发实践 读书笔记
    前端开发最佳实践-读书笔记
    frontend-Tips
    匿名函数的几种写法
    12个用得着的JQuery代码片段(转)
    tesseract-ocr 学习笔记(比网上的中文说明都详细)
    关于大数据的思考
    单片机实验的小记录~~PWM
    组建Redis集群遇到`GLIBC_2.14' not found和ps -ef 不显示用户名
    柔性数组(Redis源码学习)
  • 原文地址:https://www.cnblogs.com/sprinng/p/3193020.html
Copyright © 2011-2022 走看看