一些简单的攻击及防护方式

抗地址欺骗攻击:
/proc/sys/net/ipv4/conf/all/rp_filter
ip_route_input_slow:根据目的地址查找路由成功后,会调用fib_validate_source根据源ip再次查找路由并调用IN_DEV_RPFILTER()获取rp_filter值,此时若rp_filter为真且源路由对应接口和报文入口不同,则认为该报文是源地址欺骗,返回错误,路由查找失败,报文丢弃。

抗源路由攻击:
/proc/sys/net/ipv4/conf/all/accept_source_route
利用ip头选项字段的 "严格源路由"选项,在ip_rcv_finish->ip_rcv_options中判断该字段是否为真,若为真则调用IN_DEV_SOURCE_ROUTE()获取accept_source_route值,若accept_source_route为假(即不接收严格源路由选项报文),则将报文丢弃并printk打印错误信息。


抗Smurf攻击:
主要利用icmp的广播报文占用大量带宽;
防护方法:在prerouting链,丢弃目的地址是广播地址,源地址是本机地址的报文


抗LAND攻击(Local Area Network Denial):syn、ack包源、目的地址都为本机,形成重复的循环过程
防护方法:在prerouting链,丢弃目的地址和源地址相同的syn包


抗Winnuke攻击(带外传输攻击):
利用Windows 9X 的NetBIOS中一个OOB(Out of Band)的漏洞而进行的,原理是通过TCP/IP协议传递一个Urgent数据包到计算机的137、138或139端口,当计算机收到这个数据包之后就会瞬间死机或蓝屏,不重新启动计算机就无法继续使用TCP/IP协议来访问网络
防护方法:在prerouting链,将tcp中urg位置1并且目的端口是137、138、139的报文丢弃


抗Queso扫描:
Queso是一种扫描工具,主要利用tcp头的ece和cwr字段特征,ece和cwr字段是tcp对ip包ECN得支持,是一种路由阻塞的通知机制。
防护方法:在prerouting链,将ece和cwr字段为真得数据包直接丢弃。


抗SYN/FIN扫描:
抗FIN扫描:
防护方法:在prerouting链,对tcp标志中各非法组合报文直接丢弃


抗NULL扫描:
防护方法:在prerouting链,将tcp标志中所有标志都没有置位的报文丢弃


抗圣诞树扫描(XMAS scan):
防护方法:在prerouting链,将tcp标志中所有标志都置位的报文丢弃


抗Fraggle攻击:
主要利用udp协议7号19号端口本身属性造成大量无用报文占用带宽;
防护方法:在prerouting链,丢弃目的端口是7和19,目的地址是广播地址,源地址是本地地址的报文。


抗Teardrop攻击:
Teardrop攻击是一种基于分片数据包的攻击方法,某些操作系统收到含有重叠偏移的伪造分片数据包时会出现系统崩溃、重启等现象。
防护方法:对分片报文重组,计算数据包偏移量,将重叠偏移的错误数据包丢弃。


Ping of death:
送出超过65535字节的ping封包,导致目标电脑必须不断重组封包,期间可能因发生缓冲区溢位,而导致系统崩溃。
防护方法:在prerouting链,将长度大于65535的icmp报文丢弃


抗Jolt2攻击:
Jolt2攻击是一种基于分片数据包的攻击方法,当最后一个分片的偏移量与IP包头长度之和大于65535时,会导致某些系统CPU占用率上升、崩溃现象。
防护方法:对分片报文重组,将总数据长度大于65535的报文丢弃

原文地址:https://www.cnblogs.com/wangliangblog/p/13531040.html