前两天,我们公司突然出现了网络异常。开始只是几台电脑网页打不开,没人在意,大家以为是临时波动。结果短短半小时,整个办公室的网络几乎瘫痪,连内部文件服务器都连不上。
当时的感觉很奇怪:外网能ping通,但访问特别慢,本地的打印机、共享文件夹这些内部资源,却完全连接不上。我们马上开始排查。
第一反应是看出口,路由器和防火墙都没问题。后来查看交换机,发现局域网内的流量异常高,大量是广播包。更奇怪的是,MAC地址表里很多端口的绑定在不断变化,像有人在疯狂插拔网线一样。再深入看,才发现问题出在ARP协议上。
简单说,就是有人在局域网里发了大量伪造的ARP应答包,导致各个设备都把错误的MAC地址写进了自己的缓存,结果整个网络通信混乱,流量打满,最终瘫痪。
说起来,ARP(地址解析协议)本来是很基础的东西,局域网里大家互相靠它来找到对方。但问题是,ARP这种协议天生就没设计安全机制,谁发个应答,别人就信了。这次,有设备(怀疑是中了毒的软件或者配置错误的机器)持续发送假的ARP包,把局域网搅得一团乱。
ARP攻击并不新鲜,但真正遇到,还是挺让人头疼的。特别是我们的交换机是二三层混合型,默认允许ARP广播到整个VLAN,一旦出问题,影响面非常广。
解决的方法其实也不是特别复杂:
- 临时封掉可疑端口,隔离问题源头
- 核查关键设备(网关、服务器)上的ARP缓存,必要时手动清除
- 重新加载静态ARP表,把常用IP-MAC关系固定下来
- 在交换机上启用ARP防护,比如限制一个端口最多只能绑定几个MAC地址,超过就自动断开
事后复盘,发现公司内部网络平时安全配置做得还是有些松,尤其是内网部分。大家总觉得有防火墙,外部攻击进不来就万事大吉了,结果内部出了问题,一下子放大了影响。
这件事情也提醒了我们一个很现实的问题:局域网安全,不能靠运气。
ARP攻击虽然看起来是很“低级”的手段,但只要环境允许,破坏力一点也不比高深的入侵技术差。而且执行门槛极低,一些网络扫描、钓鱼工具本身就带ARP欺骗功能,普通人稍微摸一下教程就能操作。
未来我们准备做几件事情来防范类似问题:
- 核心设备上启用静态ARP
- VLAN进一步划分,减少广播域
- 内网重要段开启ARP防护策略
- 定期巡检局域网异常广播和MAC地址漂移情况
总的来说,安全防护,不是等出问题才补救,而是日常把基本功打牢。哪怕是像ARP这样小小的一个环节,一旦出事,后果也远比想象中严重。
转载自51cto,原文路径:https://www.51cto.com/article/814587.html