网站安全防护

服务咨询热线:

17202014336

高防服务器,DDoS防护

反cc攻击要设置成每秒多少次?

当前位置: 首页> 安全研究> 反cc攻击要设置成每秒多少次?
时间:2021-08-14

  反cc攻击应该设定几秒钟?许多人都遇到过CC攻击的情况,CC攻击可以从高防服务器和应用层面上防御并减轻影响。该文介绍了可在受到CC攻击后在服务器上采取的简易防CC攻击设置。


  Nginx防CC设置。


  不像DDoS防护那样依靠流量蛮力攻击,CC攻击模拟了正常用户与服务器的交互。CC攻击一般需要发现网站/应用的弱点,然后通过大量连接/请求消耗服务器资源,让CPU、带宽资源占用激增。


  同时的请求和请求率。


  保护CC攻击的主要方法是限制并发请求和请求率。并行请求数量指的是单个ip可以连接到一个服务器的多少,请求率是指一个单位时间内的请求数。它们是共同的,但是却有不同的含义,比如建立10个连接请求每次连接请求一次,或者建立10次连接请求。前者多为并发连接,后者为高请求率。

高防服务器
  Nginx同时支持并发请求限制和限制请求率。防御性CC攻击主要是速率限制,理论上速率限制要好一些。在实践中,提出将两种方法结合起来,以防止过多的连接消耗服务器资源和过快的请求速率。


  设置Nginx防CC步骤。


  Nginx防CC详细设置步骤如下:


  1.编辑Nginx配置文件,如/etc/nginx/nginx.conf,在http段分配计数内存:


  巴什。


  limit_conn_zone$binary_remote_addrzone=limit_conn:10m;


  limit_req_zone$binary_remote_addrzone=limit_req:10mrate=10r/s;


  上面的配置分配了10M大小的limit_conn和limit_req(1M内存可以记录16000个会话),并设置每秒最大请求率为10次。


  2、在server或location段中打开/etc/nginx/conf.d/qiquanji.conf等站点配置文件:


  巴什。


  服务器{


  limit_connlimit_conn5;#并发连接的数目不超过5。


  limit_reqzone=limit_reqburst=10nodelay;


  #附加设置。


  http中的设置允许每秒10个请求,也就是100ms,如果10个连接突然增加,9个则直接返回503错误,这是我们不愿意看到的。limit_req中的burst参数用于处理突发请求,此时将接受10个请求,以应对突发流量。如果多出10个,则将超过允许的突发限制,Nginx将直接返回503错误。


  nodelay表示如果允许突发请求,直接处理所有请求,而不用每100毫秒处理一个请求。


  在实际操作中,应根据实际情况设置并发连接和请求率。数量过大会影响防御效果,太小会影响正常用户的使用。另外,建议始终启用burst和nodelay来处理突发流量。


  3.保存配置文件,nginx-t检查是否出现语法错误,然后重新加载systemctlreloadnginx。


  其它事项


  1.某些ip可被放入白名单,以避免受到速率限制。该操作是添加新的http段的开放变量:


  巴什。


  $whitelist{


  default1;


  10.0.0.170;#以此格式添加白名单ip。


  }


  映射$whitelist$limit{


  0"";


  1$binary_remote_addr;


  }


  将#limit_conn_zone和limit_req_zone更改为:


  limit_conn_zone$limitzone=limit_conn:10m;


  limit_req_zone$limitzone=limit_req:10rate=10r/s;


  不需要更改#其他配置。


  可以将2.limit_conn和limit_req指令放在http、server、location中,分别表示对所有站点、特色站点、特定URL的使用限制;


  3.处理复杂场景可以同时使用多个limit_conn和limit_req。


  防CC设置firewalld/iptables。


  Nginx可以限制并发请求的数量,而且防火墙(iptables/firewalld)也可以实现,而且性能更好。


  主要有两个方面的限制:


  1.拉黑某些ip:


  巴什。


  #iptables


  iptables-IINPUt-ptcp-s黑名单ip-jDROP。


  #firewalld。


  firewall-cmd-add-rich-rule="rulefamily='ipv4'sourceaddress='黑名单ip'reject"


  2.限制ip并发连接:


  巴什。


  #iptables


  ptables-IINPUt-ptcp-dport443-mconnlimit-above5-jDROP。


  #firewalld。


  firewall-cmd-add-rich-rule'tocol=tcpacceptlimitvalue="5/s"


  更改Nginx最多可以打开的文件数。


  缺省的Nginx可以打开1024个文件/连接,大流量时显然不够用,因此需要加大。


  运作方式如下:


  1.编辑/etc/systemd/system/multi-user.target.wants/nginx.service,添加文件数量限制:


  巴什。


  [Unit]


  描述=ThenginxHTTPandreverseproxyserver。


  After=network.targetremote-fs.targetnss-lookup.target。


  [服务]


  #添加一行。


  LimitNOFILE=65535。


  #其它不必更改。


  2.重新启动Nginx:systemctldaemon-reload;


  3.查看Nginx打开文件限制是否生效:psaux|grepnginx找到nginx的进程号,然后cat/proc/进程号/limits,输出。


  以上就是小编帮大家整理的内容,希望能帮助到您,更多请您关注我们的官网新闻!

上一篇:高防服务器共享防御和独立防御的区别是什么? 下一篇:软体防火墙和硬件防火墙哪个更好?
最新文章
渗透测试
17202014336
渗透测试
网站安全检测
APP安全检测