DDOS(2)
DDOS攻击:DDOS攻击防御简析
DoS攻击防御简析
分布式拒绝服务攻击(DDoS)是一种特殊形式的拒绝服务攻击。它是利用多台已经被攻击者所控制的机器对某一台单机发起攻击,在带宽相对的情况下,被攻击的主机很容易失去反应能力。
分布式拒绝服务攻击(DDoS)是一种特殊形式的拒绝服务攻击。它是利用多台已经被攻击者所控制的机器对某一台单机发起攻击,在带宽相对的情况下,被攻击的主机很容易失去反应能力。作为一种分布、协作的大规模攻击方式,分布式拒绝服务攻击(DDoS)主要瞄准比较大的站点,像商业公司,搜索引擎和政府部门的站点。由于它通过利用一批受控制的机器向一台机器发起攻击,来势迅猛,而且往往令人难以防备,具有极大的破坏性。
对于此类隐蔽性极好的DDoS攻击的防范,更重要的是用户要加强安全防范意识,提高网络系统的安全性。专家建议可以采取的安全防御措施有以下几种。
1.及早发现系统存在的攻击漏洞,及时安装系统补丁程序。对一些重要的信息(例如系统配置信息)建立和完善备份机制。对一些特权账号(例如管理员账号)的密码设置要谨慎。通过这样一系列的举措可以把攻击者的可乘之机降低到最校。
2.在网络管理方面,要经常检查系统的物理环境,禁止那些不必要的网络服务。建立边界安全界限,确保输出的包受到正确限制。经常检测系统配置信息,并注意查看每天的安全日志。
3.利用网络安全设备(例如:防火墙)来加固网络的安全性,配置好这些设备的安全规则,过滤掉所有可能的伪造数据包。
4.与网络服务提供商协调工作,让网络服务提供商帮助实现路由的访问控制和对带宽总量的限制。
5.当用户发现自己正在遭受DDoS攻击时,应当启动自己的应付策略,尽可能快地追踪攻击包,并且及时联系ISP和有关应急组织,分析受影响的系统,确定涉及的其他节点,从而阻挡从已知攻击节点的流量。
6.如果用户是潜在的DDoS攻击受害者,并且用户发现自己的计算机被攻击者用作主控端和代理端时,用户不能因为自己的系统暂时没有受到损害而掉以轻心。攻击者一旦发现用户系统的漏洞,这对用户的系统是一个很大的威胁。所以用户只要发现系统中存在DDoS攻击的工具软件要及时把它清除,以免留下后患。
被DDoS攻击时的现象
● 被攻击主机上有大量等待的TCP连接;
● 网络中充斥着大量的无用的数据包,源地址为假;
● 制造高流量无用数据,造成网络拥塞,使受害主机无法正常和外界通讯;
● 利用受害主机提供的服务或传输协议上的缺陷,反复高速的发出特定的服务请求,使受害主机无法及时处理所有正常请求;
● 严重时会造成系统死机;
……
DDOS的表现形式主要有两种,一种为流量攻击,主要是针对网络带宽的攻击,即大量攻击包导致网络带宽被阻塞,合法网络包被虚假的攻击包淹没而无法到达主机;另一种为资源耗尽攻击,主要是针对服务器主机的攻击,即通过大量攻击包导致主机的内存被耗尽或CPU被内核及应用程序占完而造成无法提供网络服务。
如何判断网站是否遭受了流量攻击呢?可通过Ping命令来测试,若发现Ping超时或丢包严重(假定平时是正常的),则可能遭受了流量攻击,此时若发现和你的主机接在同一交换机上的服务器也访问不了了,基本可以确定是遭受了流量攻击。当然,这样测试的前提是你到服务器主机之间的 ICMP协议没有被路由器和防火墙等设备屏蔽,否则可采取Telnet主机服务器的网络服务端口来测试,效果是一样的。不过有一点可以肯定,假如平时 Ping你的主机服务器和接在同一交换机上的主机服务器都是正常的,突然都Ping不通了或者是严重丢包,那么假如可以排除网络故障因素的话则肯定是遭受了流量攻击,再一个流量攻击的典型现象是,一旦遭受流量攻击,会发现用远程终端连接网站服务器会失败。
相对于流量攻击而言,资源耗尽攻击要容易判断一些,假如平时Ping网站主机和访问网站都是正常的,发现突然网站访问非常缓慢或无法访问了,而Ping还可以Ping通,则很可能遭受了资源耗尽攻击,此时若在服务器上用Netstat -na命令观察到有大量的SYN_RECEIVED、TIME_WAIT、FIN_WAIT_1等状态存在,而ESTABLISHED很少,则可判定肯定是遭受了资源耗尽攻击。还有一种属于资源耗尽攻击的现象是,Ping自己的网站主机Ping不通或者是丢包严重,而Ping与自己的主机在同一交换机上的服务器则正常,造成这种原因是网站主机遭受攻击后导致系统内核或某些应用程序CPU利用率达到100%无法回应Ping命令,其实带宽还是有的,否则就 Ping不通接在同一交换机上的主机了。
当前主要有三种流行的DDoS攻击:
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是暴露的,因此容易被追踪。
3、刷Script脚本攻击:这种攻击主要是针对存在ASP、JSP、PHP、CGI等脚本程序,并调用MSSQLServer、MySQLServer、Oracle等数据库的网站系统而设计的,特征是和服务器建立正常的TCP连接,并不断的向脚本程序提交查询、列表等大量耗费数据库资源的调用,典型的以小博大的攻击方法。一般来说,提交一个GET或POST指令对客户端的耗费和带宽的占用是几乎可以忽略的,而服务器为处理此请求却可能要从上万条记录中去查出某个记录,这种处理过程对资源的耗费是很大的,常见的数据库服务器很少能支持数百个查询指令同时执行,而这对于客户端来说却是轻而易举的,因此攻击者只需通过Proxy代理向主机服务器大量递交查询指令,只需数分钟就会把服务器资源消耗掉而导致拒绝服务,常见的现象就是网站慢如蜗牛、ASP程序失效、PHP连接数据库失败、数据库主程序占用CPU偏高。这种攻击的特点是可以完全绕过普通的防火墙防护,轻松找一些Proxy代理就可实施攻击,缺点是对付只有静态页面的网站效果会大打折扣,并且有些Proxy会暴露攻击者的IP地址。
四、怎么抵御DDOS?
对付DDOS是一个系统工程,想仅仅依靠某种系统或产品防住DDOS是不现实的,可以肯定的是,完全杜绝DDOS目前是不可能的,但通过适当的措施抵御 90%的DDoS攻击是可以做到的,基于攻击和防御都有成本开销的缘故,若通过适当的办法增强了抵御DDOS的能力,也就意味着加大了攻击者的攻击成本,那么绝大多数攻击者将无法继续下去而放弃,也就相当于成功的抵御了DDoS攻击。以下为笔者多年以来抵御DDOS的经验和建议,和大家分享!
1、采用高性能的网络设备
首先要保证网络设备不能成为瓶颈,因此选择路由器、交换机、硬件防火墙等设备的时候要尽量选用知名度高、口碑好的产品。再就是假如和网络提供商有特殊关系或协议的话就更好了,当大量攻击发生的时候请他们在网络接点处做一下流量限制来对抗某些种类的DDoS攻击是非常有效的。
2、尽量避免NAT的使用
无论是路由器还是硬件防护墙设备要尽量避免采用网络地址转换NAT的使用,因为采用此技术会较大降低网络通信能力,其实原因很简单,因为NAT需要对地址来回转换,转换过程中需要对网络包的校验和进行计算,因此浪费了很多CPU的时间,但有些时候必须使用NAT,那就没有好办法了。
3、充足的网络带宽保证
网络带宽直接决定了能抗受攻击的能力,假若仅仅有10M带宽的话,无论采取什么措施都很难对抗现在的SYNFlood攻击,当前至少要选择100M的共享带宽,最好的当然是挂在1000M的主干上了。但需要注意的是,主机上的网卡是1000M的并不意味着它的网络带宽就是千兆的,若把它接在100M的交换机上,它的实际带宽不会超过100M,再就是接在100M的带宽上也不等于就有了百兆的带宽,因为网络服务商很可能会在交换机上限制实际带宽为10M,这点一定要搞清楚。
4、升级主机服务器硬件
在有网络带宽保证的前提下,请尽量提升硬件配置,要有效对抗每秒10万个SYN攻击包,服务器的配置至少应该为:P4 2.4G/DDR512M/SCSI-HD,起关键作用的主要是CPU和内存,若有志强双CPU的话就用它吧,内存一定要选择DDR的高速内存,硬盘要尽量选择SCSI的,别只贪IDE价格不贵量还足的便宜,否则会付出高昂的性能代价,再就是网卡一定要选用3COM或Intel等名牌的,若是 Realtek的还是用在自己的PC上吧。
5、把网站做成静态页面
大量事实证明,把网站尽可能做成静态页面,不仅能大大提高抗攻击能力,而且还给黑客入侵带来不少麻烦,至少到现在为止关于HTML的溢出还没出现,看看吧!新浪、搜狐、网易等门户网站主要都是静态页面,若你非需要动态脚本调用,那就把它弄到另外一台单独主机去,免的遭受攻击时连累主服务器,当然,适当放一些不做数据库调用脚本还是可以的,此外,最好在需要调用数据库的脚本中拒绝使用代理的访问,因为经验表明使用代理访问你网站的80%属于恶意行为。
6、增强操作系统的TCP/IP栈
Win2000和Win2003作为服务器操作系统,本身就具备一定的抵抗DDoS攻击的能力,只是默认状态下没有开启而已,若开启的话可抵挡约 10000个SYN攻击包,若没有开启则仅能抵御数百个,具体怎么开启,自己去看微软的文章吧!《强化 TCP/IP 堆栈安全》-http://www.microsoft.com/china/technet/security/
guidance/secmod109.mspx
也许有的人会问,那我用的是Linux和FreeBSD怎么办?很简单,按照这篇文章去做吧!《SYN Cookies》-http://cr.yp.to/syncookies.html
7、安装专业抗DDOS防火墙
8、其他防御措施
以上的七条对抗DDOS建议,适合绝大多数拥有自己主机的用户,但假如采取以上措施后仍然不能解决DDOS问题,就有些麻烦了,可能需要更多投资,增加服务器数量并采用DNS轮巡或负载均衡技术,甚至需要购买七层交换机设备,从而使得抗DDoS攻击能力成倍提高,只要投资足够深入,总有攻击者会放弃的时候,那时候你就成功了!:)
DoS攻击防御简析
分布式拒绝服务攻击(DDoS)是一种特殊形式的拒绝服务攻击。它是利用多台已经被攻击者所控制的机器对某一台单机发起攻击,在带宽相对的情况下,被攻击的主机很容易失去反应能力。
分布式拒绝服务攻击(DDoS)是一种特殊形式的拒绝服务攻击。它是利用多台已经被攻击者所控制的机器对某一台单机发起攻击,在带宽相对的情况下,被攻击的主机很容易失去反应能力。作为一种分布、协作的大规模攻击方式,分布式拒绝服务攻击(DDoS)主要瞄准比较大的站点,像商业公司,搜索引擎和政府部门的站点。由于它通过利用一批受控制的机器向一台机器发起攻击,来势迅猛,而且往往令人难以防备,具有极大的破坏性。
对于此类隐蔽性极好的DDoS攻击的防范,更重要的是用户要加强安全防范意识,提高网络系统的安全性。专家建议可以采取的安全防御措施有以下几种。
1.及早发现系统存在的攻击漏洞,及时安装系统补丁程序。对一些重要的信息(例如系统配置信息)建立和完善备份机制。对一些特权账号(例如管理员账号)的密码设置要谨慎。通过这样一系列的举措可以把攻击者的可乘之机降低到最校。
2.在网络管理方面,要经常检查系统的物理环境,禁止那些不必要的网络服务。建立边界安全界限,确保输出的包受到正确限制。经常检测系统配置信息,并注意查看每天的安全日志。
3.利用网络安全设备(例如:防火墙)来加固网络的安全性,配置好这些设备的安全规则,过滤掉所有可能的伪造数据包。
4.与网络服务提供商协调工作,让网络服务提供商帮助实现路由的访问控制和对带宽总量的限制。
5.当用户发现自己正在遭受DDoS攻击时,应当启动自己的应付策略,尽可能快地追踪攻击包,并且及时联系ISP和有关应急组织,分析受影响的系统,确定涉及的其他节点,从而阻挡从已知攻击节点的流量。
6.如果用户是潜在的DDoS攻击受害者,并且用户发现自己的计算机被攻击者用作主控端和代理端时,用户不能因为自己的系统暂时没有受到损害而掉以轻心。攻击者一旦发现用户系统的漏洞,这对用户的系统是一个很大的威胁。所以用户只要发现系统中存在DDoS攻击的工具软件要及时把它清除,以免留下后患。
被DDoS攻击时的现象
● 被攻击主机上有大量等待的TCP连接;
● 网络中充斥着大量的无用的数据包,源地址为假;
● 制造高流量无用数据,造成网络拥塞,使受害主机无法正常和外界通讯;
● 利用受害主机提供的服务或传输协议上的缺陷,反复高速的发出特定的服务请求,使受害主机无法及时处理所有正常请求;
● 严重时会造成系统死机;
……
DDOS的表现形式主要有两种,一种为流量攻击,主要是针对网络带宽的攻击,即大量攻击包导致网络带宽被阻塞,合法网络包被虚假的攻击包淹没而无法到达主机;另一种为资源耗尽攻击,主要是针对服务器主机的攻击,即通过大量攻击包导致主机的内存被耗尽或CPU被内核及应用程序占完而造成无法提供网络服务。
如何判断网站是否遭受了流量攻击呢?可通过Ping命令来测试,若发现Ping超时或丢包严重(假定平时是正常的),则可能遭受了流量攻击,此时若发现和你的主机接在同一交换机上的服务器也访问不了了,基本可以确定是遭受了流量攻击。当然,这样测试的前提是你到服务器主机之间的 ICMP协议没有被路由器和防火墙等设备屏蔽,否则可采取Telnet主机服务器的网络服务端口来测试,效果是一样的。不过有一点可以肯定,假如平时 Ping你的主机服务器和接在同一交换机上的主机服务器都是正常的,突然都Ping不通了或者是严重丢包,那么假如可以排除网络故障因素的话则肯定是遭受了流量攻击,再一个流量攻击的典型现象是,一旦遭受流量攻击,会发现用远程终端连接网站服务器会失败。
相对于流量攻击而言,资源耗尽攻击要容易判断一些,假如平时Ping网站主机和访问网站都是正常的,发现突然网站访问非常缓慢或无法访问了,而Ping还可以Ping通,则很可能遭受了资源耗尽攻击,此时若在服务器上用Netstat -na命令观察到有大量的SYN_RECEIVED、TIME_WAIT、FIN_WAIT_1等状态存在,而ESTABLISHED很少,则可判定肯定是遭受了资源耗尽攻击。还有一种属于资源耗尽攻击的现象是,Ping自己的网站主机Ping不通或者是丢包严重,而Ping与自己的主机在同一交换机上的服务器则正常,造成这种原因是网站主机遭受攻击后导致系统内核或某些应用程序CPU利用率达到100%无法回应Ping命令,其实带宽还是有的,否则就 Ping不通接在同一交换机上的主机了。
当前主要有三种流行的DDoS攻击:
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是暴露的,因此容易被追踪。
3、刷Script脚本攻击:这种攻击主要是针对存在ASP、JSP、PHP、CGI等脚本程序,并调用MSSQLServer、MySQLServer、Oracle等数据库的网站系统而设计的,特征是和服务器建立正常的TCP连接,并不断的向脚本程序提交查询、列表等大量耗费数据库资源的调用,典型的以小博大的攻击方法。一般来说,提交一个GET或POST指令对客户端的耗费和带宽的占用是几乎可以忽略的,而服务器为处理此请求却可能要从上万条记录中去查出某个记录,这种处理过程对资源的耗费是很大的,常见的数据库服务器很少能支持数百个查询指令同时执行,而这对于客户端来说却是轻而易举的,因此攻击者只需通过Proxy代理向主机服务器大量递交查询指令,只需数分钟就会把服务器资源消耗掉而导致拒绝服务,常见的现象就是网站慢如蜗牛、ASP程序失效、PHP连接数据库失败、数据库主程序占用CPU偏高。这种攻击的特点是可以完全绕过普通的防火墙防护,轻松找一些Proxy代理就可实施攻击,缺点是对付只有静态页面的网站效果会大打折扣,并且有些Proxy会暴露攻击者的IP地址。
四、怎么抵御DDOS?
对付DDOS是一个系统工程,想仅仅依靠某种系统或产品防住DDOS是不现实的,可以肯定的是,完全杜绝DDOS目前是不可能的,但通过适当的措施抵御 90%的DDoS攻击是可以做到的,基于攻击和防御都有成本开销的缘故,若通过适当的办法增强了抵御DDOS的能力,也就意味着加大了攻击者的攻击成本,那么绝大多数攻击者将无法继续下去而放弃,也就相当于成功的抵御了DDoS攻击。以下为笔者多年以来抵御DDOS的经验和建议,和大家分享!
1、采用高性能的网络设备
首先要保证网络设备不能成为瓶颈,因此选择路由器、交换机、硬件防火墙等设备的时候要尽量选用知名度高、口碑好的产品。再就是假如和网络提供商有特殊关系或协议的话就更好了,当大量攻击发生的时候请他们在网络接点处做一下流量限制来对抗某些种类的DDoS攻击是非常有效的。
2、尽量避免NAT的使用
无论是路由器还是硬件防护墙设备要尽量避免采用网络地址转换NAT的使用,因为采用此技术会较大降低网络通信能力,其实原因很简单,因为NAT需要对地址来回转换,转换过程中需要对网络包的校验和进行计算,因此浪费了很多CPU的时间,但有些时候必须使用NAT,那就没有好办法了。
3、充足的网络带宽保证
网络带宽直接决定了能抗受攻击的能力,假若仅仅有10M带宽的话,无论采取什么措施都很难对抗现在的SYNFlood攻击,当前至少要选择100M的共享带宽,最好的当然是挂在1000M的主干上了。但需要注意的是,主机上的网卡是1000M的并不意味着它的网络带宽就是千兆的,若把它接在100M的交换机上,它的实际带宽不会超过100M,再就是接在100M的带宽上也不等于就有了百兆的带宽,因为网络服务商很可能会在交换机上限制实际带宽为10M,这点一定要搞清楚。
4、升级主机服务器硬件
在有网络带宽保证的前提下,请尽量提升硬件配置,要有效对抗每秒10万个SYN攻击包,服务器的配置至少应该为:P4 2.4G/DDR512M/SCSI-HD,起关键作用的主要是CPU和内存,若有志强双CPU的话就用它吧,内存一定要选择DDR的高速内存,硬盘要尽量选择SCSI的,别只贪IDE价格不贵量还足的便宜,否则会付出高昂的性能代价,再就是网卡一定要选用3COM或Intel等名牌的,若是 Realtek的还是用在自己的PC上吧。
5、把网站做成静态页面
大量事实证明,把网站尽可能做成静态页面,不仅能大大提高抗攻击能力,而且还给黑客入侵带来不少麻烦,至少到现在为止关于HTML的溢出还没出现,看看吧!新浪、搜狐、网易等门户网站主要都是静态页面,若你非需要动态脚本调用,那就把它弄到另外一台单独主机去,免的遭受攻击时连累主服务器,当然,适当放一些不做数据库调用脚本还是可以的,此外,最好在需要调用数据库的脚本中拒绝使用代理的访问,因为经验表明使用代理访问你网站的80%属于恶意行为。
6、增强操作系统的TCP/IP栈
Win2000和Win2003作为服务器操作系统,本身就具备一定的抵抗DDoS攻击的能力,只是默认状态下没有开启而已,若开启的话可抵挡约 10000个SYN攻击包,若没有开启则仅能抵御数百个,具体怎么开启,自己去看微软的文章吧!《强化 TCP/IP 堆栈安全》-http://www.microsoft.com/china/technet/security/
guidance/secmod109.mspx
也许有的人会问,那我用的是Linux和FreeBSD怎么办?很简单,按照这篇文章去做吧!《SYN Cookies》-http://cr.yp.to/syncookies.html
7、安装专业抗DDOS防火墙
8、其他防御措施
以上的七条对抗DDOS建议,适合绝大多数拥有自己主机的用户,但假如采取以上措施后仍然不能解决DDOS问题,就有些麻烦了,可能需要更多投资,增加服务器数量并采用DNS轮巡或负载均衡技术,甚至需要购买七层交换机设备,从而使得抗DDoS攻击能力成倍提高,只要投资足够深入,总有攻击者会放弃的时候,那时候你就成功了!:)
设置路由器门限值 预防DDoS攻击
一、预防DDoS攻击原理
在分布式“拒绝服务”(DDoS)的攻击过程中,一群恶意的主机或被恶意主机感染的主机将向受攻击的服务器发送大量的数据。在这种情况下,靠近网络边缘的网络节点将会变得资源枯竭。原因有二:一是靠近服务器的节点通常在设计时只要求处理少量的用户数据; 二是由于数据在网络核心区的聚集使处于边缘的节点会接收更多的数据。此外,服务器系统本身也很容易受到攻击,在极度超载的情况下会瘫痪。
DDoS攻击被视为一种资源管理问题。本文的目的就是要保护服务器系统在全局性网络中不会收到过量的服务请求。当然,这种机制也可以很容易地变为对网络节点的保护。为此,必须采取一种预防性措施:在攻击性数据包聚集到使服务器瘫痪之前,在传送路径上的路由器中对流量进行调节,避免攻击的发生。具体实现机制是要在与服务器有数级距离的上游路由器上设置门限值,只有在这个门限值以内的数据量可以通过路由器,而其他数据将被放弃或路由至其他路由器。
这种防御系统中的一个主要因素是各个路由点输出“适当”的数据量。“适当”必须视当时的需求分配而定,因此服务器与网络之间要进行动态协商。本文中的协商方法由服务器(S)发起,如果服务器在低于设计容量(Us)的情况下运行,则不需要设置门限值;如果服务器的负载(Ls)超过了设计容量,则可以在服务器的上游设置门限值来进行自我保护。此后,如果当前的门限值不能使S的负载低于Us,则应降低门限值;反之,如果Ls< Us,则应升高门限值;如果门限值的升高没有使负载在监视期内明显增加,则可以取消门限值。控制算法的目标就是将服务器的负载控制在[Ls,Us]范围之内。
很显然,不可能要求保留所有网络服务器的状态信息,因为这样会造成状态信息爆炸。但按需求选择保护机制是可行的,这一观点是基于DDoS攻击是一种个别现象而非普遍情况的假设。在任何时间段内,我们认定只有少数的网络受到攻击,大部分网络在“健康”状态下运行。此外,恶意攻击者通常选择那些访问用户最多的“主要站点”攻击,这些站点就可以利用以下的网络结构来保证自身的安全。
二、系统的模式
本文提及的所有数据量和服务器负载量的单位均为 kbps。系统网络拓扑图如图1所示。本文给出了网络模型G=(V,E),其中V代表一系列节点,E表示边缘。所有的叶状节点均为主机和数据来源。内部节点为路由器,路由器不会产生数据但可以接收来自主机的数据或转发来自其他路由器的数据。R表示内部路由节点,所有的路由器均假设是可以信任的。主机H=V-R,被分为普通的正常用户Hg和恶意用户Ha,E是网络链路模型,默认为双向。
叶形节点V被当作目标服务器S。正常用户以[0,rg]的速度将数据包发送到S。恶意攻击者则以[0,ra]的速度向S发送数据包,从原则上讲可以根据用户通常如何访问S(假设rg< < Us)来为rg设置一个合理的水平,但ra的取值很难确定,实际上ra的值大大高于rg。
当S受到攻击时,它会启动前面谈到的门限值防护机制。为了便于表示,假设一个超载的服务器仍然能够启动防护机制,因此没有必要在每台路由器上均设置门限值。R(k)表示与S相距k层的路由器或短于k层的路由器,但它们均直接与主机相连。
图中的方块节点表示主机,圆形节点代表路由器。最左侧的主机为目标服务器S,R(3)中的路由器为图中绿色的部分,请注意R(3)中最下层的路由器与S只相隔两层,之所以将其包括在内是因为它与主机直接相连。
三、考核测量标准
性能测量的一个基本指标是门限值能在多大程度上防DDoS攻击。除了基本指标,还必须考虑安装这一机制的成本。因此,可采用下述评估标准:
1.服务器中普通用户的数量;
2.保护S时需要介入的路由器数量;
3.针对用户需求变化的应变能力。
一般来讲,我们认为攻击者比普通用户的攻击性更强。但是某个恶意的攻击能使其他大量的主机参与到恶意攻击中来,虽然每个主机看上去像是一般的普通用户,但它们加在一起仍然会造成DDoS攻击。从本质上说,防御此类攻击比较困难。
在实际布置此类防护机制时必须遵守几点要求。首先,必须保证门限值的可靠性,否则,机制本身就可能成为攻击点。为了保证可靠性,门限值消息在被边缘路由器接纳到网络中时,必须先进行验证。第二,必须保证这些消息能够安全地从发起点到达目的点。由于门限值消息的发送量很小,其鉴权和传输优先性应该可以接受,而且,由于控制方法必须收到反馈,服务器可能会在瞬时超载,为了确保该调节机制仍能运行,可以使用协处理器或帮助设备。第三,门限值保护机制可能不会在整个网络中得到支持,但只要受攻击的路由上有一台路由器支持此机制就行。
一、预防DDoS攻击原理
在分布式“拒绝服务”(DDoS)的攻击过程中,一群恶意的主机或被恶意主机感染的主机将向受攻击的服务器发送大量的数据。在这种情况下,靠近网络边缘的网络节点将会变得资源枯竭。原因有二:一是靠近服务器的节点通常在设计时只要求处理少量的用户数据; 二是由于数据在网络核心区的聚集使处于边缘的节点会接收更多的数据。此外,服务器系统本身也很容易受到攻击,在极度超载的情况下会瘫痪。
DDoS攻击被视为一种资源管理问题。本文的目的就是要保护服务器系统在全局性网络中不会收到过量的服务请求。当然,这种机制也可以很容易地变为对网络节点的保护。为此,必须采取一种预防性措施:在攻击性数据包聚集到使服务器瘫痪之前,在传送路径上的路由器中对流量进行调节,避免攻击的发生。具体实现机制是要在与服务器有数级距离的上游路由器上设置门限值,只有在这个门限值以内的数据量可以通过路由器,而其他数据将被放弃或路由至其他路由器。
这种防御系统中的一个主要因素是各个路由点输出“适当”的数据量。“适当”必须视当时的需求分配而定,因此服务器与网络之间要进行动态协商。本文中的协商方法由服务器(S)发起,如果服务器在低于设计容量(Us)的情况下运行,则不需要设置门限值;如果服务器的负载(Ls)超过了设计容量,则可以在服务器的上游设置门限值来进行自我保护。此后,如果当前的门限值不能使S的负载低于Us,则应降低门限值;反之,如果Ls< Us,则应升高门限值;如果门限值的升高没有使负载在监视期内明显增加,则可以取消门限值。控制算法的目标就是将服务器的负载控制在[Ls,Us]范围之内。
很显然,不可能要求保留所有网络服务器的状态信息,因为这样会造成状态信息爆炸。但按需求选择保护机制是可行的,这一观点是基于DDoS攻击是一种个别现象而非普遍情况的假设。在任何时间段内,我们认定只有少数的网络受到攻击,大部分网络在“健康”状态下运行。此外,恶意攻击者通常选择那些访问用户最多的“主要站点”攻击,这些站点就可以利用以下的网络结构来保证自身的安全。
二、系统的模式
本文提及的所有数据量和服务器负载量的单位均为 kbps。系统网络拓扑图如图1所示。本文给出了网络模型G=(V,E),其中V代表一系列节点,E表示边缘。所有的叶状节点均为主机和数据来源。内部节点为路由器,路由器不会产生数据但可以接收来自主机的数据或转发来自其他路由器的数据。R表示内部路由节点,所有的路由器均假设是可以信任的。主机H=V-R,被分为普通的正常用户Hg和恶意用户Ha,E是网络链路模型,默认为双向。
叶形节点V被当作目标服务器S。正常用户以[0,rg]的速度将数据包发送到S。恶意攻击者则以[0,ra]的速度向S发送数据包,从原则上讲可以根据用户通常如何访问S(假设rg< < Us)来为rg设置一个合理的水平,但ra的取值很难确定,实际上ra的值大大高于rg。
当S受到攻击时,它会启动前面谈到的门限值防护机制。为了便于表示,假设一个超载的服务器仍然能够启动防护机制,因此没有必要在每台路由器上均设置门限值。R(k)表示与S相距k层的路由器或短于k层的路由器,但它们均直接与主机相连。
图中的方块节点表示主机,圆形节点代表路由器。最左侧的主机为目标服务器S,R(3)中的路由器为图中绿色的部分,请注意R(3)中最下层的路由器与S只相隔两层,之所以将其包括在内是因为它与主机直接相连。
三、考核测量标准
性能测量的一个基本指标是门限值能在多大程度上防DDoS攻击。除了基本指标,还必须考虑安装这一机制的成本。因此,可采用下述评估标准:
1.服务器中普通用户的数量;
2.保护S时需要介入的路由器数量;
3.针对用户需求变化的应变能力。
一般来讲,我们认为攻击者比普通用户的攻击性更强。但是某个恶意的攻击能使其他大量的主机参与到恶意攻击中来,虽然每个主机看上去像是一般的普通用户,但它们加在一起仍然会造成DDoS攻击。从本质上说,防御此类攻击比较困难。
在实际布置此类防护机制时必须遵守几点要求。首先,必须保证门限值的可靠性,否则,机制本身就可能成为攻击点。为了保证可靠性,门限值消息在被边缘路由器接纳到网络中时,必须先进行验证。第二,必须保证这些消息能够安全地从发起点到达目的点。由于门限值消息的发送量很小,其鉴权和传输优先性应该可以接受,而且,由于控制方法必须收到反馈,服务器可能会在瞬时超载,为了确保该调节机制仍能运行,可以使用协处理器或帮助设备。第三,门限值保护机制可能不会在整个网络中得到支持,但只要受攻击的路由上有一台路由器支持此机制就行。
应对DoS/DDoS攻击的十条军规
DoS是“拒绝服务”(Denial of Service)的缩写,它是指故意攻击网络协议的缺陷或直接通过野蛮手段耗尽受攻击目标的资源,目的是让目标计算机或网络无法提供正常的服务,甚至系统崩溃。早期的DoS攻击都需要相当大的带宽资源来实现,而以个人为单位的“入侵者”往往没有这样的条件。但是后来攻击者发明了分布式的攻击方式,即利用工具软件集合许多的网络带宽来同时对同一个目标发动大量的攻击请求,这就是DDoS(Distributed Denial Of Service)攻击。简而言之,DDoS攻击是由“入侵者”集中控制、发动的一组DoS攻击的集合,非常难以抵挡。
很多企业网站和个人网站都不止一次地遭遇过DoS/DDoS攻击,由此也积累了一些“亡羊补牢”的经验。前车之鉴能够提醒我们注意:“为什么我们这样容易受到攻击?如何才能防患于未然降低受攻击的风险?”下面列出的就是笔者收集的十个预防、应对DoS/DDoS攻击的有效方法:
1. 保留并定期查看各种日志以助分析各种情况。
日志看起来很枯燥,而且绝大多数时候没什么作用;可一旦意外发生,它就能为你提供很重要的信息参考,每天下班前看一眼日志吧。
2. 预先建立标准操作规程和应急操作规程。
前者简称SOPs,后者是EOPs,预先建立好规程并且处变不惊是一个合格网管员的基本素养。
3. 要有居安思危的思想准备。
遭遇攻击往往没有先兆,有备无患才是长治久安之计。
4. 网管员必须熟悉所有的配置细节。
如果你是半路接手工作,一定要向前任咨询、核对清楚所有的工作细节。
5. 在本地和外网分别进行安全性测试。
“自测”不仅是演习,多给自己出一些安全性测试的难题能起到知己知彼的效用。
6. 提防错误配置造成的隐患。
错误配置通常发生在硬件搭配、服务器系统或者应用程序中,有时候问题还很隐蔽。通过反复检查来确保路由器、交换机等网络连接设备和服务器系统都进行了正确的配置,这样才会减小各种错误和入侵、攻击发生的可能性。
7. 要熟悉过去的一些配置细节。
8. 一旦发现异常,要时刻警惕。
网管员最要不得的就是麻痹大意,凡事将就。
9. 把握好网络架构的繁简程度和系统开销、安全风险之间的平衡。
一味地添加设备并不等同于提高防护机制,网络系统一样是因简就奢易,因奢就简难。
10. 通过安全防护来降低黑客攻击的风险,比如安装防火墙等安全设备
DoS是“拒绝服务”(Denial of Service)的缩写,它是指故意攻击网络协议的缺陷或直接通过野蛮手段耗尽受攻击目标的资源,目的是让目标计算机或网络无法提供正常的服务,甚至系统崩溃。早期的DoS攻击都需要相当大的带宽资源来实现,而以个人为单位的“入侵者”往往没有这样的条件。但是后来攻击者发明了分布式的攻击方式,即利用工具软件集合许多的网络带宽来同时对同一个目标发动大量的攻击请求,这就是DDoS(Distributed Denial Of Service)攻击。简而言之,DDoS攻击是由“入侵者”集中控制、发动的一组DoS攻击的集合,非常难以抵挡。
很多企业网站和个人网站都不止一次地遭遇过DoS/DDoS攻击,由此也积累了一些“亡羊补牢”的经验。前车之鉴能够提醒我们注意:“为什么我们这样容易受到攻击?如何才能防患于未然降低受攻击的风险?”下面列出的就是笔者收集的十个预防、应对DoS/DDoS攻击的有效方法:
1. 保留并定期查看各种日志以助分析各种情况。
日志看起来很枯燥,而且绝大多数时候没什么作用;可一旦意外发生,它就能为你提供很重要的信息参考,每天下班前看一眼日志吧。
2. 预先建立标准操作规程和应急操作规程。
前者简称SOPs,后者是EOPs,预先建立好规程并且处变不惊是一个合格网管员的基本素养。
3. 要有居安思危的思想准备。
遭遇攻击往往没有先兆,有备无患才是长治久安之计。
4. 网管员必须熟悉所有的配置细节。
如果你是半路接手工作,一定要向前任咨询、核对清楚所有的工作细节。
5. 在本地和外网分别进行安全性测试。
“自测”不仅是演习,多给自己出一些安全性测试的难题能起到知己知彼的效用。
6. 提防错误配置造成的隐患。
错误配置通常发生在硬件搭配、服务器系统或者应用程序中,有时候问题还很隐蔽。通过反复检查来确保路由器、交换机等网络连接设备和服务器系统都进行了正确的配置,这样才会减小各种错误和入侵、攻击发生的可能性。
7. 要熟悉过去的一些配置细节。
8. 一旦发现异常,要时刻警惕。
网管员最要不得的就是麻痹大意,凡事将就。
9. 把握好网络架构的繁简程度和系统开销、安全风险之间的平衡。
一味地添加设备并不等同于提高防护机制,网络系统一样是因简就奢易,因奢就简难。
10. 通过安全防护来降低黑客攻击的风险,比如安装防火墙等安全设备
导入论坛 引用链接 收藏 分享给好友 推荐到圈子 管理 举报
TAG:


