防火墙失控:网管员如何抓住伪IP地址

某日,防火墙的性能监控忽然出现问题,每天在2 000~5 000之间变动的连接数,今天持续在36 000个左右变动。由于情况异常,我立刻打开防火墙"实时监控"中的"连接信息",发现有一个端口出现大量异常数据包,其特点为:所有目的IP地址是同一个(202.101.180.36),但源IP地址在不停地变化,IP地址变化有明显的规律性,并且不是我们单位的内部地址。

根据经验可以看出,源IP地址是由一个程序自动产生的,现在需要查出是哪台连网的计算机用伪造的IP地址疯狂对外发送数据包。

在交换机上查找

由于我们单位的IP地址与MAC地址绑定、MAC地址与端口绑定,因此发送数据的计算机一定是属于合法的用户,一种情况是用户在使用黑客工具攻击其他人,为隐藏自己真实的IP地址而不断变换IP地址。另一种情况是用户的计算机被病毒感染,病毒自动对外发送大量数据包,并自动变化源IP地址。当务之急是迅速查出发出大量数据包的计算机真实IP地址。

考虑到防火墙的位置和功能,与防火墙技术人员沟通后,认为在防火墙上无法找到此机器的真实IP地址,因此在三层交换机Cisco 6509上查找。我查阅了一下资料,在Cisco 6509进行以下配置:

access-list 101 permit ip any host 202.101.180.36 log-input

access-list 101 permit ip any any

其中 202.101.180.36 是上面提到的目的地址,log-input的意思是"Log matches against this entry, including input interface",即对匹配此列表的数据,包括输出的端口做日志。

然后输入"sh log"命令,其结果如下。

Syslog logging: enabled (0 messages dropped,

8 messages rate-limited, 0 flushes,0 overruns)

Console logging: level debugging, 20239 messages logged

Monitor logging: level debugging, 0 messages logged Buffer logging: level debugging,

20245 messages logged Exception Logging: size (4096 bytes)

Trap logging: level informational,

20269 message lines logged Log Buffer (8192 bytes):

01.180.36(0), 1 packet

16w6d: %SEC-6-IPACCESSLOGP: list 101 permitted tcp 245.206.1.197 (0)

(Vlan101 5254.ab21.e77a) -> 202.101.180.36(0), 1 packet

16w6d: %SEC-6-IPACCESSLOGP: list 101 permitted tcp 245.206.1.198 (0)

(Vlan101 5254.ab21.e77a) -> 202.101.180.36(0), 1 packet

16w6d: %SEC-6-IPACCESSLOGP: list 101 permitted tcp 245.206.1.199 (0)

(Vlan101 5254.ab21.e77a) -> 202.101.180.36(0), 1 packet

16w6d: %SEC-6-IPACCESSLOGP: list 101 permitted tcp 245.206.1.200 (0)

(Vlan101 5254.ab21.e77a) -> 202.101.180.36(0), 1 packet

关闭惹事计算机端口

从上面的输出结果可以清楚地观察到,产生虚假IP地址计算机的VLAN和MAC地址,通过我们自己的网管软件立即查找到此MAC地址的真实IP地址、用户姓名、部门、端口号等信息。登录用户计算机所在的二层交换机,关掉此计算机使用的端口,防火墙上监控的连接数即刻恢复到正常状态。

与该用户联系后,确定是用户计算机感染了木马病毒。