找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 8554|回复: 9

[linux] LINUX对付DDOS方法(菜鸟方法,不要笑)

[复制链接]
发表于 2005-4-23 11:20:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
针对目前D.O.S攻击的实施手段,我们预先采取了以下的一些措施:    1.为防止Syn-Flood攻击(Syn-Flood攻击的具体原理参见本站的技术文章),我们对默认安装的系统进行了强化,主要是通过重新编译内核,以及设定相应的内核参数使得系统强制对超时的Syn请求连 接数据包复位,同时通过缩短超时常数和加长等候队列使得系统能迅速处理无效的Syn请求数据包。如果不强制对这些无效的数据包进行清除复位,将大大加重系统的负载,最终将导致系统失去响应。    2.为防止icmp炸弹的攻击,在系统内核中对icmp数据包的流量进行限定允许。并在系统参数中对此限定值调整。以防止系统由此而造成的失去响应。    3.在系统中加装防火墙系统,利用防火墙系统对所有出入的数据包进行过滤。    4.仔细调整服务器的各项参数。根据我们站点访问量大的特点,对Web服务器和Mail服务器进行适度的预加重处理,即通过预先使服务器达到一定的负载,以使得整个系统的负载变化在访问量变化时不 会出现很大的变化,如果出现了很大的变化,很有可能使得服务器崩溃。这和在建筑中广泛采用的预应力技术的原理是一致的。    在完成了对服务器的强化后,还必须使用一些有效的方法和规则来检测和发现拒绝服务攻击,并能在检测到拒绝服务攻击后采取相应的对策。    检测的手段很多,可以通过察看路由器纪录和系统纪录以及站点目前状态来实现。   通常,我们在设计防火墙的时候预先对某些特殊类型的IP数据包进行过滤(不需要纪录)。这些特殊的IP是不能在Internet网上出现的(无法路由)。而要进行拒绝服务攻击往往最需要这类有来无回的 数据包,来隐蔽攻击者的真实地址和身份。而一旦这类地址的出现,往往就标志着某种拒绝服务攻击的开始。   这一大类的地址是127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16这四个网段的地址。就我们的防火墙的规则而言,对这三个地址段是完全拒绝任何数据包的: deny all。然后通过检测对这些规则的计数,来判决是否存在某些攻击行为。如当我们发现在我们的计数器中发现如下的情况:    0 0 deny ip from any to 127.0.0.0/8   4552 553302 deny ip from 10.0.0.0/8 to any   0 0 deny ip from any to 10.0.0.0/8   0 0 deny ip from 172.16.0.0/12 to any   0 0 deny ip from any to 172.16.0.0/12   97601 11024404 deny ip from 192.168.0.0/16 to any   0 0 deny ip from any to 192.168.0.0/16    这时,我们就可以推断是有人在拒绝服务攻击,当我们利用"netstat ?an|grep SYN_RCVD"来检测当时的网络连接数目时,我们会发现有大量的SYN_RCVD类型的连接:    tcp4 0 0 202.109.114.50.80 203.93.217.52.2317 SYN_RCVD   tcp4 0 0 202.109.114.50.80 61.136.54.73.1854 SYN_RCVD    这就说明了此时服务器正在遭受Syn-Flood攻击。纪录这类攻击的IP地址是毫无意义的(因为这些IP地址都是在程序中通过改变数据包头而伪造的)。    而对于分布式拒绝服务攻击,由于采用了大流量攻击手法,会造成该网段路由器的阻塞,从而使得该网段内几乎所有的服务器可用的带宽都变的极小,对外造成不能访问的现象。而此时,该网段主干路 由器亦承受极大的负载。对于Linux系统来说可以考虑重新编译内核,将network中enable tcp_syncookie然后在使用新内核启动,并且在/etc/rc.d/rc.local中添加并在命令行运行echo 1 >/proc/sys/net/ipv4/tcp_syncookies来防止synflood攻击。    而对于ICMP包炸弹这里攻击,则可以通过在防火墙上设置纪录来实现检测。一旦发现在一定的时间内有量的ICMP包涌入,而内核由于ICMP包的流量过载而出现警告,则说明存在此类的攻击行为。这时, 可以从系统所纪录的日志上看到,类似于如下的纪录:    Deny ICMP 202.96.113.53 202.109.114.50 in   Deny ICMP 202.96.113.53 202.109.114.50 in   Deny ICMP 202.96.113.53 202.109.114.50 in   Deny ICMP 202.96.113.53 202.109.114.50 in   Deny ICMP 202.96.113.53 202.109.114.50 in    在检测到攻击行为后,就应该采取一些措施使得攻击的影响减至最小。    对于分布式攻击,目前还没有非常有效方法来防御,我们所能做的是让ISP对主干路由器进行限流措施来降低攻击所造成的影响。    对于SYN-FLOOD攻击,一方面要在服务器端打Syn-flood的补丁,另一方面需要在该网段的路由器上做些配置的调整。这些调整包括限制Syn半开数据包的流量和个数,在路由器的前端做必要的TCP拦截( 目前限于Cisco系列IOS12.0),并在路由器上设定相当严格的定时常数,利用路由器的TCP拦截技术使得只有完成TCP三次握手过程的数据包进入该网段,这样可以有效地保护本网段内的服务器不受此类攻击 。同时,在路由器的访问列表里拒绝10.0.0.0/8,172.16.0.0/12,192.168.0.0/16这三个虚拟网段的访问。对于linux可以考虑使用防火墙规则来限制来自这些数据报的命令: ipchains -I input -i lo -s 127.0.0.02 -j ACCEPT ipchains -I input -s 127.0.0.02 -j DENY ipchains -I input -s 192.168.0.0/16 -j DENY ipchains -I input -s 172.16.0.0/12 -j DENY ipchains -I input -s 10.0.0.0/8 -j DENY    对于ICMP攻击可以采取的方法一:在服务器端拒绝所有的ICMP包;(对于Linux系统运行echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all,并将该命令添加到/etc/rc.d/rc.local最后)    要彻底杜绝拒绝服务攻击,只有追根溯源去找到正在进行攻击的机器和攻击者。 要追踪攻击者不是一件很容易的事情,一旦其停止了攻击行为,很难将其发现。唯一可行的方法就是在其进行攻击的时候,根据路由器的信息和攻击数据包的特征,采用一级一级回溯的方法来查找其攻击源 头。这时需要各级部门的协同配合才能很好的完成。
routeros
 楼主| 发表于 2005-4-23 11:22:29 | 显示全部楼层
