Slackware的缺省设置允许下列攻击:

 

1、IPV4 数据包转发(缺省打开)

 

在脚本大约19行处的IP数据包转发设置,缺省为ON。这个缺省值是不合适的,因为连接了网络的计算机缺省是不应该允许数据转发的。例如当一个在局域网内的拨号用户在与其ISP保持互联网连接时,这样的设置易受到局域网内的数据包转发攻击。

解决方法:在/etc/rc.d/rc.inet2中将'IPV4_FORWARD=1' 改为 'IPV4_FORWARD=0'。

 

2、RP_FILTER (不合理的假设)

 

紧跟着脚本对IP数据包转发设置,是一段关于rp_filter设置的注释。rp_filter用于对数据包源地址进行检查,以过滤外部攻击者使用IP欺骗进入内部网络。如果在允许IP转发的情况下没有打开这个设置,将易导致受到来自内部网的IP欺骗。按照这段注释和内核文档的内容,当允许IP转发时系统(缺省地)将隐式打开该项设置。然而实际上,如果只显式打开允许IP转发(IPV4_FORWARD=1),在/proc内的rp_filter的值仍旧为'0',这意味对数据包的来源不进行任何检查,从而成为导致这个漏洞的根源。

 

在察看了/etc/rc。d/rc。inet2的脚本后,这段说明是这样写的:

 

# When using IPv4 packet forwarding, you will also get the rp_filter, which

*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*

# automatically rejects incoming packets if the routing table entry for their

# source address doesn''t match the network interface they''re arriving on. This

# has security advantages because it prevents the so-called IP spoofing,

# however it can pose problems if you use asymmetric routing (packets from you

# to a host take a different path than packets from that host to you) or if

# you operate a non-routing host which has several IP addresses on different

# interfaces. To turn rp_filter off, uncomment the lines below:

# if [ -r /proc/sys/net/ipv4/conf/all/rp_filter ]; then

# echo "Disabling rp_filter..."

# echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter

# fi

 

可见,slackware7的系统没有显式打开rp_filter,因此我们建议的解决方法是:

 

在说明后面加入

 

echo "Enableing rp_filter..."

echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter

 

这样就可以打开rp_filter设置。

 

3、TCP_SYNCOOKIES(在2.2.x内核下关闭)

 

用于防止TCP_SYN攻击的syn-cookies在2.0.x内核下是打开的(缺省),但在2.2.x内核下却被关闭(缺省)了。管理员应该将其恢复为打开状态,这样能保护系统免受'SYN flood'攻击。