Unix/Linux/BSD如何对抗ARP欺骗攻击 Q: Solaris的静态ARP表项(arp -s)还是会被动态刷新,我只确认Linux/FreeBSD的静 态ARP表项不会被动态刷新,到底有没有稍微通用点的对抗ARP欺骗攻击的方法。 A: scz 下面以Solaris系统为例说明,其他系统大同小异。 1) 建立静态ARP表 /usr/bin/touch /etc/static_arp_entry /usr/bin/chown root:root /etc/static_arp_entry /usr/bin/chmod 600 /etc/static_arp_entry 编辑/etc/static_arp_entry文件,输入类似内容 192.168.8.90 00:00:00:11:11:11 /usr/sbin/arp -s -f /etc/static_arp_entry 可以在/etc/rc2.d/S69inet启动脚本中增加这条命令。参看arp(1M)、arp(7P)手册页 了解更多细节。这种技术对系统影响不大,对网络影响较大,破坏了动态ARP解析过 程。Solaris系统中,静态ARP表不会过期,必须用"arp -d"手动删除。但是, Solaris系统的静态ARP表项可以被动态刷新,仅仅依靠静态ARP表项并不能对抗ARP欺 骗攻击,相反纵容了ARP欺骗攻击,因为虚假的静态ARP表项不会自动超时消失。当然, 可以考虑利用cron机制补救之。(增加一个crontab) 为了对抗ARP欺骗攻击,对于Solaris系统来说,应该结合"禁止相应网络接口做ARP解 析"和"使用静态ARP表"的设置 2) 禁止某个网络接口做ARP解析(对抗ARP欺骗攻击) "/sbin/ifconfig hme0 -arp"命令将禁止hme0接口做ARP解析,hme0接口不会发送/接 收ARP报文。必须配合使用静态ARP表,否则无法完成正常网络通信。参看 ifconfig(1M)了解更多细节。假设/etc/rc2.d/S69inet启动脚本中存在如下内容 /sbin/ifconfig hme0 -arp /usr/sbin/arp -s -f /etc/static_arp_entry 假设/etc/static_arp_entry文件内容如下 192.168.8.90 00:00:00:11:11:11 这里192.168.8.90是一台PWin98,也做静态ARP设置(因为对方不会响应ARP请求报文) arp -s 192.168.10.6 08-00-20-a8-2e-ac 此时192.168.8.90与192.168.10.6可以正常通信,并且192.168.10.6不受ARP欺骗攻 击的影响。事实上,绝大多数Unix/Linux/BSD操作系统,都可以结合"禁止相应网络 接口做ARP解析"和"使用静态ARP表"的设置来对抗ARP欺骗攻击。对于Linux/FreeBSD 系统,因为其静态ARP表项(arp -s)不会被动态刷新,所以不需要"禁止相应网络接口 做ARP解析"即可对抗ARP欺骗攻击。 |
|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )
GMT+8, 2024-10-1 05:38 , Processed in 0.175195 second(s), 12 queries , Gzip On, MemCache On.
Powered by Discuz! X3.5
© 2001-2023 Discuz! Team.