DDoS
***的防御还是比较困难的。首先,这种***的特点是它利用了
TCP/IP
协议的漏洞,除非你不用
TCP/IP
,才有可能完全抵御住
DDoS
***。一个形象的比喻:
DDoS
就好象有
1,000
个人同时给你家里打电话,这时候你的朋友还打得进来吗?
防止 DDoS 并不是绝对不可行的事情。对 Cisco 路由器可以首先在路由器上打开 CEF 功能( Cisco Express Forwarding )、使用 Unicast RPF ( Unicast Reverse Path Forwarding ),然后利用访问控制列表( ACL )过滤并设置 SYN 数据包流量速率或通过升级版本过低的 ISO 、为路由器建立 log server 等措施来建立安全防范。具体的使用方法是:
1 、使用 ip verfy unicast reverse-path 网络接口命令
这个功能检查每一个经过路由器的数据包。在路由器的 CEF ( Cisco Express Forwarding )表该数据包所到达网络接口的所有路由项中,如果没有该数据包源 IP 地址的路由,路由器将丢弃该数据包。例如,路由器接收到一个源 IP 地址为<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /> 1.2.3 .4 的数据包,如果 CEF 路由表中没有为 IP 地址 1.2.3.4 提供任何路由(即反向数据包传输时所需的路由),则路由器会丢弃它。
单一地址反向传输路径转发( Unicast Reverse Path Forwarding )在 ISP (局端)实现阻止 SMURF ***和其它基于 IP 地址伪装的***。这能够保护网络和客户免受来自互联网其它地方的侵扰。使用 Unicast RPF 需要打开路由器的 "CEF swithing" 或 "CEF distributed switching" 选项。不需要将输入接口配置为 CEF 交换( switching )。只要该路由器打开了 CEF 功能,所有独立的网络接口都可以配置为其它交换( switching )模式。 RPF (反向传输路径转发)属于在一个网络接口或子接口上激活的输入端功能,处理路由器接收的数据包。
在路由器上打开 CEF 功能是非常重要的,因为 RPF 必须依靠 CEF 。 Unicast RPF 包含在支持 CEF 的 Cisco IOS 12.0 及以上版本中,但不支持 Cisco IOS 11.2 或 11.3 版本。
2 、使用访问控制列表( ACL )过滤 RFC 1918 中列出的所有地址
参考以下例子:
interface xy
ip access-group 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
3 、参照 RFC 2267 ,使用访问控制列表( ACL )过滤进出报文
参考以下例子:
{ISP 中心 } -- ISP 端边界路由器 -- 客户端边界路由器 -- { 客户端网络 }
ISP 端边界路由器应该只接受源地址属于客户端网络的通信,而客户端网络则应该只接受源地址未被客户端网络过滤的通信。以下是 ISP 端边界路由器的访问控制列表( ACL )例子:
access-list 190 permit ip { 客户端网络 } { 客户端网络掩码 } any
access-list 190 deny ip any any [log]
interface { 内部网络接口 } { 网络接口号 }
ip access-group 190 in
以下是客户端边界路由器的 ACL 例子:
access-list 187 deny ip { 客户端网络 } { 客户端网络掩码 } any
access-list 187 permit ip any any
access-list 188 permit ip { 客户端网络 } { 客户端网络掩码 } any
access-list 188 deny ip any any
interface { 外部网络接口 } { 网络接口号 }
ip access-group 187 in
ip access-group 188 out
如果打开了 CEF 功能,通过使用单一地址反向路径转发( Unicast RPF ),能够充分地缩短访问控制列表( ACL )的长度以提高路由器性能。为了支持 Unicast RPF ,只需在路由器完全打开 CEF ;打开这个功能的网络接口并不需要是 CEF 交换接口。
4 、使用 CAR ( 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
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 为最大连接带宽
1000000 为 SYN flood 流量速率的 30% 到 50% 之间的数值。
burst normal (正常突变)和 burst max (最大突变)两个速率为正确的数值。
注意,如果突变速率设置超过 30% ,可能会丢失许多合法的 SYN 数据包。使用 "show interfaces rate-limit" 命令查看该网络接口的正常和过度速率,能够帮助确定合适的突变速率。这个 SYN 速率限制数值设置标准是保证正常通信的基础上尽可能地小。
警告:一般推荐在网络正常工作时测量 SYN 数据包流量速率,以此基准数值加以调整。必须在进行测量时确保网络的正常工作以避免出现较大误差。
另外,建议考虑在可能成为 SYN ***的主机上安装 IP Filter 等 IP 过滤工具包。
6 、搜集证据并联系网络安全部门或机构
如果可能,捕获***数据包用于分析。建议使用 SUN 工作站或 Linux 等高速计算机捕获数据包。常用的数据包捕获工具包括 TCPDump 和 snoop 等。基本语法为:
tcpdump -i interface -s 1500 -w capture_file
snoop -d interface -o capture_file -s 1500
本例中假定 MTU 大小为 1500 。如果 MTU 大于 1500 ,则需要修改相应参数。将这些捕获的数据包和日志作为证据提供给有关网络安全部门或机构。
为了防止利用 IP Spoofing 手段假冒源地址进行的 DoS ***对整个网络造成的冲击。主要配置在边缘路由设备(即直接与终端用户网络互连的路由设备)上,根据用户网段规划添加源路由检查。
针对不同 DDOS ***的端口进行过滤,在实施时必须探测到 DDOS ***的端口。
! The TRINOO DDoS system
Router(Config)# access-list 113 deny tcp any any eq 27665 log
Router(Config)# access-list 113 deny udp any any eq 31335 log
Router(Config)# access-list 113 deny udp any any eq 27444 log
! The Stacheldtraht DDoS system
Router(Config)# access-list 113 deny tcp any any eq 16660 log
Router(Config)# access-list 113 deny tcp any any eq 65000 log
! The TrinityV3 System
Router(Config)# access-list 113 deny tcp any any eq 33270 log
Router(Config)# access-list 113 deny tcp any any eq 39168 log
! The SubSeven DDoS system and some Variants
Router(Config)# access-list 113 deny tcp any any range 6711 6712 log
Router(Config)# access-list 113 deny tcp any any eq 6776 log
Router(Config)# access-list 113 deny tcp any any eq 6669 log
Router(Config)# access-list 113 deny tcp any any eq 2222 log
Router(Config)# access-list 113 deny tcp any any eq 7000 log
Router(Config)# interface eth 0/2
Router(Config-if)# ip access-group 113 in
DDOS 是利用 TCP 协议的漏洞 , 目前没有什么有效的手段防护,笔者认为最有效的方法就是拼资源 , 其次可以加个 firewall 。 DDOS 多是有目的的*** , 是很难防护的,基本上,路由器防范 DoS ***的能力还是很弱的,尽管我们在路由器上采取了适当措施,以上配置不建议在核心和汇聚层设备上实行。遇到问题时一种快速的手段 , 就是利用 2 分法 , 快速的查出它的来源地址 , 然后封掉它。
因此,防止各种 DoS ***是非常必要的。用户需要注意的是,以上介绍的几种方法,对付不同类型的 DoS ***的能力是不同的,对路由器 CPU 和内存资源的占用也有很大差别,在实际环境中,用户需要根据自身情况和路由器的性能来选择使用适当的方式。
对 secondary ip address 的理解
在同一端口中可以设置两个以上的不同网段的 IP 地址,这样可以实现连接在同一局域网上不同网段之间的通讯。一般由于一个网段对于用户来说不够用,可以采用这种办法。在端口设置状态下
命令: ip address 本端口 IP 地址 子网掩码 secondary
注意: 1 、如果要实现连在同一路由器端口的不同网段的通讯,必须在端口设置状态下
ip redirect
一般地, Cisco 路由器不允许从同一端口进来的 IP 包又发回到原端口中, ip redirect 表示允许在同一端进入路由器的 IP 包由原端口发送回去。
2 、网络中含有 0 的 IP 地址如 138.0.0.1 或 192.1.0.2 ,强烈建议尽量不要使用这样的 IP 地址,如要使用这的地址,在全局设置模式下必须设置
ip subnet-zero
防止 DDoS 并不是绝对不可行的事情。对 Cisco 路由器可以首先在路由器上打开 CEF 功能( Cisco Express Forwarding )、使用 Unicast RPF ( Unicast Reverse Path Forwarding ),然后利用访问控制列表( ACL )过滤并设置 SYN 数据包流量速率或通过升级版本过低的 ISO 、为路由器建立 log server 等措施来建立安全防范。具体的使用方法是:
1 、使用 ip verfy unicast reverse-path 网络接口命令
这个功能检查每一个经过路由器的数据包。在路由器的 CEF ( Cisco Express Forwarding )表该数据包所到达网络接口的所有路由项中,如果没有该数据包源 IP 地址的路由,路由器将丢弃该数据包。例如,路由器接收到一个源 IP 地址为<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /> 1.2.3 .4 的数据包,如果 CEF 路由表中没有为 IP 地址 1.2.3.4 提供任何路由(即反向数据包传输时所需的路由),则路由器会丢弃它。
单一地址反向传输路径转发( Unicast Reverse Path Forwarding )在 ISP (局端)实现阻止 SMURF ***和其它基于 IP 地址伪装的***。这能够保护网络和客户免受来自互联网其它地方的侵扰。使用 Unicast RPF 需要打开路由器的 "CEF swithing" 或 "CEF distributed switching" 选项。不需要将输入接口配置为 CEF 交换( switching )。只要该路由器打开了 CEF 功能,所有独立的网络接口都可以配置为其它交换( switching )模式。 RPF (反向传输路径转发)属于在一个网络接口或子接口上激活的输入端功能,处理路由器接收的数据包。
在路由器上打开 CEF 功能是非常重要的,因为 RPF 必须依靠 CEF 。 Unicast RPF 包含在支持 CEF 的 Cisco IOS 12.0 及以上版本中,但不支持 Cisco IOS 11.2 或 11.3 版本。
2 、使用访问控制列表( ACL )过滤 RFC 1918 中列出的所有地址
参考以下例子:
interface xy
ip access-group 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
3 、参照 RFC 2267 ,使用访问控制列表( ACL )过滤进出报文
参考以下例子:
{ISP 中心 } -- ISP 端边界路由器 -- 客户端边界路由器 -- { 客户端网络 }
ISP 端边界路由器应该只接受源地址属于客户端网络的通信,而客户端网络则应该只接受源地址未被客户端网络过滤的通信。以下是 ISP 端边界路由器的访问控制列表( ACL )例子:
access-list 190 permit ip { 客户端网络 } { 客户端网络掩码 } any
access-list 190 deny ip any any [log]
interface { 内部网络接口 } { 网络接口号 }
ip access-group 190 in
以下是客户端边界路由器的 ACL 例子:
access-list 187 deny ip { 客户端网络 } { 客户端网络掩码 } any
access-list 187 permit ip any any
access-list 188 permit ip { 客户端网络 } { 客户端网络掩码 } any
access-list 188 deny ip any any
interface { 外部网络接口 } { 网络接口号 }
ip access-group 187 in
ip access-group 188 out
如果打开了 CEF 功能,通过使用单一地址反向路径转发( Unicast RPF ),能够充分地缩短访问控制列表( ACL )的长度以提高路由器性能。为了支持 Unicast RPF ,只需在路由器完全打开 CEF ;打开这个功能的网络接口并不需要是 CEF 交换接口。
4 、使用 CAR ( 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
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 为最大连接带宽
1000000 为 SYN flood 流量速率的 30% 到 50% 之间的数值。
burst normal (正常突变)和 burst max (最大突变)两个速率为正确的数值。
注意,如果突变速率设置超过 30% ,可能会丢失许多合法的 SYN 数据包。使用 "show interfaces rate-limit" 命令查看该网络接口的正常和过度速率,能够帮助确定合适的突变速率。这个 SYN 速率限制数值设置标准是保证正常通信的基础上尽可能地小。
警告:一般推荐在网络正常工作时测量 SYN 数据包流量速率,以此基准数值加以调整。必须在进行测量时确保网络的正常工作以避免出现较大误差。
另外,建议考虑在可能成为 SYN ***的主机上安装 IP Filter 等 IP 过滤工具包。
6 、搜集证据并联系网络安全部门或机构
如果可能,捕获***数据包用于分析。建议使用 SUN 工作站或 Linux 等高速计算机捕获数据包。常用的数据包捕获工具包括 TCPDump 和 snoop 等。基本语法为:
tcpdump -i interface -s 1500 -w capture_file
snoop -d interface -o capture_file -s 1500
本例中假定 MTU 大小为 1500 。如果 MTU 大于 1500 ,则需要修改相应参数。将这些捕获的数据包和日志作为证据提供给有关网络安全部门或机构。
为了防止利用 IP Spoofing 手段假冒源地址进行的 DoS ***对整个网络造成的冲击。主要配置在边缘路由设备(即直接与终端用户网络互连的路由设备)上,根据用户网段规划添加源路由检查。
针对不同 DDOS ***的端口进行过滤,在实施时必须探测到 DDOS ***的端口。
! The TRINOO DDoS system
Router(Config)# access-list 113 deny tcp any any eq 27665 log
Router(Config)# access-list 113 deny udp any any eq 31335 log
Router(Config)# access-list 113 deny udp any any eq 27444 log
! The Stacheldtraht DDoS system
Router(Config)# access-list 113 deny tcp any any eq 16660 log
Router(Config)# access-list 113 deny tcp any any eq 65000 log
! The TrinityV3 System
Router(Config)# access-list 113 deny tcp any any eq 33270 log
Router(Config)# access-list 113 deny tcp any any eq 39168 log
! The SubSeven DDoS system and some Variants
Router(Config)# access-list 113 deny tcp any any range 6711 6712 log
Router(Config)# access-list 113 deny tcp any any eq 6776 log
Router(Config)# access-list 113 deny tcp any any eq 6669 log
Router(Config)# access-list 113 deny tcp any any eq 2222 log
Router(Config)# access-list 113 deny tcp any any eq 7000 log
Router(Config)# interface eth 0/2
Router(Config-if)# ip access-group 113 in
DDOS 是利用 TCP 协议的漏洞 , 目前没有什么有效的手段防护,笔者认为最有效的方法就是拼资源 , 其次可以加个 firewall 。 DDOS 多是有目的的*** , 是很难防护的,基本上,路由器防范 DoS ***的能力还是很弱的,尽管我们在路由器上采取了适当措施,以上配置不建议在核心和汇聚层设备上实行。遇到问题时一种快速的手段 , 就是利用 2 分法 , 快速的查出它的来源地址 , 然后封掉它。
因此,防止各种 DoS ***是非常必要的。用户需要注意的是,以上介绍的几种方法,对付不同类型的 DoS ***的能力是不同的,对路由器 CPU 和内存资源的占用也有很大差别,在实际环境中,用户需要根据自身情况和路由器的性能来选择使用适当的方式。
对 secondary ip address 的理解
在同一端口中可以设置两个以上的不同网段的 IP 地址,这样可以实现连接在同一局域网上不同网段之间的通讯。一般由于一个网段对于用户来说不够用,可以采用这种办法。在端口设置状态下
命令: ip address 本端口 IP 地址 子网掩码 secondary
注意: 1 、如果要实现连在同一路由器端口的不同网段的通讯,必须在端口设置状态下
ip redirect
一般地, Cisco 路由器不允许从同一端口进来的 IP 包又发回到原端口中, ip redirect 表示允许在同一端进入路由器的 IP 包由原端口发送回去。
2 、网络中含有 0 的 IP 地址如 138.0.0.1 或 192.1.0.2 ,强烈建议尽量不要使用这样的 IP 地址,如要使用这的地址,在全局设置模式下必须设置
ip subnet-zero
转载于:https://blog.51cto.com/376369/146199