禁用ICMP,感觉不是很好,但也没有什么大的影响~有人DOS你的话,最好还是先找ISP....
routeros
回复

使用道具 举报

发表于 2005-4-23 23:34:47 | 显示全部楼层
DOS攻击可以预防.. 但DDOS攻击没办法解决... 楼主.. 虽然服务器抵御了所有的攻击包.那么带宽还能用吗??  当带宽被攻击包耗尽了.. 虽然服务器抵御了攻击包.. 但你说有什么用呢??最终还是达到了拒绝服务的攻击目的....
routeros
回复

使用道具 举报

发表于 2005-4-24 00:41:27 | 显示全部楼层
哈,带宽耗尽了,别人就访问不了了,也就攻击不成了。这是他的逻辑?禁用ICMP 是不正确的方法,ICMP 报文不仅仅用在PING的回应上,某些协议需要ICMP协同运做。
routeros
回复

使用道具 举报

发表于 2005-4-24 01:21:16 | 显示全部楼层
用ipchains和禁PING不是好的方法最近发现哪怕你有IDS设备,对方的带宽比你高一样掉的说
routeros
回复

使用道具 举报

发表于 2005-4-24 16:24:20 | 显示全部楼层
QUOTE (哈啤猫 @ Apr 24 2005, 12:41 AM)
哈,带宽耗尽了,别人就访问不了了,也就攻击不成了。这是他的逻辑?禁用ICMP 是不正确的方法,ICMP 报文不仅仅用在PING的回应上,某些协议需要ICMP协同运做。  
  带宽耗尽了.. 你的服务器不能向外提供任何服务.但是攻击一直存在着.. 一直占用着带宽.怎么会说攻击不成呢?? 你要想想.. 你的服务器停止提供服务所带来的损失..  换句话说.即使你把服务器的网线拔了.. 攻击者可以一直攻击着你的服务器IP地址.. 不论你的服务器是否在线上.. 说起IP地址.. 肯定会有人想到把IP地址换了.. 但是攻击者难道不会跟着你换攻击的IP吗??
routeros
回复

使用道具 举报

发表于 2005-4-24 16:33:05 | 显示全部楼层
DDOS攻击不需要攻击者的带宽高不高.. 需要的是更丰富的DDOS技术和经验..利用反弹方式的DDOS攻击.. 那么就算攻击者的电脑的带宽只有2M ,只要他有技术.就能发动起高达几十G的流量攻击..  甚至高达几百G... IPV6也存在着DDOS攻击漏洞..   我的服务器就曾经被DDOS过.. 到最后就只有ISP才能解决攻击的问题..    ISP要解决也得有相应的技术.. 还要看他是否乐于助人.. 否则就很难解决了..
routeros
回复

使用道具 举报

发表于 2005-4-24 18:24:11 | 显示全部楼层
看你的软硬件的资源了.你可以向isp要4-8个ip,必要时换ip.或是同时使用
routeros
回复

使用道具 举报

发表于 2005-4-25 13:47:20 | 显示全部楼层
硬件再多好.. 带宽不够的话.. 依然不行.. 有八个IP又怎样呢?? 拉八条线再配合八个IP还差不多.. 但是对方对你的八条线攻击.. 还不是一样没戏..   只有等TCP/IP协议淘汰了才能避免DDOS了..
routeros
回复

使用道具 举报

发表于 2005-8-23 22:33:54 | 显示全部楼层
真的好可怕吗?
routeros
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|软路由 ( 渝ICP备15001194号-1|渝公网安备 50011602500124号 )

GMT+8, 2024-5-19 18:04 , Processed in 0.056078 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表