文接Part 1:上次的文章和大家分享了关于终端安全和接入安全的一些技术和安全设计手段,这篇主要针对于接入层及汇聚层的安全设计做一个通透的解答。(上周懒了···文章写完忘记更新了)
DHCP不是你想卖,想卖就能卖:DHCP Snooping
如今的企业网里面,绝大多数终端IP地址分配都是基于DHCP服务器。
但是基于DHCP分配存在一个问题,客户端请求IP地址时,都是通过广播形式发送DHCP Discovery消息给同一广播域内的所有主机。由于是广播包,所有人都能看到此请求,这也是为什么DHCP特别容易遭受网络攻击或者网络欺诈。
一般情况下,上联的汇聚交换机会配置DHCP relay中继,把此DHCP请求转换为单播unicast包,并发送到指定的DHCP服务器。
可是,若有人恶意在此广播域内接入一个未授权的DHCP服务器,比如最常见的场景:公司里有人私自接入了一个家用路由器,这时,DHCP客户端接收的IP可能就是家用路由器下发的网段地址,由于没有路由,就无法实现通信了。因为DHCP的工作机制是,谁先给终端发送DHCP OFFER信息分配IP,终端就相信谁。
很明显,汇聚交换机中继DHCP包以后并等待真正的DHCP服务器回复Offer的时延肯定大于同一个网段内未授权的DHCP服务器,正所谓的近水楼台先得月。所以此未授权的DHCP服务器会先于真正的DHCP给终端分配地址,此时网络欺诈就产生了。
解决此问题的方法,就是采用DHCP Snooping。
在接入交换机上,首先需要清除哪一个接口是去往DHCP服务器的,然后把这些接口定义为信任端口Trust Port。
如果DHCP服务器直连此接入层交换机,那找出此物理端口并定义为trust接口。
如果DHCP服务器时通过其他汇聚或者核心交换机连接到此接入层交换机,则把交换机之间的互联trunk接口定义为trust端口,因为DHCP Offer回复包可能从任何trunk端口传输回此接入层交换机。
对于其他接口,默认就是Untrust端口,即非信任端口。
定义外trust和untrust端口之后,就是DHCP Snooping大显身手的时候了。
首先交换机会监听开启DHCP Snooping的VLAN,若有任何终端请求DHCP Offer,合法的DHCP