网络攻击与路由器的NAT功能

本文涉及的产品
公网NAT网关,每月750个小时 15CU
简介:

某校园网接入互联网的设备是一台功能很强的CATALYST6509(带三层功能),但它最近却频繁瘫痪,CPU利用率经常到达百分之99-100,其拓扑结构如下:
attachment.php?fid=7020
CATALYST6509的配置如下: 
... 
ip nat pool teachers 210.83.X.X 210.83.X.X netmask 255.255.255.224 
ip nat pool students 210.83.X.X 210.83.X.X netmask 255.255.255.240 
ip nat inside source list 1 pool teachers overload 
ip nat inside source list 2 pool students overload 

access-list 1 permit 172.17.0.0 0.0.0.255 
access-list 2 permit 192.168.0.0 0.0.3.255 
... 
为了便于管理,教师和学生各使用一个地址池。

经过检查,发生这种故障的原因是由于网络病毒或黑客扫描工具的攻击。比如“红色代码”病毒,“红色代码”是一种新型的网络病毒,它感染微软的IIS系统,改写WWW服务器的主页,并通过HTTP的标准端口80进行传播,继续感染其他IIS系统。这种病毒寻找其他IIS系统的方式是通过不断地对随机产生的IP地址的TCP80端口发出连接请求数据包,一旦某台运行了索引服务(INDEX SERVICE)的IIS系统对请求进行了应答,那样,这台服务器就可能成为受害者。我们从中可以看出,“红色代码”病毒这种大海捞针式的寻找“传人”的方法,会在短时间内产生成千成万的TCP连接请求,网络的路由设备为了支持这样多的连接,就有可能耗尽资源,造成瘫痪,所以这种病毒对网络的路由设备的危害很大。 
由于在CATALYST6509上配置了基于端口的NAT功能,一旦校园网内某台感染“红色代码”病毒的IIS服务器向外发起攻击,或某人使用端口扫描工具不断地发起针对各个TCP和UDP端口的试探连接,6509都会为每个TCP或UDP连接在它的地址翻译表中建立一条基于端口复用的连接,这样一来,随着攻击的进行,NAT表里维持的连接数会越来越多,直到耗尽CPU利用率。这时,让我们看一下CATLYST6509的情况: 
CAT6509#sh ip nat statistics 
Total active translations: 18404 (0 static, 18404 dynamic; 18372 extended) 
Outside interfaces: 
Vlan3, Vlan5 
Inside interfaces: 
Vlan10, Vlan12, Vlan103, Vlan108, Vlan109, Vlan165, Vlan166 
Hits: 979206714 Misses: 9323076 
Expired translations: 10650887 
Dynamic mappings: 
-- Inside Source 
access-list 1 pool teachers refcount 9269 
pool teachers: netmask 255.255.255.224 
start 210.83.X.X end 210.83.X.X 
type generic, total addresses 28, allocated 28 (100%), misses 34659 
access-list 2 pool students refcount 9135 
pool students: netmask 255.255.255.240 
start 210.83.X.X end 210.83.X.X 
type generic, total addresses 13, allocated 13 (100%), misses 194892 
NAT表里的连接数已经达到1万8千多条!这基本是CPU处理能力的极限(还要看数据包的流量)。 
CAT6509#sh ip nat tr 
… 
tcp 210.83.X.X:1248 192.168.0.226:1039 61.139.8.X:80 61.139.8.X:80 
tcp 210.83.X.X:1274 192.168.0.226:1049 61.139.8.X:80 61.139.8.X:80 
tcp 210.83.X.X:1253 192.168.0.226:1040 61.139.8.X:80 61.139.8.X:80 
tcp 210.83.X.X:1255 192.168.0.226:1088 61.139.8.X:80 61.139.8.X:80 
tcp 210.83.X.X:1257 192.168.0.226:1089 61.139.8.X:80 61.139.8.X:80 
tcp 210.83.X.X:1258 192.168.0.226:1041 61.139.8.X:80 61.139.8.X:80 
tcp 210.83.X.X:1264 192.168.0.226:1066 61.139.8.X:80 61.139.8.X:80 
… 
从输出里可见,大部分连接都是192.168.0.226这台机器发起的,使用下面的命令可以看得更清楚: 
CAT6509#sh ip nat tr | include 192.168.0.226 
(输出略)

那么如何解决这个问题? 
需要使用下面的一系列命令: 
CAT6509(conf)#ip nat translation max-entries 12000 
把NAT表里的连接数限制到12000条,防止达到处理能力的极限,造成全瘫。

