- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DoS攻击和SPI-firewall
DoS攻击和SPI firewall
一.Dos攻击介绍及SPI firewall的需求:
所谓DoS,就是Denial of Service,造成DoS的攻击行为被称为DoS攻击,其目的是破坏组织的正常运行,使计算机或网络无法提供正常的服务典型的拒绝服务攻击有两种形式:资源耗尽和资源过载。最基本的DoS攻击就是利用合理的服务请求来占用过多的服务资源,致使服务超载,无法响应其他请求。当一个对资源的合理请求大大超过资源的支付能力时就会造成拒绝服务攻击(例如,对已经满载的Web服务器进行过多的请求)1.Land Attack
Land 攻击是一种老式的拒绝服务攻击(DoS)。它利用TCP连接漏洞,攻击者不断地向被攻击的计算机发送具有IP 源地址和IP目的地址完全一样, TCP 源端口和目的端口也完全一样的的伪造 TCP SYN 包,导致该计算机系统一直向自己发送SYN-ACK响应信息,结果这个地址又发回ACK消息并创建一个空连接Land Attack。
使用sniffer构造数据包时需要注意修改checksum。
解决方法:
对所有进来的数据包的IP源地址进行检查,利用IP filter过滤限制源地址通讯。如果该源地址与目的地址相同,则该数据包被丢弃。
iptables –A INPUT –s ip-addr1 –d ip-addr1 –p tcp --tcp-flags SYN –source-port port1 –destination-port port1 –j DROP
其中的IP地址和端口数值可以通过建立连接状态表,从中读取TCP连接跟踪信息的方法取得:
如果系统有ip_conntrack模块,在系统由TCP连接时,可以在proc目录下看到文件:/proc/net/ip_conntrack。该文件的内容格式如下:
tcp 6 117 SYN_SENT src=192.168.1.6 dst=192.168.1.9 sport=32775 dport=22 [UNREPLIED] src=192.168.1.9 dst=192.168.1.6 sport=22 dport=32775
首先显示的是协议,是tcp,接着是十进制的6(的协议类型代码是6)。之后的117是这条conntrack记录的生存时间,它会有规律地被消耗,直到收到这个连接的更多的包。那时,值就会被设为当时那个状态的缺省值。接下来的是这个连接在当前时间点的状态。上面的例子说明这个包处在状态 SYN_SENT。SYN_SENT说明我们正在观察的这个连接只在一个方向发送了一TCP SYN包。再下面是源地址、目的地址、源端口和目的端口。其中UNREPLIED,说明这个连接还没有收到任何回应。最后是希望接收的应答包的信息,他们的地址和端口和前面是相反的。
测试方法:
对一个已存在的UDP包使用sniffer修改其目的端口为一个数值很大不常用的端口,然后将其不断发送给被攻击主机。或者使用UDP?Flooder?工具。
解决方法:
1.比较简单的方法是对系统每秒发送的ICMP数据包数量或者接收的UDP数据包数量进行限制。当超过该数值时,系统在该单位时间内将不再发送ICMP数据包或接收UDP数据包。
在iptables规则中需要用到-m limit参数进行设置,如:
iptables –A INPUT -p icmp -m limit??--limit 1000/sec -j ACCEPT
即系统每秒只接收1000个ICMP数据包。
需要注意的是limit match有两个参数对应这种情况,--limit-burst指定有通,--limit指定要隔多长时间才能新的通。在正常的TCP实现中,当接收到一个SYN数据包,他返回一个SYN-ACK包来应答,然后进入TCP-SYN-RECV(半开放连接)状态来等待返回ACK包。用一个数据空间来描述所有未决的连接,这个数据空间的大小是有限的
测试方法:
可以使用allinone工具对被攻击主机进行测试。
解决方法:
1.提升连接队列,SYN ACK 队列的大小。
2.减少三向握手的超时等待时间。
3.利用iptables规则对系统单位时间内响应SYN请求的数量进行限制,具体的数据值可以在测试中寻求在不影响系统性能条件下的适当值:
iptables -A INPUT --tcp-flags SYN,ACK -m limit -limit 2000/s -j ACCEPT
4.系统在正常工作状态下,一秒内同一网段的IP在请求服务时的IP数应该是有限的,而黑客攻击产生的源IP有可能是基于某个初值顺序增加,那么会导致一秒内有连续的几个网段的数据包通过,这也是有问题的,所以可以通过设定
文档评论(0)