nginx配置与详解7:安全与限制访问1

DDOS攻击,这种攻击廉价且效果出众,直接通过第四层网络协议用他的带宽把你的带宽顶掉,造成网路阻塞,暂时的解决方法只有三种,第一种就是你要够有钱,买强大的高级防火墙,或者使用的带宽足够大,无视这些网络流量。第二种是技术足够强,用类如DPDK的高效数据包处理驱动,开发出流量清洗服务,把垃圾网络包过滤掉,不过同时也会影响正常的网络包,增加延时。第三种就是钱不多的公司多数使用的方案,换ip(废话)。

还有一种网络攻击其实比起DDOS更频繁出现,就是CC(Challenge Collapsar)攻击,一般来说是利用网站代码漏洞,不停地发大量数据包请求,造成对方服务器回应这些请求导致资源耗尽,一直到宕机崩溃。这种攻击属于第七层的网络协议,一方面在服务器层面是正常的请求,所以这种情况想根本解决问题,只能从代码入手。但是另一方面,也就可以用其他来限制他访问,例如nginx的配置上也是能稍微防一下。

!!!具体看需求进行相应nginx配置!!!!

!!!具体看需求进行相应nginx配置!!!!

!!!具体看需求进行相应nginx配置!!!!

 

 一般配置

http {

#默认是不允许列出整个目录的

autoindex off;

 

#默认是会在返回的数据包中显示版本号 ,开启隐藏

server_tokens off;

 

#设置客户端请求头读取超时时间,超过这个时间还没有发送任何数据,Nginx将返回“Request time out(408)”错误

client_header_timeout 15;

 

#设置客户端请求主体读取超时时间,超过这个时间还没有发送任何数据,Nginx将返回“Request time out(408)”错误

client_body_timeout 15;  

 

#上传文件大小限制

client_max_body_size 100m;

 

#指定响应客户端的超时时间。这个超过仅限于两个连接活动之间的时间,如果超过这个时间,客户端没有任何活动,Nginx将会关闭连接。

send_timeout    600;

 

#设置客户端连接保持会话的超时时间,超过这个时间,服务器会关闭该连接。

keepalive_timeout 60;

 

#设置网站根目录的访问权限,allow就是允许访问的ip和ip段,deny就是禁止访问的ip和ip段

location / {

    allow 192.168.1.1/24;

    allow 120.76.147.159;

    deny 119.23.19.240;

    deny 192.168.3.1/24;

    deny all;

}

 

#限制访问个别目录或文件后缀名

#在访问uploads、p_w_picpaths目录时,访问php|php5|jsp后缀的文件会返回403代码,也就是不给执行代码了

location ~ ^/(uploads|p_w_picpaths)/.*\.(php|php5|jsp)$ {

    allow 192.168.1.1/24;

    return 403;

}

#禁止访问所有目录下的sql|log|txt|jar|war|sh|py后缀的文件,这些是什么文件就不详细说了。

location ~.*\.(sql|log|txt|jar|war|sh|py) {

    deny all;

}

#有时候,有些访问记录不想保存到日志里面,例如静态图片

location ~ .*\.(js|jpg|JPG|jpeg|JPEG|css|bmp|gif|GIF|png)$ {

    access_log off;

}

#如果想用户体验好一点,可以建立一个报错页面,然后让这个页面跳转到其他页面

error_page 403 http://www.example.com/errorfile/404.html;

 

#判断特定条件,然后拒绝服务

#判断当http_user_agent返回的结果中包含UNAVAILABLE关键字,则返回403错误。

location / {

    if ($http_user_agent ~ UNAVAILABLE) {

    return 403;

    }

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值