伪装nginx版本防止入侵web服务器

为了防止被 黑客扫描到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也可以查看到效果

可以看到无论是用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 

任意访问一个不存在的页面,就可以看到效果了!

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值