安全技术4:MAC(Media Access Control)地址
简介:
MAC(Media Access Control)地址,或称为 MAC位址、硬件位址,用来定义网络设备的位置。在OSI模型中,第三层网络层负责 IP地址,第二层资料链结层则负责 MAC位址。因此一个主机会有一个IP地址,而每个网络位置会有一个专属于它的MAC位址。
MAC地址学习功能简介
为了快速转发报文,以太网交换机需要维护MAC地址转发表。MAC地址转发表是一张基于端口的二层转发表,是以太网交换机实现二层报文快速转发的基础。MAC地址转发表的表项包括:
目的MAC地址
端口所属的VLAN ID
转发端口号
以太网交换机通过查找MAC地址转发表得到二层报文的转发端口号,从而实现二层报文的快速转发。
设置MAC地址表项
管理员根据实际情况可以人工添加、修改或删除MAC地址转发表中的表项。可以删除与某个端口相关的所有MAC地址表项(只能是单播地址),也可以选择删除某类MAC地址表项如动态表项、静态表项。
用户可以在系统视图或以太网端口视图下添加MAC地址表项。
集中式MAC地址认证简介
集中式MAC地址认证简介集中式MAC地址认证是一种基于端口和MAC地址对用户访问网络的权限进行控制的认证方法,它不需要用户安装任何客户端软件,交换机在首次检测到用户的MAC地址以后,即启动对该用户的认证操作。
集中式MAC地址认证有两种方式:
MAC地址方式:使用用户的MAC地址作为认证时的用户名和密码。
固定方式:使用在交换机上预先配置用户名和密码进行认证。此时,要求所有用户都和交换机上配置的用户名和密码一一对应。
S2000-HI系列以太网交换机支持通过RADIUS服务器或通过本地进行集中式MAC地址认证。
(1) 当采用RADIUS服务器进行认证时,交换机作为RADIUS客户端,与RADIUS服务器配合完成集中式MAC地址认证操作:
对于MAC地址方式,交换机将检测到的用户MAC地址作为用户名和密码发送给RADIUS服务器,其余处理过程与普通RADIUS认证相同。
对于固定方式,交换机将已经在本地配置的用户名和密码作为待认证用户的用户名和密码,发送给RADIUS服务器,并将RADIUS报文的calling-station-id属性更改为用户的MAC地址,其余处理过程与普通RADIUS认证相同。
RADIUS服务器完成对该用户的认证后,认证通过的用户可以访问网络。
(2) 当采用本地认证时,直接在交换机上完成对用户的认证。在交换机上配置本地用户名和密码时请注意:
对于MAC地址方式,用户可以通过命令设置输入作为用户名、密码的MAC地址时是否使用分隔符“-”,输入的格式要与命令设置的格式相同,否则会导致认证失败。
对于固定方式,本地用户的用户名和密码配置成固定方式的用户名和密码即可。
本地用户的服务类型应设置为lan-access。
集中式MAC地址认证配置
配置集中式MAC地址认证定时器
MAC地址表项的分类与特点根据自身特点和配置方式等的不同,MAC地址表项可以分为三类:
静态MAC地址表项:也称为“永久地址”,由用户手工添加和删除,不会随着时间老化。对于一个设备变动较小的网络,手工添加静态地址表项可以减少网络中的广播流量。
动态MAC地址表项:指可以按照用户配置的老化时间而老化掉的MAC地址表项,交换机可以通过MAC地址学习机制或通过用户手工建立的方式添加动态MAC地址表项。
黑洞MAC地址表项:由用户手工配置的一类特殊的MAC地址,当交换机接收到源地址或目的地址为黑洞MAC地址的报文时,会将该报文丢弃。
MAC地址表项的分类与特点如表1-1所示。
MAC欺骗的攻击方法
ARP欺骗技术已经很成熟了,这里也不再阐述。此次重点讲解如何不用ARP欺骗进行嗅探以及会话劫持的技术原理,实际的攻击方法是进行MAC欺骗。 原理:在开始之前我们先简单了解一下交换机转发过程:交换机的一个端口收到一个数据帧时,首先检查该数据帧的目的MAC地址在MAC地址表(CAM)对应的端口,如果目的端口与源端口不为同一个端口,则把帧从目的端口转发出去,同时更新MAC地址表中源端口与源MAC的对应关系;如果目的端口与源端口相同,则丢弃该帧。
案例:MAC地址转发表管理典型配置
用户通过Console口登录到交换机,配置地址表管理。要求设置交换机上动态MAC地址表项的老化时间为500秒,在VLAN1中的Ethernet 1/0/2端口添加一个静态地址00e0-fc35-dc71。
配置步骤
# 进入交换机系统视图。<Quidway> system-view
[Quidway]
# 增加MAC地址(指出所属VLAN、端口、状态)。
[Quidway] mac-address static 00e0-fc35-dc71 interface Ethernet 1/0/2 vlan 1
# 设置交换机上动态MAC地址表项的老化时间为500秒。
[Quidway] mac-address timer aging 500
# 在系统视图下查看MAC地址配置。
[Quidway] display mac-address interface Ethernet 1/0/2
MAC ADDR VLAN ID STATE PORT INDEX AGING TIME(s)
00-e0-fc-35-dc-71 1 Static Ethernet1/0/2 NOAGED
00-e0-fc-17-a7-d6 1 Learned Ethernet1/0/2 AGING
00-e0-fc-5e-b1-fb 1 Learned Ethernet1/0/2 AGING
00-e0-fc-55-f1-16 1 Learned Ethernet1/0/2 AGING
--- 4 mac address(es) found on port Ethernet1/0/2 ---
案例:用户主机Host通过端口GigabitEthernet1/0/1 连接到设备上,设备通过RADIUS服务器对用户进行认证、授权和计费。
要求:1.设备的管理者希望在端口 GigabitEthernet1/0/1 上对用户接入进行MAC 地址认证,以控制其对Internet 的访问。
2. 要求设备每隔 180 秒就对用户是否下线进行检测;并且当用户认证失败时,需等待180 秒后才能对用户再次发起认证。
3.所有用户都属于域 2000,认证时采用固定用户名格式,用户名为aaa,密码为123456。
配置步骤:
配置使用RADIUS 服务器进行MAC 地址认证
# 配置RADIUS 方案。
<Quidway> system-view
[Quidway] radius scheme 2000
[Quidway-radius-2000] primary authentication 10.1.1.1 1812
[Quidway-radius-2000] primary accounting 10.1.1.2 1813
Quidway-radius-2000] key authentication abc
[Quidway-radius-2000] key accounting abc
[Quidway-radius-2000] user-name-format without-domain
[Quidway-radius-2000] quit
# 配置ISP 域的AAA 方法。
[Quidway] domain 2000
[Quidway-isp-2000] authentication default radius-scheme 2000
[Quidway-isp-2000] authorization default radius-scheme 2000
[Quidway-isp-2000] accounting default radius-scheme 2000
[Quidway-isp-2000] quit
# 开启全局MAC 地址认证特性。
[Quidway] mac-authentication
# 开启端口GigabitEthernet1/0/1 的MAC 地址认证特性。
[Quidway] mac-authentication interface gigabitethernet 1/0/1
# 配置MAC 地址认证用户所使用的ISP 域。
[Quidway] mac-authentication domain 2000
# 配置MAC 地址认证的定时器。
[Quidway] mac-authentication timer offline-detect 180
[Quidway] mac-authentication timer quiet 180
# 配置MAC 地址认证使用固定用户名格式:用户名为aaa,密码为123456。
[Quidway] mac-authentication user-name-format fixed account aaa password simple 123456
安全技术5:ARP(地址解析协议)
简介
ARP(Address Resolution Protocol,地址解析协议)用于将网络层的IP地址解析为数据链路层的物理地址(MAC地址)。
ARP地址解析的必要性
网络设备进行网络寻址时只能识别数据链路层的MAC地址,不能直接识别来自网络层的IP地址。如果要将网络层中传送的数据报交给目的主机,必须知道该主机的MAC地址。因此网络设备在发送报文之前必须将目的主机的IP地址解析为它可以识别的MAC地址。
ARP报文结构
ARP报文分为ARP请求和ARP应答报文,ARP请求和应答报文的格式如图1-1所示。
当一个ARP请求发出时,除了接收端硬件地址(正是请求方想要获取的地址)字段为空外,其他所有的字段都被使用。
ARP应答报文使用了所有的字段。
ARP表
以太网上的两台主机需要通信时,双方必须知道对方的MAC地址。每台主机都要维护IP地址到MAC地址的转换表,称为ARP映射表,ARP表的形式如图1-2所示。ARP映射表中存放着最近用到的一系列与本主机通信的其他主机的IP地址和MAC地址的映射关系。需要注意的是,这里仅仅对ARP映射表的基本实现进行介绍。不同公司的产品可能会在此基础上提供更多的信息。S2000-HI系列以太网交换机可以使用display arp命令查看ARP映射项信息。
ARP地址解析的实现过程
在主机启动时,主机上的ARP映射表为空;当一条动态ARP映射表项在规定时间没有使用时,主机将其从ARP映射表中删除掉,以便节省内存空间和ARP映射表的查找时间。具体过程可以参考图1-3。
假设主机A和主机B在同一个网段,主机A的IP地址为IP_A,B的IP地址为IP_B,主机A要向主机B发送信息。主机A首先查看自己的ARP映射表,确定其中是否包含有IP_B对应的ARP映射表项。如果找到了对应的MAC地址,则主机A直接利用ARP映射表中的MAC地址,对IP数据包进行帧封装,并将数据发送给主机B。
如果在ARP映射表中找不到对应的MAC地址,则主机A将该数据包放入发送等待队列,然后创建一个ARP request,并以广播方式在以太网上发送。ARP request数据包中包含有主机B的IP地址,以及主机A的IP地址和MAC地址。由于ARP request数据包以广播方式发送,该网段上的所有主机都可以接收到该请求,但只有被请求的主机(即主机B)会对该请求进行处理。
主机B首先把ARP request数据包中的请求发起者(即主机A)的IP地址和MAC地址存入自己的ARP映射表中。然后主机B创建ARP响应数据包,在数据包中填入主机B的MAC地址,发送给主机A。这个响应不再以广播形式发送,而是以单播形式直接发送给主机A。
主机A收到响应数据包后,提取出主机B的IP地址及其对应的MAC地址,加入到自己的ARP映射表中,并把放在发送等待队列中的发往主机B的所有数据包都发送出去。
一般情况下,设备在IP寻址的过程中会自动触发ARP计算,完成IP地址到以太网MAC地址的解析。此过程是自动执行的,不需要网络管理员介入。
配置ARP
ARP的显示和维护
在完成上述配置后,在任意视图下执行display命令可以显示配置后ARP的运行情况,通过查看显示信息验证配置的效果。在用户视图下执行reset命令可以reset命令清除ARP映射项。
说明:ARP 即地址解析协议主要用于从IP 地址到以太网MAC 地址的解析。
如将ARP 映射表绑定,就可以防止一般的ARP欺骗攻击。防止ARP病毒攻击的最有效手段:双向静态ARP绑定
ARP 映射绑定:
arp static 10.2.238.7 000a-e436-d354
arp ip-address mac-address VLANID{ interface_type interface_num | interface_name }
显示ARP 映射表show arp [ static | dynamic | all ]
打开ARP 调试信息开关debug arp packet
案例4:ARP绑定实验
要求: 关闭 ARP 表项检查功能。
设置交换机上动态 ARP 表项的老化时间为10 分钟。
增加一个静态ARP 表项,IP 地址为192.168.1.1,对应的MAC 地址为
00e0-fc01-0000,对应的出端口为属于VLAN 1 的端口Ethernet1/0/10。
配置步骤
<switch> system-view[switch] undo arp check enable
[switch] arp timer aging 10
[switch] arp static 192.168.1.1 00e0-fc01-0000
取消绑定,测试:
安全技术6:AM(访问管理配置)
简介:
通过端口隔离特性,用户可以将需要进行控制的端口加入到一个隔离组中,实现隔离组中的端口之间二层数据的隔离,既增强了网络的安全性,也为用户提供了灵活的组网方案。
目前一台设备只支持建立一个隔离组,组内的以太网端口数量不限。
说明:am访问管理配置
当以太网交换机接入的用户数量不大时,为了降低组网成本,局域网服务提供者可以不使用认证计费服务器以及DHCP 服务器,而使用以太网交换机提供的一种低成本简单可行的替代方案。在这个低成本的替代方案中用到了交换机的两个特性功能:端口和IP 地址的绑定、端口间的二层隔离。
端口隔离特性与以太网端口所属的VLAN无关。
端口隔离与端口聚合的关系:
当聚合组中的某个端口加入到隔离组后,同一聚合组内的其它端口,均会自动加入隔离组中。
通过在以太网交换机的端口上配置二层隔离功能,用户可以控制端口1 发出的帧不被端口2 接收,端口2发出的帧不被端口1 接收,从而将端口1 与端口2 隔离开来。从而保证了各机构的PC 只能与机构内的其他PC 正常通信,并且确保了各机构内指定的PC 可以与外部网络正常通信。
# 全局开启访问管理功能
[Quidway] am enable
# 配置端口e0/1 上的访问管理IP 地址池
[Quidway-Ethernet0/1] am ip-pool 202.10.20.1 20
# 设置端口e0/1 的二层隔离端口为e0/2功能
[Quidway-Ethernet0/1] am isolate ethernet0/2
案例:AM二层端口地址池
要求:以太网交换机端口e0/1 上访问管理IP 地址池为192.168.1.1~192.168.1.8/24;端口e0/2 上访问管理IP 地址池为192.168.1.9~192.168.1.19/24
配置步骤
<switch> system-view
[switch] am enable
[switch] vlan 10
[switch-vlan10] port Ethernet 0/1
[switch-vlan10] port Ethernet 0/2
[switch-vlan10] quit
[switch] interface Vlan-interface 10
[switch-Vlan-interface10] ip add 192.168.1.254 255.255.255.0
[switch-Vlan-interface10] quit
[switch] interface Ethernet 0/1
[switch-Ethernet0/1] am ip-pool 192.168.1.1 7
[switch-Ethernet0/1] quit
[switch] interface Ethernet 0/2
[switch-Ethernet0/2] am ip-pool 192.168.1.9 10
[switch-Ethernet0/1] quit
启用am之前测试:可以ping通通信
启用am之后测试:e 0/2的客户192.168.1.9将ip地址修改为192.168.1.100,此时无法通信
案例:小区用户PC2、PC3、PC4分别与交换机的以太网端口Ethernet1/0/2、Ethernet1/0/3、Ethernet1/0/4相连,交换机通过Ethernet1/0/1端口与外部网络相连,小区用户PC2、PC3和PC4之间不能互通。
配置步骤:
# 将以太网端口Ethernet1/0/2、Ethernet1/0/3、Ethernet1/0/4加入隔离组。
<switch> system-view
System View: return to User View with Ctrl+Z.
[switch] interface ethernet1/0/2
[switch-Ethernet1/0/2] port isolate
[switch-Ethernet1/0/2] quit
[switch] interface ethernet1/0/3
[switch-Ethernet1/0/3] port isolate
[switch-Ethernet1/0/3] quit
[switch] interface ethernet1/0/4
[switch-Ethernet1/0/4] port isolate
[switch-Ethernet1/0/4] quit