(DDoS:Distributed Denial of Service)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动 DDoS 攻击,从而成倍地提高拒绝服务攻击的威力。
通常,攻击者将攻击程序通过代理程序安装在网络上的各个“肉鸡”上,代理程序收到指令时就发动攻击。
随着网络技术发展,DDOS 攻击也在不断进化,攻击成本越来越低,而攻击力度却成倍加大,使得 DDOS 更加难以防范。比如反射型 DDoS 攻击就是相对高阶的攻击方式。攻击者并不直接攻击目标服务 IP,而是通过伪造被攻击者的 IP 向全球特殊的服务器发请求报文,这些特殊的服务器会将数倍于请求报文的数据包发送到那个被攻击的 IP(目标服务 IP)。
DDOS 攻击让人望而生畏,它可以直接导致网站宕机、服务器瘫痪,对网站乃至企业造成严重损失。而且 DDOS 很难防范,可以说目前没有根治之法,只能尽量提升自身“抗压能力”来缓解攻击,比如购买高防服务。
DDoS 攻击简介
分布式拒绝服务攻击(DDoS 攻击)是一种针对目标系统的恶意网络攻击行为,DDoS 攻击经常会导致被攻击者的业务无法正常访问,也就是所谓的拒绝服务。
常见的 DDoS 攻击包括以下几类:
网络层攻击:比较典型的攻击类型是 UDP 反射攻击,例如:NTP Flood 攻击,这类攻击主要利用大流量拥塞被攻击者的网络带宽,导致被攻击者的业务无法正常响应客户访问。
传输层攻击:比较典型的攻击类型包括 SYN Flood 攻击、连接数攻击等,这类攻击通过占用服务器的连接池资源从而达到拒绝服务的目的。
会话层攻击:比较典型的攻击类型是 SSL 连接攻击,这类攻击占用服务器的 SSL 会话资源从而达到拒绝服务的目的。
应用层攻击:比较典型的攻击类型包括 DNS flood 攻击、HTTP flood 攻击、游戏假人攻击等,这类攻击占用服务器的应用处理资源极大的消耗服务器处理性能从而达到拒绝服务的目的。
DDoS 攻击缓解最佳实践
建议阿里云用户从以下几个方面着手缓解 DDoS 攻击的威胁:
缩小暴露面,隔离资源和不相关的业务,降低被攻击的风险。
优化业务架构,利用公共云的特性设计弹性伸缩和灾备切换的系统。
服务器安全加固,提升服务器自身的连接数等性能。
做好业务监控和应急响应。
DDOS 攻击应对策略
这里我们分享一些在一定程度范围内,能够应对缓解 DDOS 攻击的策略方法,以供大家借鉴。
1.定期检查服务器漏洞
定期检查服务器软件安全漏洞,是确保服务器安全的最基本措施。无论是操作系统(Windows 或 linux),还是网站常用应用软件(mysql、Apache、nginx、FTP 等),服务器运维人员要特别关注这些软件的最新漏洞动态,出现高危漏洞要及时打补丁修补。
2.隐藏服务器真实 IP
通过 CDN 节点中转加速服务,可以有效的隐藏网站服务器的真实 IP 地址。CDN 服务根据网站具体情况进行选择,对于普通的中小企业站点或个人站点可以先使用免费的 CDN 服务,比如百度云加速、七牛 CDN 等,待网站流量提升了,需求高了之后,再考虑付费的 CDN 服务。
其次,防止服务器对外传送信息泄漏 IP 地址,最常见的情况是,服务器不要使用发送邮件功能,因为邮件头会泄漏服务器的 IP 地址。如果非要发送邮件,可以通过第三方代理(例如 sendcloud)发送,这样对外显示的 IP 是代理的 IP 地址。
3.关闭不必要的服务或端口
这也是服务器运维人员最常用的做法。在服务器防火墙中,只开启使用的端口,比如网站 web 服务的 80 端口、数据库的 3306 端口、SSH 服务的 22 端口等。关闭不必要的服务或端口,在路由器上过滤假 IP。
4.购买高防提高承受能力
该措施是通过购买高防的盾机,提高服务器的带宽等资源,来提升自身的承受攻击能力。一些知名 IDC 服务商都有相应的服务提供,比如阿里云、腾讯云等。但该方案成本预算较高,对于普通中小企业甚至个人站长并不合适,且不被攻击时造成服务器资源闲置,所以这里不过多阐述。
5.限制 SYN/ICMP 流量
用户应在路由器上配置 SYN/ICMP 的最大流量来限制 SYN/ICMP 封包所能占有的最高频宽,这样,当出现大量的超过所限定的 SYN/ICMP 流量时,说明不是正常的网络访问,而是有黑客入侵。早期通过限制 SYN/ICMP 流量是最好的防范 DOS 的方法,虽然目前该方法对于 DdoS 效果不太明显了,不过仍然能够起到一定的作用。
6.网站请求 IP 过滤
除了服务器之外,网站程序本身安全性能也需要提升。系统安全机制里的过滤功能,通过限制单位时间内的 POST 请求、404 页面等访问操作,来过滤掉次数过多的异常行为。虽然这对 DDOS 攻击没有明显的改善效果,但也在一定程度上减轻小带宽的恶意攻击。
2.3 部署 DNS 智能解析
通过智能解析的方式优化 DNS 解析,可以有效避免 DNS 流量攻击产生的风险。同时,建议您将业务托管至多家 DNS 服务商。
屏蔽未经请求发送的 DNS 响应信息
丢弃快速重传数据包
启用 TTL
丢弃未知来源的 DNS 查询请求和响应数据
丢弃未经请求或突发的 DNS 请求
启动 DNS 客户端验证
对响应信息进行缓存处理
使用 ACL 的权限
利用 ACL,BCP38 及 IP 信誉功能
2.4 提供余量带宽
通过服务器性能测试,评估正常业务环境下所能承受的带宽和请求数。在购买带宽时确保有一定的余量带宽,可以避免遭受攻击时带宽大于正常使用量而影响正常用户的情况。
3. 服务安全加固
对服务器上的操作系统、软件服务进行安全加固,减少可被攻击的点,增大攻击方的攻击成本:
确保服务器的系统文件是最新的版本,并及时更新系统补丁。
对所有服务器主机进行检查,清楚访问者的来源。
过滤不必要的服务和端口。例如,对于 WWW 服务器,只开放 80 端口,将其他所有端口关闭,或在防火墙上设置阻止策略。
限制同时打开的 SYN 半连接数目,缩短 SYN 半连接的 timeout 时间,限制 SYN/ICMP 流量。
仔细检查网络设备和服务器系统的日志。一旦出现漏洞或是时间变更,则说明服务器可能遭到了攻击。
限制在防火墙外进行网络文件共享。降低黑客截取系统文件的机会,若黑客以特洛伊木马替换它,文件传输功能将会陷入瘫痪。
充分利用网络设备保护网络资源。在配置路由器时应考虑针对流控、包过滤、半连接超时、垃圾包丢弃、来源伪造的数据包丢弃、SYN 阀值、禁用 ICMP 和 UDP 广播的策略配置。
通过 iptable 之类的软件防火墙限制疑似恶意 IP 的 TCP 新建连接,限制疑似恶意 IP 的连接、传输速率。
4. 业务监控和应急响应
4.1 关注基础 DDoS 防护监控
当您的业务遭受 DDoS 攻击时,基础 DDoS 默认会通过短信和邮件方式发出告警信息,针对大流量攻击基础 DDoS 防护也支持电话报警,建议您在接受到告警的第一时间进行应急处理。
5.1 Web 应用防火墙(WAF)
针对网站类应用,例如常见的 http Flood(CC 攻击)攻击,可以使用 WAF 可以提供针对连接层攻击、会话层攻击和应用层攻击进行有效防御。建议使用 360 磐云 Web 应用防火墙服务。
5.2 DDoS 防护包
5.3 DDoS 高级防护
针对大流量 DDoS 攻击,建议使用 360 磐云高防 IP 服务。
应当避免的事项
DDoS 攻击是业内公认的行业公敌,DDoS 攻击不仅影响被攻击者,同时也会对服务商网络的稳定性造成影响,从而对处于同一网络下的其他用户业务也会造成损失。目前而言,DDOS 攻击并没有最好的根治之法,做不到彻底防御,只能采取各种手段在一定程度上减缓攻击伤害。所以平时服务器的运维工作还是要做好基本的保障,最好提前架起防御措施,将 DDOS 攻击防范于未然