nginx相关安全配置

一、nginx 版本隐藏

默认配置,客户端会获取nginx版本信息

 

隐藏方式:

 

二、更改nginx服务器名称

编辑nginx源代码,重新编译

1.修改nginx内核信息

vim /opt/nginx/src/core/nginx.h 

define NGINX_VERSION "8"                 #修改版本号

define NGINX_VER "xjm/" NGINX_VERSION #web软件名
define NGINX_VAR "xjm"

2.修改头部信息
       

vim src/http/ngx_http_header_filter_module.c

static char ngx_http_server_string[] = "Server: xjm" CRLF;

3.修改错误页显示

static u_char ngx_http_error_tail[] =
"<hr><center>xjm</center>" CRLF
"</body>" CRLF
"</html>" CRLF
;

 

重新编译安装,返回效果如下

 

三、限制IP或网络访问nginx

location / {
  deny 192.168.1.22;
  allow 10.10.1.0/24;
  deny all;
}

 

四、只允许通过指定域名访问

 

if ($host !~ ^(www.ifaxin.com|web.sendcloud.net)$ ) {        
    return 403;      
}

五、防止爬虫

 

if ($http_user_agent ~* "qihoobot|Baiduspider|Googlebot|Googlebot-Mobile|Googlebot-Image|Mediapartners-Google|Adsbot-Google|Yahoo!Slurp China|YoudaoBot|Sosospider|Sogou spider|Sogou web spider|MSNBot")
{
       return 403;

}

六、限制请求方式

 if ($request_method !~ (GET|POST|HEAD)){

      return 501;
  }

用Chrome浏览器Advanced Rest Client 插件测试DELETE方法被拒绝 

 

七、防止盗链

location ~* \.(gif|jpg|png|jpeg)$ {
    expires     30d;
    valid_referers none blocke *.sendcloud.net web.sendcloud.net *.baidu.com 
    *.google.com;
    if ($invalid_referer) {
        rewrite ^/ http://web.sendcloud.net/noimage.jpg;
    }
}

八、通过iptables防火墙设置限制

◆ 入站HTTP请求(TCP 80\443端口)

◆ 入站ICMP ping请求

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值