DDoS可以说在互联网界大名鼎鼎,也可以直言说是臭名昭著,随着DDoS攻击的范围越来越广泛,网站的安全也就变得更加重要。我们在预防DDoS攻击前,可以先来了解一下DDoS,还有DDoS的常见攻击方式。
关于DDoS攻击
DDoS(Distributed Denial of Service),即分布式拒绝服务,那这分布式拒绝服务具体是什么意思?广义上来讲一切能够导致合法用户不能正常访问网络服务的行为都是拒绝服务攻击,而DDoS主要是通过大量合法请求占用大量资源,导致服务器瘫痪,使正常用户无法访问。DDoS攻击迅猛,来势汹汹,一旦实施就如洪水般涌向受害服务器,所以也被称作“洪水攻击”。
DDoS常见攻击手段
1.SYN Flood
非常经典且有效的DDoS攻击方式,利用TCP/IP协议,经过三次握手的机制进行攻击,对受害服务器主机发送大量伪源IP、伪源端口的SYN或ACK包,从而消耗服务器资源,导致服务器拒绝访问。
注:SYN(Synchronize Sequence Numbers即TCP/IP协议中的同步序列编号)
ACK(Acknowledge character即TCP/IP协议中的确认字符)
2.IP Floop
此攻击用多个随机的源主机地址向受害主机发送大量随机或特定的IP包,造成受害主机不能处理其他正常用户的IP报文。
3.DNS Query Flood
通过发起大量伪DNS回应包,导致DNS服务器带宽阻塞,无法响应正常用户的请求,正常用户不能解析DNS,所以无法获取服务。
4.Https Flood
使用https协议的Web服务器上的访问服务,向受害服务器主机发送大量请求服务,使服务器忙于向攻击者提供https响应资源,导致正常用户无法获取服务器资源。
如何有效防止DDoS攻击?
1.网站做成静态页面
减少动态脚本的使用,这样能大大提高抗攻击能力,也让黑客不那么容易入侵,此外如果需要调用数据库的脚本,一定要拒绝代理服务的访问。
2.过滤不必要的服务以及端口
通常我们使用Express、Forwarding等工具,来过滤不必要的服务和端口,从路由上过滤假IP,降低被入侵的风险。
3.隐藏真实IP地址
不把域名直接解析到服务器主机的真实IP,可以用免费CDN做中转,用于隐藏服务器真实IP,域名解析使用CDN的IP,所有解析的子域名也用CDN的IP地址,只要真实IP地址不暴露,就可以有效降低被攻击的风险。
4.使用一些开源的防御工具
DDoS之所以难防,一部分原因是因为防御工具比攻击工具少得多,这里推荐使用Fastnetmon,可以探测分析网络中的异常流量情况,通过外部脚本通知或阻断攻击,同时可以集成InfluxDB和 Grafana构建可视化DDOS安全预警系统。
5.使用专业抗DDoS的主机
对于大流量DDoS攻击,常规的防御手段就不是很有效了,所以一开始选择抗DDoS攻击、安全系数较高的主机作为平台就显得很关键了,目前市面上抗DDoS攻击的主机价格和质量参差不齐,如果想要低成本进行有效防御的话,比较推荐大家去选择SugarHosts的主机产品,SugarHosts主要提供虚拟主机、VPS、云主机、独立服务器等,主要是我们不少同事的企业网站都在用,关键价格比较合理,全方位抗DDoS攻击,可以有效保护服务器和应用,大家感兴趣,可以去看看。