CAT6509(conf)#ip nat translation icmp-timeout 10 
ICMP连接的空闲时限是60秒,现在把它设为10秒,这样可以使空闲10秒的ICMP连接被及时清除出NAT表,防止NAT表里的连接数被“虚占其位”的ICMP空闲连接搞得迅速增长,耗尽CPU资源。

CAT6509(conf)#ip nat translation udp-timeout 20 
UDP连接的空闲时限是300秒,现在把它设为20秒,原因同前面一样。

CAT6509(conf)#ip nat translation syn-timeout 15 
设置发出TCP连接请求数据包后,等待握手应答的空闲时间,缺省是60秒,现在设为15秒。由于“红色代码”病毒是以一种漫无目的方式发起TCP连接,许多目的地址是不存在的,或是没有运行IIS系统,所以根本没有应答。设置发出TCP连接请求数据包后,等待握手应答的空闲时间为15秒,可以使空闲15秒的TCP发起连接被及时清除出NAT表。

CAT6509(conf)#ip nat translation tcp-timeout 300 
设置当TCP连接经过三次握手建立起来后,连接没有数据流的空闲时限,缺省为24小时,现在设为5分钟,这样可以使空闲300秒的TCP连接被及时清除出NAT表,同样防止NAT表里的连接数被“虚占其位”的TCP空闲连接搞得迅速增长,耗尽CPU资源。 
应用上述配置后, 从实际效果上看,确实起了作用,6509抗攻击能力显著提高。 
--------------------------------------------------------------------------------
看看一个在cisco4000上的配置
ip kerberos source-interface any
ip nat translation timeout 3000
ip nat translation tcp-timeout 500
ip nat translation udp-timeout 30
ip nat translation finrst-timeout 30
ip nat translation syn-timeout 30
ip nat translation dns-timeout 30
ip nat translation icmp-timeout 30
ip nat translation max-entries 24000
ip nat inside source list 1 interface Ethernet0 overload
ip classless
ip route 0.0.0.0 0.0.0.0 221.237.163.1
ip route 210.6.0.0 255.255.0.0 10.1.1.3
no ip http server
!
access-list 1 permit 10.1.0.0 0.0.255.255
access-list 1 permit 211.83.0.0 0.0.255.255
access-list 1 permit 192.168.0.0 0.0.255.255
access-list 1 permit 210.6.0.0 0.0.255.255
!










本文转自 qq8658868 51CTO博客,原文链接:http://blog.51cto.com/hujizhou/1186352,如需转载请自行联系原作者
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
目录
相关文章
|
1月前
|
机器学习/深度学习 运维 安全
图神经网络在欺诈检测与蛋白质功能预测中的应用概述
金融交易网络与蛋白质结构的共同特点是它们无法通过简单的欧几里得空间模型来准确描述,而是需要复杂的图结构来捕捉实体间的交互模式。传统深度学习方法在处理这类数据时效果不佳,图神经网络(GNNs)因此成为解决此类问题的关键技术。GNNs通过消息传递机制,能有效提取图结构中的深层特征,适用于欺诈检测和蛋白质功能预测等复杂网络建模任务。
71 2
图神经网络在欺诈检测与蛋白质功能预测中的应用概述
|
1月前
|
安全 网络安全 数据安全/隐私保护
利用Docker的网络安全功能来保护容器化应用
通过综合运用这些 Docker 网络安全功能和策略,可以有效地保护容器化应用,降低安全风险,确保应用在安全的环境中运行。同时,随着安全威胁的不断变化,还需要持续关注和研究新的网络安全技术和方法,不断完善和强化网络安全保护措施,以适应日益复杂的安全挑战。
44 5
|
1月前
|
存储 监控 数据挖掘
计算机网络的功能
计算机网络支持信息交换、资源共享、分布式处理、可靠性增强及集中管理。信息交换涵盖多种媒体形式,促进远程协作;资源共享降低用户成本,提高效率;分布式处理提升计算能力;冗余机制保障系统稳定;集中管理简化网络维护,确保安全运行。
36 2
|
1月前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
107 3
|
1月前
|
存储 网络协议 安全
30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场
本文精选了 30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场。
89 2
|
1月前
|
网络协议 Unix Linux
精选2款C#/.NET开源且功能强大的网络通信框架
精选2款C#/.NET开源且功能强大的网络通信框架
|
11天前
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
50 17
|
21天前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。

热门文章

最新文章