通过设置
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 。
保存上面这些监视程序的日志作为证据。
这个特征检查发送到路由器的每一个包。如果一个包的源 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 。
保存上面这些监视程序的日志作为证据。
转载于:https://blog.51cto.com/phetler/132539