通过设置 Cisco 路由器防止分布式 D.O.S ***手段的细节 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

1 、使用 "ip verify unicast reverse-path interface" 命令
这个特征检查发送到路由器的每一个包。如果一个包的源 IP 地址在 CEF tables 里面没有回指向这个包到达的接口的路由,则路由器将取消这个包。 ( : CEF=Cisco express forwarding)
RPF=Reverse Path Forwarding(
反向路径转送 )
单目标反向路径传送 (Unicast RPF) 设置可以防止针对 ISP SMURF attack( 参见 [url]http://www.cnns.net/article/db/75.htm[/url]), 以及类似的基于伪源地址技术的***。这将保护 ISP 的网络和客户。要启动 Unicast RPF ,可以通过在路由器上启动 "CEF switching" 或者 "CEF distributed switching" 的功能来实现。在这里,不需要为 "CEF switch" 配置输入的网络接口。当路由器上的 CEF 特征运行的时候,单个的网络接口能被配置成相应的 switching 模式。 RPF 是为路由器上的网络接口和子接口等输入端设计的功能,用于处理从路由器上接收的报文。
:Unicast multicast broadcast 相反,是对单一目标的传送方式。

启动 CEF 功能是十分重要的,如果不启动 CEF ,则 RPF 也不能正常运行。在 Cisco IOS 11.2 11.3 Cisco 操作系统版本中是不支持的。对于 12.0 或者以上的版本,只要支持 CEF ,就支持 Unicast RPF ,包括 AS5800 。所以,在 AS5800 PSTN/ISDN 的接口上可以配置 Unicast RPF 的特性。


2
、通过 access control list( 访问控制表 ) 过滤所有的 RFC1918 地址空间
Filter all RFC1918 address space using access control lists.
请参考下面的 ACL( 访问控制表 ) 例子 :

interface xy
  ip access-group <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />101 in
  access-list 101 deny ip 10.0.0.0   0.255.255.255 any
  access-list 101 deny ip 192.168.0.0 0.0.255.255 any
  access-list 101 deny ip 172.16.0.0 0.15.255.255 any
  access-list 101 permit ip any any
ACL=Access Control Lists---
路由器的访问控制表

3
、通过配置 ACL( 访问控制表 ) 实施进出报文过滤
(
请参考 RFC2267 )
请看下面的网络结构 :

   { ISP
中心 } -- ISP 边界路由器 -- 客户边界路由器 -- { 客户网络 }

在这里, ISP 的边界路由器应该只接受源地址来自客户网络的通信,客户网络应该只接受来自允许的源地址的通信。
下面的例子是一台 ISP 的边界路由器的访问控制表 (ACL) 范例 :

   access-list 190 permit ip {customer network} {customer network mask} any
   access-list 190 deny ip any any [log]

   interface {ingress interface} {interface #}
     ip access-group 190 in

下面的例子是客户边界路由器的 ACL 范例 :

   access-list 187 deny ip {customer network} {customer network mask} any
   access-list 187 permit ip any any

   access-list 188 permit ip {customer network} {customer network mask} any
   access-list 188 deny ip any any

   interface {egress interface} {interface #}
     ip access-group 187 in
     ip access-group 188 out


如果打开 Cisco Express Forwarding (CEF) 的功能,可以有效地缩短 ACL( 访问控制表 ) 的长度,同时启动 Unicast RPF(Unicast reverse path forwarding) 将有效地改善路由器的性能。在路由器上总体地启动 CEF ,其下接口的 CEF 特性也会被启动。


4
、通过 "Control Access Rate" ICMP 报文设置流率限制
请参考下面的例子 :

interface xy
rate-limit output access-group 2020 3000000 512000 786000 conform-action transmit exceed-action drop

access-list 2020 permit icmp any any echo-reply
更多的信息请参考 : IOS Essential Features.

5
、为 SYN 报文设置流率限制
请参考下面的例子 :

interface {int}

rate-limit
output access-group 153
45000000 100000 100000 conform-action
transmit exceed-action drop
rate-limit output access-group 152
1000000 100000 100000 conform-action
transmit exceed-action drop

access-list 152 permit tcp any host eq www
access-list 153 permit tcp any host eq www established

在上面的例子红色带下划线的地方是需要替换的 :
45000000 替换为 maximal link bandwidth 的值 ( 最大链接带宽 )
1000000 替换为一个新值,这个值介于 SYN flood 流率的 30% 50% 之间。
burst normal burst max 设置为正确的值
注意,如果将 burst rate 设置为大于 30% ,很多合法的 SYN 报文也将被取消。作为设置 burst rate 的参考,可以使用 "show interfaces rate-limit" 命令来查看正常与过度的 rate 值。在不影响正常工作的情况下限制 SYN 到最小。建议在正常状态的时候仔细评估一下 SYN 报文的平均流量,用这个值作为限制值的参考。

如果一个主机遭受了 SYN ***,可以考虑在那台主机上安装一个 IP 过滤的程序,例如一个叫 "IP filter" 的软件。

6
、搜集准备证据,与信息安全监察部门联系
安装***检测系统或者协议分析软件,捕获报文进行分析。建议使用具有高性能的 Pentium 处理器的 Sun 工作站或者 Linux 机器对报文进行监视。
例如可以使用有名的 tcpdump 或者 snoop 包捕获工具 :

  tcpdump -i interface -s 1500 -w capture_file
  snoop -d interface -o capture_file -s 1500
</FONT>>

在上面的例子中 MTU size 1500
保存上面这些监视程序的日志作为证据。