一、路由器 ACL 配置
ACL(Access Control List,访问控制列表)是路由器/防火墙的核心安全工具,通过定义流量匹配规则(如源IP、目的IP、端口),实现对网络流量的允许/拒绝控制。其本质是“流量过滤器”,常用于边界防护(如企业出口)、内网隔离(如VLAN间访问控制)。
1. ACL 的核心类型与区别
根据匹配粒度和应用场景,ACL可分为以下两类:
类型 |
匹配维度 |
应用场景 |
特点 |
标准ACL |
仅基于源IP地址(或源IP+通配符掩码)。 |
简单的源地址过滤(如禁止某网段访问外部网络)。 |
粒度粗,仅能控制“谁可以访问”,无法区分具体服务(如HTTP/SSH)。 |
扩展ACL |
基于源IP、目的IP、协议类型(TCP/UDP/ICMP)、端口号(如80/22)等更细粒度字段。 |
复杂流量控制(如允许HTTP访问但拒绝FTP,禁止ICMP Ping)。 |
粒度细,可实现“谁在什么时间、通过什么协议、访问什么服务”的精准控制。 |
2. ACL 的工作原理
ACL的匹配遵循**“逐条检查,首匹配生效”原则,且默认包含一条隐式拒绝(Implicit Deny)**规则(所有未明确允许的流量将被拒绝)。具体流程如下:
- 流量进入路由器接口时,检查是否应用了ACL;
- 按ACL规则顺序(从上到下)逐条匹配;
- 匹配到第一条允许(Permit)规则:允许流量通过;
- 匹配到第一条拒绝(Deny)规则:丢弃流量;
- 未匹配任何规则:触发隐式拒绝,丢弃流量。
3. 路由器ACL配置步骤(以Cisco设备为例)
以下以扩展ACL为例,演示“允许内网(192.168.1.0/24)访问外网HTTP(80端口)和HTTPS(443端口),但拒绝所有其他流量”的配置流程:
步骤1:创建扩展ACL
bash
Router(config)# access-list 100 permit tcp 192.168.1.0 0.0.0.255 any eq 80 # 允许内网访问任意IP的80端口(HTTP)
Router(config)# access-list 100 permit tcp 192.168.1.0 0.0.0.255 any eq 443 # 允许内网访问任意IP的443端口(HTTPS)
Router(config)# access-list 100 deny ip any any # 隐式拒绝(可省略,设备默认包含)
- 参数说明:100:ACL编号(扩展ACL范围100-199);permit/deny:允许/拒绝动作;tcp:协议类型(也可替换为udp/icmp);192.168.1.0 0.0.0.255:源IP网段(192.168.1.0-192.168.1.255);any:目的IP(任意地址);eq 80:目的端口等于80(也可用gt 1024表示大于1024的端口)。
步骤2:将ACL应用到接口
ACL需关联到具体的接口(入方向/出方向),通常应用在**出方向(Outbound)**过滤从内网到外网的流量:
Router(config)# interface GigabitEthernet0/0/0 # 进入外网接口(如连接ISP的接口)
Router(config-if)# ip access-group 100 out # 将ACL 100应用到接口的出方向
步骤3:验证ACL配置
Router# show access-lists 100 # 查看ACL 100的规则详情
Router# show ip interface GigabitEthernet0/0/0 # 确认ACL已应用到接口
4. 注意事项
- 规则顺序:ACL规则按顺序匹配,需将“最严格”的规则放在前面(如先拒绝恶意IP,再允许其他);
- 通配符掩码:用于指定IP网段范围(如0.0.0.255表示后8位任意,即/24网段);
- 隐式拒绝:若未配置任何允许规则,所有流量将被拒绝(需谨慎);
- 日志记录:可通过log关键字记录匹配的流量(如access-list 100 deny ip any any log)。
二、交换机端口安全技术
交换机端口安全(Port Security)是防止未授权设备接入网络的核心技术,通过限制端口允许的MAC地址数量或绑定特定MAC地址,避免非法设备(如攻击者私接电脑)通过交换机接入内网,从而防范MAC泛洪攻击、中间人攻击等。
1. 端口安全的核心功能
功能 |
描述 |
限制MAC地址数量 |
仅允许端口连接指定数量的MAC地址(如最多5个),超出则触发违规处理。 |
绑定特定MAC地址 |
仅允许指定的MAC地址(如员工电脑的MAC)通过端口通信,其他MAC被拒绝。 |
违规处理 |
检测到未授权MAC时,执行关闭端口(Shutdown)、限制流量(Restrict)或发送告警(Protect)。 |
2. 端口安全的三种模式
根据MAC地址的管理方式,端口安全可分为以下三种模式:
模式 |
描述 |
适用场景 |
静态MAC绑定 |
手动配置端口允许的MAC地址(如switchport port-security mac-address sticky 00-1A-2B-3C-4D-5E)。 |
固定设备(如打印机、IP电话)的端口,安全性最高。 |
动态MAC学习 |
交换机自动学习端口连接的MAC地址(首次连接时记录),并限制最大学习数量(如switchport port-security maximum 5)。 |
移动设备(如员工笔记本)的端口,灵活性较高。 |
粘性MAC(Sticky MAC) |
交换机自动学习并“锁定”首次连接的MAC地址(后续仅允许该MAC使用),可手动覆盖。 |
混合场景(如部分固定设备+部分临时设备),兼顾灵活性与安全性。 |
3. 端口安全配置步骤(以Cisco设备为例)
以下以“限制端口GigabitEthernet0/0/1仅允许2台设备接入,违规时关闭端口”为例:
步骤1:进入接口配置模式
Switch(config)# interface GigabitEthernet0/0/1 # 进入需要保护的端口
步骤2:启用端口安全并配置参数
Switch(config-if)# switchport mode access # 配置端口为接入模式(仅允许一个VLAN)
Switch(config-if)# switchport port-security # 启用端口安全功能
Switch(config-if)# switchport port-security maximum 2 # 最多允许2个MAC地址
Switch(config-if)# switchport port-security violation shutdown # 违规时关闭端口
步骤3:(可选)静态绑定MAC地址
若需固定允许某台设备(如MAC为00-1A-2B-3C-4D-5E),可手动绑定:
Switch(config-if)# switchport port-security mac-address 001a.2b3c.4d5e # 绑定静态MAC
步骤4:验证配置
Switch# show port-security interface GigabitEthernet0/0/1 # 查看端口安全状态(包括已绑定MAC、违规次数)
Switch# show mac address-table interface GigabitEthernet0/0/1 # 查看端口当前连接的MAC地址
4. 典型场景与优化
- 防范MAC泛洪攻击:攻击者通过伪造大量虚假MAC地址填满交换机CAM表(记录MAC-端口映射的缓存),导致交换机退化为“集线器”(广播所有流量)。通过端口安全限制最大MAC数量(如maximum 5),可有效防御此类攻击。
- 移动设备管理:对于员工笔记本等移动设备,可使用动态MAC学习+违规关闭端口模式,既允许临时接入,又防止未授权设备长期占用。
- 合规性要求:金融、政府等行业常要求“一人一机一端口”,需结合端口安全与802.1X认证(基于端口的网络访问控制),实现MAC+账号的双重认证。
5. 注意事项
- 端口重启后状态:若端口因违规被关闭(Shutdown),需手动恢复(shutdown→no shutdown)或配置自动恢复(errdisable recovery cause psecure-violation);
- VLAN间隔离:若端口属于Trunk模式(允许多VLAN),需结合VLAN ACL(VLAN ACL)进一步限制跨VLAN流量;
- IP与MAC绑定:仅端口安全无法完全防止IP欺骗(攻击者伪造合法MAC但不同IP),需结合DHCP Snooping(防止私接DHCP服务器)或IP Source Guard(绑定IP+MAC)增强防护。
总结
路由器ACL通过流量规则过滤实现边界安全,核心是“按需允许/拒绝”;交换机端口安全通过限制MAC地址防止未授权接入,核心是“防非法设备”。两者结合可构建“网络边界+接入终端”的双层防护体系,是数通工程师在网络安全转型中需掌握的基础技术。实际配置时需结合业务需求(如固定设备/移动设备比例)选择模式,并定期审计规则(如清理过期ACL、更新端口绑定MAC),确保安全策略的有效性。
发表评论 取消回复