专栏首页用户4667108的专栏如何防御大流量例如cc和ddos这种攻击

如何防御大流量例如cc和ddos这种攻击

前言

最近看见一些我的朋友遭受了各种网站攻击,于是就有了这篇博文,主要讲解如何防御大流量消耗资源的方案。

了解流量防御口

一个单服务器的流量进入由 客户>解析域名(如果有域名解析缓存可不需要)>服务器网卡硬件>服务器服务端(例如nginx)>服务器网页程序(例如typecho)

了解cc和ddos

cc和ddos是一种攻击方式 由于篇幅问题我们引用了文章 cc和ddos区别

了解流量黑洞

当服务器遭受到大流量攻击时,服务商会检测一定流量上限对服务器进行黑洞处理,黑洞顾名思义,如黑洞一般,将该台服务器脱离外网环境,进行隔离一定时间,如果仍然存在大流量攻击就会一直进入黑洞,黑洞时间一般在2小时,隔离服务器是比较万全的,因为一个服务器受到大流量攻击可能会牵连整个机房服务器躺枪,为了避免这种情况黑洞机制就出现了。

准备工作

相信被攻击很多人才会找如何防御,都被攻击了防御又怎么及时。 我们先要关闭域名解析,然后对服务器的IP进行切换, 如果是黑洞状态需要等待时间。

确定问题

先别着急防御,我们首先要确定问题,如果你有CDN加持,翻车,可能就是你泄露了服务器ip或者漏洞泄露了, 如果避免ip泄露就是一个问题了,很多情况下发送邮件是可以泄露服务器ip的,因为一些原因单台服务器顺便当邮件发送很常见,所以这样导致的泄露ip是很常见的。

其次是对日志的分析,分析ip是否泄露,日志可以从php日志和服务商提供的日志下载,分析出被攻击网页特征和攻击特征,比如五个相同的ip攻击,如果是cc攻击是可以比较好的防御的,还有攻击同一个网页的,收集好这些数据。如果量大可以提交举报。

避免再次黑洞

