本文目录一览:
- 1、请问怎么防护DDoS攻击?
- 2、网络安全技术 常见的DDoS攻击方法有哪些
- 3、DDoS的攻击方式有哪些?如何辨别是不是DDOS攻击?
- 4、用防火墙可以防御DDoS攻击吗?
- 5、linux防火墙如何防御DDOS攻击?
- 6、用防火墙可以防御DDoS吗?
请问怎么防护DDoS攻击?
DDoS攻击解决方案
1、关于这个问题,当攻击已经发生时你几乎无能为力。
2、最好的长期解决方案是在互联网上的许多不同位置托管您的服务,这样对于攻击者来说他的DDoS攻击成本会更高。
3、这方面的策略取决于您需要保护的服务; DNS可以使用多个权威名称服务器,具有备份MX记录和邮件交换器的SMTP以及使用循环DNS或多宿主的HTTP进行保护(但是在某段时间内可能会出现一些明显的降级)。
4、负载均衡设备并不是解决此问题的有效方法,因为负载均衡设备本身也会遇到同样的问题并且只会造成瓶颈。
5、IPTables或其他防火墙规则无济于事,因为问题是您的管道已经饱和。 一旦防火墙看到连接,就已经太晚了 ; 您的网站带宽已被消耗。你用连接做什么都没关系; 当传入流量恢复正常时,攻击会缓解或完成。
6、内容分发网络(CDN)以及专业安全与网络性能公司的DDoS清理服务。这将是缓解这些类型的攻击的积极措施,并且在许多不同的地方拥有大量的可用带宽。请注意:要隐藏服务器的IP。
7、此外一些托管服务提供商、云计算厂商在减轻这些攻击方面比其他提供商更好。因为规模越大,会拥有更大带宽,自然也会更有弹性。
网络安全技术 常见的DDoS攻击方法有哪些
常见的D
DoS攻击
方法有:
1、SYN/ACK
Flood攻击
这种攻击方法是经典最有效的
DDOS攻击
方法,可通杀各种系统的网络服务,主要是通过向受害主机发送大量伪造源IP和源端口的SYN或ACK包,导致主机的缓存资源被耗尽或忙于发送回应包而造成
拒绝服务
,由于源都是伪造的故追踪起来比较困难,缺点是实施起来有一定难度,需要高带宽的僵尸主机支持。少量的这种攻击会导致主机服务器无法访问,但却可以Ping的通,在服务器上用Netstat
-na命令会观察到存在大量的SYN_RECEIVED状态,大量的这种攻击会导致Ping失败、TCP/IP栈失效,并会出现系统凝固现象,即不响应键盘和鼠标。普通防火墙大多无法抵御此种攻击。
2、TCP全连接攻击
这种攻击是为了绕过常规防火墙的检查而设计的,一般情况下,常规防火墙大多具备过滤TearDrop、Land等DOS攻击的能力,但对于正常的TCP连接是放过的,殊不知很多网络服务程序(如:IIS、Apache等
Web服务器
)能接受的TCP连接数是有限的,一旦有大量的TCP连接,即便是正常的,也会导致网站访问非常缓慢甚至无法访问,TCP全连接攻击就是通过许多僵尸主机不断地与受害服务器建立大量的TCP连接,直到服务器的内存等资源被耗尽而被拖跨,从而造成拒绝服务,这种攻击的特点是可绕过一般防火墙的防护而达到攻击目的,缺点是需要找很多僵尸主机,并且由于僵尸主机的IP是暴露的,因此此种DDOS攻击方式容易被追踪。
3、刷Script脚本攻击
这种攻击主要是针对存在ASP、JSP、PHP、CGI等
脚本程序
,并调用
MSSQLServer
、MySQLServer、Oracle等数据库的网站系统而设计的,特征是和服务器建立正常的TCP连接,并不断的向脚本程序提交查询、列表等大量耗费数据库资源的调用,典型的以小博大的攻击方法。一般来说,提交一个GET或POST指令对客户端的耗费和带宽的占用是几乎可以忽略的,而服务器为处理此请求却可能要从上万条记录中去查出某个记录,这种处理过程对资源的耗费是很大的,常见的
数据库服务器
很少能支持数百个查询指令同时执行,而这对于客户端来说却是轻而易举的,因此攻击者只需通过Proxy代理向主机服务器大量递交查询指令,只需数分钟就会把服务器资源消耗掉而导致拒绝服务,常见的现象就是网站慢如蜗牛、
ASP程序
失效、PHP连接数据库失败、数据库主程序占用CPU偏高。这种攻击的特点是可以完全绕过普通的防火墙防护,轻松找一些Proxy代理就可实施攻击,缺点是对付只有
静态页面
的网站效果会大打折扣,并且有些Proxy会暴露DDOS攻击者的IP地址。
DDoS的攻击方式有哪些?如何辨别是不是DDOS攻击?
DDOS攻击是分布式拒绝服务攻击的简称,指处于不同位置的多个攻击者同时向一个或者数个目标发动攻击,或者一个攻击者控制了位于不同位置的多台机器并利用这些机器对受害者同时实施攻击。由于攻击的发出点是分布在不同地方的,这类攻击称为分布式拒绝服务攻击,其中的攻击者可以有多个。常见的攻击方式如下:
1、SYN Flood攻击
是当前网络上最为常见的DDOS攻击,它利用了TCP协议实现上的一个缺陷。通过向网络服务所在端口发送大量的伪造源地址的攻击报文,就可能造成目标服务器中的半开连接队列被占满,从而阻止其他合法用户进行访问。
2、UDP Flood攻击
属于日渐猖獗的流量型DDOS攻击,原理也很简单。常见的情况是利用大量UDP小包冲击DNS服务器或者Radius认证服务器、流媒体视频服务器。由于UDP协议是一种无连接的服务,在UDP
Flood攻击中,攻击者可发送大量伪造源IP地址的小UDP包。
3、ICMP Flood攻击
属于流量型的攻击方式,是利用大的流量给服务器带来较大的负载,影响服务器的正常服务。由于目前很多防火墙直接过滤ICMP报文。因此ICMP
Flood出现的频度较低。
4、Connection Flood攻击
是典型的利用小流量冲击大带宽网络服务的攻击方式,这种攻击的原理是利用真实的IP地址向服务器发起大量的连接。并且建立连接之后很长时间不释放,占用服务器的资源,造成服务器上残余连接过多,效率降低,甚至资源耗尽,无法响应其他客户所发起的链接。
5、HTTP Get攻击
主要是针对存在ASP、JSP、PHP、CGI等脚本程序,特征是和服务器建立正常的TCP连接,并不断的向脚本程序提交查询、列表等大量耗费数据库资源的调用。它可以绕过普通的防火墙防护,通过Proxy代理实施攻击,缺点是攻击静态页面的网站效果不佳,会暴露攻击者的lP地址。
6、UDP DNS Query Flood攻击
采用的方法是向被攻击的服务器发送大量的域名解析请求,通常请求解析的域名是随机生成或者是网络世界上根本不存在的域名。域名解析的过程给服务器带来了很大的负载,每秒钟域名解析请求超过一定的数量就会造成DNS服务器解析域名超时。
用防火墙可以防御DDoS攻击吗?
防火墙通过监视和跟踪允许的网络流量、数据包,来提供周边访问控制。在很多方面,防火墙扮演着网络“交通警察”的角色。它允许好的、正常的数据包,不受阻碍地访问服务器,同时阻止坏的、异常的数据包访问服务器的网络。防火墙可以有助于检测进入的恶意流量,但是在对于已进入的恶意流量,在防御上没有太大的能力。
很多租用服务器的企业用户,单单依靠防火墙来缓解DDos攻击.但仅依靠硬件防火墙抵御DDos攻击,防御能力一般在30Gbps以内,并且服务价格昂贵。这些使用传统防火墙抵御DDos攻击的企业用户认为,防火墙可以更新,这样可以有效地防止DDos攻击。然而事实并非如此,防火墙一般依照系统管理员预先定义好的规则,来控制数据包的进出,它是一台专属的硬件或是架设在一般硬件上的一套软件。大多数防火墙,并没有对DDos攻击进行针对性的改进和设计,也因此难以承受和抵御大规模的、多种类型的DDos攻击。
这里主要有两个原因:
一、 防火墙受制于带宽,容易被攻破
防火墙和其他本地硬件,所享有的带宽是非常有限的,其中包括企业租用的带宽规模。
当DDos攻击的规模超过“20—30G”时,该带宽会迅速变得不堪重负,进而出现防御崩溃。
二、 防火墙规则管理
防火墙定义的规则管理,有时候会被伪装成合法正常流量的“恶意流量”所愚弄,就像“SYN Flood”(一种DDos攻击类型)一样。
所以,提供深度数据包、流量检测,可针对性地调整流量清洗规则,为对抗各种类型的DDos攻击提供具体对策的解决方案,比防火墙使用规则管理的静态操作更加行之有效。
因此,防火墙只是防御策略的一部分,而不是一个完整的解决方案。想要更加全面有效地防御DDos攻击,就绝不能仅仅依靠防火墙来解决,还需要结合其他技术和设备进行防御。
防御吧高防服务器,专业抗DDos攻击,具有“超大防护带宽、超强清洗能力、全业务场景支持”的特点。防御吧在部署高防服务器的高防机房,接入了T级(1000G)超大防护带宽,单机(单台高防服务器)防御峰值最高可达数百G,并附有CC攻击的防御能力,可防御超大规模的DDos攻击和高密度的CC攻击
linux防火墙如何防御DDOS攻击?
抵御DDOS
DDOS,分布式拒绝访问攻击,是指黑客组织来自不同来源的许多主机,向常见的端口,如80,25等发送大量连接,但这些客户端只建立连接,不是正常访问。由于一般Apache配置的接受连接数有限(通常为256),这些“假” 访问会把Apache占满,正常访问无法进行。
Linux提供了叫ipchains的防火墙工具,可以屏蔽来自特定IP或IP地址段的对特定端口的连接。使用ipchains抵御DDOS,就是首先通过netstat命令发现攻击来源地址,然后用ipchains命令阻断攻击。发现一个阻断一个。
*** 打开ipchains功能
首先查看ipchains服务是否设为自动启动:
chkconfig --list ipchains
输出一般为:
ipchains 0:off 1:off 2:on 3:on 4:on 5:on 6:off
如果345列为on,说明ipchains服务已经设为自动启动
如果没有,可以用命令:
chkconfig --add ipchains
将ipchains服务设为自动启动
其次,察看ipchains配置文件/etc/sysconfig/ipchains是否存在。如果这一文件不存在,ipchains
即使设为自动启动,也不会生效。缺省的ipchains配置文件内容如下:
# Firewall configuration written by lokkit
# Manual customization of this file is not recommended.
# Note: ifup-post will punch the current nameservers through the
# firewall; such entries will *not* be listed here.
:input ACCEPT
:forward ACCEPT
:output ACCEPT
-A input -s 0/0 -d 0/0 -i lo -j ACCEPT
# allow http,ftp,smtp,ssh,domain via tcp; domain via udp
-A input -p tcp -s 0/0 -d 0/0 pop3 -y -j ACCEPT
-A input -p tcp -s 0/0 -d 0/0 http -y -j ACCEPT
-A input -p tcp -s 0/0 -d 0/0 https -y -j ACCEPT
-A input -p tcp -s 0/0 -d 0/0 ftp -y -j ACCEPT
-A input -p tcp -s 0/0 -d 0/0 smtp -y -j ACCEPT
-A input -p tcp -s 0/0 -d 0/0 ssh -y -j ACCEPT
-A input -p tcp -s 0/0 -d 0/0 domain -y -j ACCEPT
-A input -p udp -s 0/0 -d 0/0 domain -j ACCEPT
# deny icmp packet
#-A input -p icmp -s 0/0 -d 0/0 -j DENY
# default rules
-A input -p tcp -s 0/0 -d 0/0 0:1023 -y -j REJECT
-A input -p tcp -s 0/0 -d 0/0 2049 -y -j REJECT
-A input -p udp -s 0/0 -d 0/0 0:1023 -j REJECT
-A input -p udp -s 0/0 -d 0/0 2049 -j REJECT
-A input -p tcp -s 0/0 -d 0/0 6000:6009 -y -j REJECT
-A input -p tcp -s 0/0 -d 0/0 7100 -y -j REJECT
如果/etc/sysconfig/ipchains文件不存在,可以用上述内容创建之。创建之后,启动ipchains服:
/etc/init.d/ipchains start
*** 用netstat命令发现攻击来源
假如说黑客攻击的是Web 80端口,察看连接80端口的客户端IP和端口,命令如下:
netstat -an -t tcp | grep ":80" | grep ESTABLISHED | awk '{printf "%s %s\n",$5,$6}' | sort
输出:
161.2.8.9:123 FIN_WAIT2
161.2.8.9:124 FIN_WAIT2
61.233.85.253:23656 FIN_WAIT2
...
第一栏是客户机IP和端口,第二栏是连接状态
如果来自同一IP的连接很多(超过50个),而且都是连续端口,就很可能是攻击。
如果只希望察看建立的连接,用命令:
netstat -an -t tcp | grep ":80" | grep ESTABLISHED | awk '{printf "%s %s\n",$5,$6}' | sort
*** 用ipchains阻断攻击来源
用ipchains阻断攻击来源,有两种方法。一种是加入到/etc/sysconfig/ipchains里,然后重启动ipchains服务。另一种是直接用ipchains命令加。屏蔽之后,可能还需要重新启动被攻击的服务,是已经建立的攻击连接失效
* 加入/etc/sysconfig/ipchains
假定要阻止的是218.202.8.151到80的连接,编辑/etc/sysconfig/ipchains文件,在:output ACCEPT
行下面加入:
-A input -s 218.202.8.151 -d 0/0 http -y -j REJECT
保存修改,重新启动ipchains:
/etc/init.d/ipchains restart
如果要阻止的是218.202.8的整个网段,加入:
-A input -s 218.202.8.0/255.255.255.0 -d 0/0 http -y -j REJECT
* 直接用命令行
加入/etc/sysconfig/ipchains文件并重起ipchains的方法,比较慢,而且在ipchains重起的瞬间,可能会有部分连接钻进来。最方便的方法是直接用ipchains命令。
假定要阻止的是218.202.8.151到80的连接,命令:
ipchains -I input 1 -p tcp -s 218.202.8.151 -d 0/0 http -y -j REJECT
如果要阻止的是218.202.8的整个网段,命令:
ipchains -I input 1 -p tcp -s 218.202.8.0/255.255.255.0 -d 0/0 http -y -j REJECT
其中,-I的意思是插入,input是规则连,1是指加入到第一个。
您可以编辑一个shell脚本,更方便地做这件事,命令:
vi blockit
内容:
#!/bin/sh
if [ ! -z "$1" ] ; then
echo "Blocking: $1"
ipchains -I input 1 -p tcp -s "$1" -d 0/0 http -y -j REJECT
else
echo "which ip to block?"
fi
保存,然后:
chmod 700 blockit
使用方法:
./blockit 218.202.8.151
./blockit 218.202.8.0/255.255.255.0
上述命令行方法所建立的规则,在重起之后会失效,您可以用ipchains-save命令打印规则:
ipchains-save
输出:
:input ACCEPT
:forward ACCEPT
:output ACCEPT
Saving `input'.
-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 -i lo -j ACCEPT
-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 110:110 -p 6 -j ACCEPT -y
-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 80:80 -p 6 -j ACCEPT -y
-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 22:22 -p 6 -j ACCEPT -y
-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 88:88 -p 6 -j ACCEPT -y
-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 89:89 -p 6 -j ACCEPT -y
-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 90:90 -p 6 -j ACCEPT -y
-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 91:91 -p 6 -j ACCEPT -y
-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 8180:8180 -p 6 -j ACCEPT -y
-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 443:443 -p 6 -j ACCEPT -y
-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 21:21 -p 6 -j ACCEPT -y
-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 25:25 -p 6 -j ACCEPT -y
-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 22:22 -p 6 -j ACCEPT -y
-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 53:53 -p 6 -j ACCEPT -y
-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 9095:9095 -p 6 -j ACCEPT -y
-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 8007:8007 -p 6 -j ACCEPT -y
-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 53:53 -p 17 -j ACCEPT
-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 0:1023 -p 6 -j REJECT -y
-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 2049:2049 -p 6 -j REJECT -y
-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 0:1023 -p 17 -j REJECT
-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 2049:2049 -p 17 -j REJECT
-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 6000:6009 -p 6 -j REJECT -y
-A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 7100:7100 -p 6 -j REJECT -y
您需要把其中的"Saving `input'."去掉,然后把其他内容保存到/etc/sysconfig/ipchains文件,这样,下次重起之后,建立的规则能够重新生效。
用防火墙可以防御DDoS吗?
防火墙防不了DDoS攻击,DDoS只是访问量增加,除非你不让别人访问,当流量超出服务器的网络带宽时,服务器就会拥堵到无法访问,也就是瘫痪。最常见的不过是ping攻击,也是最简单,防御ping攻击很简单,服务器IP禁ping即可,设置禁ping还可以防御其他攻击,有的黑客是否停止攻击的依据就是你的服务器是否ping的通,因为发起DDoS攻击也是需要成本的,需要大量的肉鸡等等,不可能长时间持续对一个目标攻击,除非是针对性的!防御DDoS攻击最根本的办法就是买高防,比如墨者安全高防防御流量1000G,国内DDOS一般最多几十到几百G左右吧。