如何有效防御DDOS攻击?
11种方法教你有效防御DDOS攻击:
1、采用高性能的网络设备
首先要保证网络设备不能成为瓶颈,因此选择路由器、交换机、硬件防火墙等设备的时候要尽量选用知名度高、口碑好的产品。再就是假如和网络提供商有特殊关系或协议的话就更好了,当大量攻击发生的时候请他们在网络接点处做一下流量限制来对抗某种类的DDOS攻击是非常有效的。
2、尽量避免NAT的使用
无论是路由器还是硬件防护墙设备要尽量避免采用网络地址转换NAT的使用,因为采用此技术会较大降低网络通信能力,其实原因很简单,因为NAT需要对地址来回转换,转换过程中需要对网络包的校验和进行计算,因此浪费了很多CPU的时间,但有些时候必须使用NAT,那就没有好办法了。
3、充足的网络带宽保证
网络带宽直接决定了能抗受攻击的能力,假若仅仅有10M带宽的话,无论采取什么措施都很难对抗现在的SYNFlood攻击,当前至少要选择100M的共享带宽,最好的当然是挂在1000M的主干上了。但需要注意的是,主机上的网卡是1000M的并不意味着它的网络带宽就是千兆的,若把它接在100M的交换机上,它的实际带宽不会超过100M,再就是接在100M的带宽上也不等于就有了百兆的带宽,因为网络服务商很可能会在交换机上限制实际带宽为10M,这点一定要搞清楚。
4、升级主机服务器硬件
在有网络带宽保证的前提下,请尽量提升硬件配置,要有效对抗每秒10万个SYN攻击包,服务器的配置至少应该为:P42.4G/DDR512M/SCSI-HD,起关键作用的主要是CPU和内存,若有志强双CPU的话就用它,内存一定要选择DDR的高速内存,硬盘要尽量选择SCSI的,别贪图IDE价格不贵量还足的便宜,否则会付出高昂的性能代价,再就是网卡一定要选用3COM或Intel等名牌的,若是Realtek的还是用在自己的PC上吧。
5、将网站做成静态页面或者伪静态
事实证明,将网站做成静态页面,不仅能大大提高抗攻击能力,而且还给黑客入侵带来不少麻烦,至少到现在为止关于HTML的溢出还没出现。现在很多门户网站主要都是静态页面,若你非要动态脚本调用,那就把它弄到另外一个单独主机,免的遭受攻击时连累主服务器。当然,适当放一些不做数据库调用脚本还是可以的,此外,最好在需要调用数据库的脚本中拒绝使用代理的访问,因为经验表明使用代理访问你网站的80%属于恶意行为。
6、增强操作系统的TCP/IP栈
win2000和win2003作为服务器操作系统,本身就具备一定的抵抗DDOS攻击的能力,只是默认状态下没有开启而已,若开启的话可抵抗约10000个SYN攻击包,若没有开启则仅能抵抗数百个。
7、安装专业抗DDOS防火墙
8、HTTP请求拦截
如果恶意请求有特征,对付起来很简单,直接拦截就可以。HTTP请求的特征一般有两种:IP地址和User Agent字段。
9、备份网站
你要有一个备份网站,或者最低限度有一个临时主页。生产服务器万一下线了,可以立刻切换到备份网站,不至于毫无办法。
备份网站不一定是全功能的,如果能做到全静态浏览,就能满足需求,最低限度应该可以显示公告,告诉用户,网站出了问题,正在抢修。这种临时主页建议放到Github
Pages或者Netlify,它们的带宽大,可以应对攻击,而且都支持绑定域名,还能从源码自动构建。
10、部署CDN
CDN指的是网站的静态内容分布到多个服务器,用户就近访问,提高速度。因此,CDN也是带宽扩容的一种方法,可以用来防御DDOS攻击。
网站内容存放在源服务器,CDN上面是内容的缓存。用户只允许访问CDN,如果内容不在CDN上,CDN再向源服务器发出请求。这样的话,只要CDN够大,就可以抵御很大的攻击。不过,这种方法有一个前提,网站的大部分内容必须可以静态缓存。对于动态内容为主的网站,就要想别的办法,尽量减少用户对动态数据的请求;本质就是自己搭建一个微型CDN。各大云服务商提供的高防IP,背后也是这样做的:网站域名指向高防IP,它提供了一个缓冲层,清洗流量,并对源服务器的内容进行缓存。
这里有一个关键点,一旦上了CDN,千万不要泄露源服务器的IP地址,否则攻击者可以绕过CDN直接攻击源服务器,前面的努力都白费了。
11、其他防御手段
以上的几条建议,适合绝大多数拥有自己主机的用户,但假如采取以上措施后仍然不能解决DDOS问题,就比较麻烦了,可能需要更多投资,增加服务器数量并采用DNS轮巡或负载均衡技术,甚至需要购买七层交换机设备,从而使得抗DDOS攻击能力成倍提高,只要投资足够深入。
XSS攻击和DDOS攻击的区别
XSS攻击:跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。
分布式拒绝服务(DDoS:Distributed Denial of Service)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。通常,攻击者使用一个偷窃帐号将DDoS主控程序安装在一个计算机上,在一个设定的时间主控程序将与大量代理程序通讯,代理程序已经被安装在网络上的许多计算机上。代理程序收到指令时就发动攻击。利用客户/服务器技术,主控程序能在几秒钟内激活成百上千次代理程序的运行。
IP伪装ddos攻击
IP欺骗的定义:
欺骗是指在互联网上模仿一个用户、设备或客户。在网络攻击中常用来掩盖攻击流量的来源。
最常见的欺骗形式包括:
DNS 服务器欺骗 – 为了将域名重定向到不同的IP地址,对 DNS 服务器进行修改。 它通常用于传播病毒。
ARP欺骗 – 通过虚假的ARP信息,将一个攻击者的MAC地址链接到一个合法地址。通常用于拒绝服务 (DoS) 和中间人攻击。
IP地址欺骗 – 掩盖攻击者的原始地址。通常在DoS攻击中使用。
DDOS 攻击中的IP 地址欺骗,在 DDoS Attack 中,使用IP地址欺骗的原因有两条:掩盖僵尸网络设施的位置和发起反射攻击。
攻击者通过使用虚假IP地址,ip伪装ddos攻击,掩盖他们僵尸网络设施的真实身份,其目的在于:
避免被执法机构和法庭网络调查者发现和受到牵连,阻止目标将他们正在实施的攻击通知给设备所有者,绕开试图通过将攻击IP地址列入黑名单来缓解DDoS攻击的安全脚本、设施和服务。
常见DDoS攻击方式有哪些
DDoS攻击通过大量合法的请求占用大量网络资源,以达到瘫痪网络的目的。 这种攻击方式可分为以下几种:
通过使网络过载来干扰甚至阻断正常的网络通讯;
通过向服务器提交大量请求,使服务器超负荷;
阻断某一用户访问服务器;
阻断某服务与特定系统或个人的通讯。
IP Spoofing
IP欺骗攻击是一种黑客通过向服务端发送虚假的包以欺骗服务器的做法。具体说,就是将包中的源IP地址设置为不存在或不合法的值。服务器一旦接受到该包便会返回接受请求包,但实际上这个包永远返回不到来源处的计算机。这种做法使服务器必需开启自己的监听端口不断等待,也就浪费了系统各方面的资源。
LAND attack
这种攻击方式与SYN floods类似,不过在LAND attack攻击包中的原地址和目标地址都是攻击对象的IP。这种攻击会导致被攻击的机器死循环,最终耗尽资源而死机。
ICMP floods
ICMPfloods是通过向未良好设置的路由器发送广播信息占用系统资源的做法。
Application
与前面叙说的攻击方式不同,Application level floods主要是针对应用软件层的,也就是高于OSI的。它同样是以大量消耗系统资源为目的,通过向IIS这样的网络服务程序提出无节制的资源申请来迫害正常的网络服务。
怎么更有效的防御ddos攻击?
ddos攻击是针对服务器的, 一般来说,DDOS是需要花钱和带宽的,解决DDOS也需要花钱和带宽,如果服务器被DDOS了:1、保证服务器系统的安全,首先要确保服务器软件没有任何漏洞,防止攻击者入侵。确保服务器采用最新系统,并打上安全补丁。2、隐藏服务器的真实IP地址不要把域名直接解析到服务器的真实IP地址,不能让服务器真实IP泄漏,服务器前端加CDN中转,如果资金充裕的话,可以购买高防的盾机,用于隐藏服务器真实IP,域名解析使用CDN的IP,所有解析的子域名都使用CDN的IP地址。此外,服务器上部署的其他域名也不能使用真实IP解析,全部都使用CDN来解析。
几种针对DNS的DDoS攻击应对方法
DDoS攻击是指通过僵尸网络利用各种服务请求耗尽被攻击网络的系统资源,造成被攻击网络无法处理合法用户的请求。而针对DNS的DDoS攻击又可按攻击发起者和攻击特征进行分类:
1、按攻击发起者分类 僵尸网络:控制大批僵尸网络利用真实DNS协议栈发起大量域名查询请求 模拟工具:利用工具软件伪造源IP发送海量DNS查询
2、按攻击特征分类 Flood攻击:发送海量DNS查询报文导致网络带宽耗尽而无法传送正常DNS 查询请求。
资源消耗攻击:发送大量非法域名查询报文引起DNS服务器持续进行迭代查询,从而达到较少的攻击流量消耗大量服务器资源的目的。
处理办法:
屏蔽未经请求发送的DNS响应信息
一个典型的DNS交换信息是由请求信息组成的。DNS解析器会将用户的请求信息发送至DNS服务器中,在DNS服务器对查询请求进行处理之后,服务器会将响应信息返回给DNS解析器。但值得注意的是,响应信息是不会主动发送的。
服务器在没有接收到查询请求之前,就已经生成了对应的响应信息,回应就被丢弃
丢弃快速重传数据包。
1.即便是在数据包丢失的情况下,任何合法的DNS客户端都不会在较短的时间间隔内向同一DNS服务器发送相同的DNS查询请求。
2.如果从相同IP地址发送至同一目标地址的相同查询请求发送频率过高,这些请求数据包可丢弃。
启用TTL
如果DNS服务器已经将响应信息成功发送了,应该禁止服务器在较短的时间间隔内对相同的查询请求信息进行响应。
1.对于一个合法的DNS客户端如果已经接收到了响应信息,就不会再次发送相同的查询请求。
2.每一个响应信息都应进行缓存处理直到TTL过期。
3.当DNS服务器遭遇大量查询请求时,可以屏蔽掉不需要的数据包。
丢弃未知来源的DNS查询请求和响应数据
通常情况下,攻击者会利用脚本来对目标进行分布式拒绝服务攻击(DDoS攻击),而且这些脚本通常是有漏洞的。因此,在服务器中部署简单的匿名检测机制,在某种程度上可以限制传入服务器的数据包数量。
丢弃未经请求或突发的DNS请求
这类请求信息很可能是由伪造的代理服务器所发送的,或是由于客户端配置错误或者是攻击流量。所以无论是哪一种情况,都应该直接丢弃这类数据包。
非泛洪攻击 (non-flood) 时段,创建一个白名单,添加允许服务器处理的合法请求信息。白名单可以屏蔽掉非法的查询请求信息以及此前从未见过的数据包。
这种方法能够有效地保护服务器不受泛洪攻击的威胁,也能保证合法的域名服务器只对合法的DNS查询请求进行处理和响应。
启动DNS客户端验证
伪造是DNS攻击中常用的一种技术。如果设备可以启动客户端验证信任状,便可以用于从伪造泛洪数据中筛选出非泛洪数据包。
对响应信息进行缓存处理
如果某一查询请求对应的响应信息已经存在于服务器的DNS缓存之中,缓存可以直接对请求进行处理。这样可以有效地防止服务器因过载而发生宕机。
很多请求中包含了服务器不具有或不支持的信息,我们可以进行简单的阻断设置,例如外部IP地址请求区域转换或碎片化数据包,直接将这类请求数据包丢弃。
利用ACL,BCP38,及IP信誉功能的使用
托管DNS服务器的任何企业都有用户轨迹的限制,当攻击数据包被伪造,伪造请求来自世界各地的源地址。设置一个简单的过滤器可阻断不需要的地理位置的IP地址请求或只允许在地理位置白名单内的IP请求。
还有一种情况,某些伪造的数据包可能来自与内部网络地址,可以利用BCP38通过硬件过滤也可以清除异常来源地址的请求。
BCP38对于提供DNS解析的服务提供商也相当有用,可以避免用户向外发送攻击或受到内部地址请求的攻击,过滤用户并保证其数据传输。
提供余量带宽
如果服务器日常需要处理的DNS通信量达到了X Gbps,请确保流量通道不止是日常的量,有一定的带宽余量可以有利于处理大规模攻击。
结语,目前针对DNS的攻击已成为最严重的网络威胁之一。目前越来越多的大型网站注重DNS保护这一块。为保障网站安全,保障网站利益,选择高防型的DNS为自己的域名进行解析已经迫在眉睫。
希望可以帮到您,谢谢!
0条大神的评论