如何避免服务器再次黑洞,我们可以使用两台服务器,对主服务器进行反代,无论怎么攻击,主服务器运行不会受到影响,当然副服务器可以增加两台(这样在cdn中可以设置主备,这样来回横跳能抗一会

万能的CDN

CDN就是一个分布式的服务器群,加入cdn之后,在流量方面能过帮我们缓存部分资源,在平常业务中能过更快更流畅,当然被攻击的时候比如ddos和cc都有一定用处,但是一定要记住泄露源站ip是保不了你的,设置好源站缓存的一些规则会更高效,其次刚刚说过如何避免黑洞,你主备两ip+cdn可以抗一会 但是远远不够。

服务器第一层程序防御

服务器第一层软件一般都是nginx iis之类的 但是我们今天只讲解nginx,为什么?nginx多并发高性能,抗打就套上,而且我一般也不用什么Apache,也搞不懂。 nginx我们进行的是对ip进行封禁,对流量进行限制,误杀几率尽量压制到最低。 nginx需要修改配置项 下面的指令可以对nginx设置单用户限速和限制链接数量

client_body_timeout
limit_req_zone
limit_conn_zone

这些操作详细内容不做介绍 除了这些你还可以使用nginx_lua脚本进行一些操作 这篇文章有些不足的是对seo有些问题,不过可以通过一些方法解决,这个放在以后文章。 这里你还可以开启 用基于sysctl的保护(这个是可以鉴别一些伪造的或者cookies的 经典防御文章 除了这些你还可以使用deny指令对指定的ip或者ip段进行封杀,除了这些还有很多,但是我们需要介绍很多,所以这个可以百度找到。 撇开这些我想起宝塔本身就可以限制流量,当然这样被cc或者ddos占完估计用户全是503之类的

waf

突然就忘记了防火墙别着急,防火墙分为两类其中一种是硬件防火墙一种是软件防火墙,但是服务器的硬件防火墙就需要充钱来解决了,比如说什么云盾什么的,停,虽然硬件防火墙是很有用,但是没办法没钱买那个几千的学生,只能用用免费的防火墙了。 这里环境是linux,win主机可以自行百度。

fail2ban就是一款出色的服务器入侵检测软件 可以阻止连接到服务器的可疑IP。这会扫描服务器日志以查找可疑访问权限并在防火墙中阻止此类IP,例如,我们创建一个fail2ban jail/etc/fail2ban/jail.local并添加以下代码来监控对Nginx的请求数。

 [nginx-req-limit] enabled = true 
 filter = nginx-req-limit action = 
 iptables-multiport[name=ReqLimit, 
 port=”http,https”, protocol=tcp] 
 logpath = /var/log/nginx/*error.log 
 findtime = 200 bantime = 2600 
 maxretry = 20

这将扫描Nginx日志文件并阻止IP与服务器建立过多连接。

在linux还可以使用DDoS-Deflate,这是一款非常小巧的防御和减轻DDoS攻击的工具,它可以通过监测netstat来跟踪来创建大量互联网连接的IP地址信息,通过APF或IPTABLES禁止或阻档这些非常IP地址。

第二层网页软件防cc

都打到这里来了,还能有啥防御?如果想防御的话,也只能防cc了,这里可以使用数据库缓存比如memcached和静态化缓存,当然还可以使用五秒盾进行防御cc

总结

cc是一种比较好防御的攻击,但是ddos就是洪流了,有人在双11前夕有人调侃每年流量最大的ddos即将开始, ddos本身就是一种不好防御的攻击,一些大厂依然受到攻击,码云之类的平台也遭受过,在这之下,我们能做好的就是修复漏洞,限制流量,避免服务器的过多流量,分布均衡,这些是我的看法,有兴趣可以留言。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • PHP渗透基础入门其一

    提示:了解Mysql和php可能更容易理解 构造Mysql语句时利用一些方法使某些不应该返回的数据返回或者执行某种不该执行的命令 这个过程就叫注入 那我们来举个...

    乔千
  • 如何高效利用jsdelivr做cdn-GitStatic插件

    这款插件是基于默认 jsdelivr 静态加速, 类似于 cos/oos 储存静态方案,相信如果有前端开发经验的都知道,jsdelivr 做静态加速也是不错的。

    乔千
  • Linux常用命令(一)

    cd /demo/set 表示切换到/demo/set路径下。 cd logs 表示切换到logs路径下。 cd / 表示切换到根目录。 cd ../ 表示切换...

    乔千
  • CentOS 傻瓜式部署uWSGI + nginx + flask

    这篇帖子是为了提供我自己的July Novel站点的小说数据支撑。解决分布式部署爬虫程序的繁琐过程,由于本人对shell编程并不熟悉,故而先逐步记录操作步骤,通...

    从今若
  • 针对nginx、haproxy、lvs 的优缺点分析

    Nginx的优点:          1.性能好,可以负载超过1万的并发。          2.功能多,除了负载均衡,还能作Web服务器,而且可以通过Ge...

    DevinGeng
  • 负载均衡原理的解析

    作者:源子姗 my.oschina.net/u/3341316/blog/877206 开头先理解一下所谓的“均衡” 不能狭义地理解为分配给所有实际服务器一样多...

    企鹅号小编
  • 负载均衡原理的解析

    开头先理解一下所谓的“均衡” 不能狭义地理解为分配给所有实际服务器一样多的工作量,因为多台服务器的...

    小小科
  • 更换服务器遇到的破事

    沈唁
  • 分布式项目中Nginx应用场景研究

    众所周知nginx一般有两个作用,一个是负载均衡、一个反向代理。但是自从接触了duubo+zookeeper(或者springcloud)之后,脑子里面就会有一...

    林老师带你学编程
  • 英文 | 性能大比拼:list.sort()与sorted()

    花下猫语:list.sort() 与 sorted(list) 是常用的列表排序方法,但是,你是否考虑过在占用内存与排序速度上,两者有啥优劣么?今天分享的文章对...

    Python猫

扫码关注云+社区

领取腾讯云代金券