这个问题可以从两个层面理解:
| 层面 | 技术解释 |
|---|---|
| 端口开放 vs. 数据访问 | SNMP服务启用后,UDP 161端口就是开启状态,就像一扇门开着。扫描器通过端口探测,就能知道这扇门存在。ACL是在门上的"门禁系统"——只允许特定IP进入,但无法阻止别人知道这扇门的存在。 |
| 部分设备的实现机制 | 在一些较老的设备版本中,ACL是在SNMP模块建立基础协商后才生效的。这意味着扫描器在协商阶段就能发现端口存在,然后才被ACL拒绝,所以扫描结果里会显示端口开放。 |
简单说,"被扫描到"不等于"被访问成功"。只要你配置正确,那些扫描器是无法真正读取到设备信息的,这本身就构不成安全隐患。
如果你实在无法容忍任何扫描记录,那就得从"端口状态"层面解决问题,而不是"访问权限"层面。以下是三个有效方案:
| 方案 | 原理 | 操作方法 | 说明 |
|---|---|---|---|
| 1. 包过滤(最彻底) | 在数据包进入SNMP模块前就阻断 | 在设备接口上应用包过滤策略,针对UDP 161端口设置规则 | 这相当于在"门外"就挡住了,扫描器连端口是否存在都无法探测 |
| 2. 使用SNMPv3 | SNMPv3本身不改变端口开放状态,但结合包过滤使用效果更好 | 配置SNMPv3的认证和加密 | 这只是增强安全性,不能阻止端口被发现 |
| 3. 升级软件版本 | 新版本优化了ACL处理机制 | 查询设备是否在R81/R82/R83及以后版本 | 部分旧版本因实现问题会在协商阶段暴露端口,升级可修复 |
如果追求绝对"隐身":采用包过滤方案,在接口层面直接拒绝所有非授权IP对UDP 161的访问。这是唯一能让扫描器完全探测不到端口的方法。
如果只关心数据安全:现有ACL配置已足够,配合SNMPv3使用效果更佳。被扫描到只是"看起来吓人",实际上数据是安全的。
如果设备版本较老:建议升级到最新稳定版本,既能获得更好的ACL处理机制,也能获得其他安全修复。
检查下 ,acl做的有问题吧,参考:
通过ACL限制访问源
1. 创建ACL规则
在系统视图下配置基本ACL,仅允许授权管理主机的IP地址访问:
system-view
acl basic 2000 创建基本ACL
rule 1 permit source 10.110.100.52 0 放行特定管理主机IP
rule 2 permit source 10.110.100.46 0 放行第二个管理主机IP
2. 在SNMP配置中绑定ACL
将ACL应用到SNMP服务,实现访问控制:
snmp-agent community read aaa acl 2000 SNMPv2c团体名绑定ACL
注:若使用SNMPv3,需在snmp-agent group或snmp-agent usm-user命令中附加acl参数。
增强安全性的辅助措施
关闭未使用的SNMP服务
若无需SNMP监控,直接禁用服务:
undo snmp-agent 彻底关闭SNMP服务
启用SNMPv3认证加密(推荐)
通过强制认证和加密提升安全性:
snmp-agent group v3 group_name privacy 创建需认证加密的组
snmp-agent usm-user v3 user_name group_name authentication-mode sha auth_password privacy-mode aes128 priv_password 创建用户并绑定密钥
技术原理说明
ACL控制逻辑:交换机仅处理ACL允许的源IP发往161端口的SNMP请求,非法扫描报文将被丢弃。
端口隐藏效果:虽然161端口仍开放,但未授权IP无法获取有效响应,扫描工具无法识别服务存在(表现为"filtered"状态)。
多端口占用说明:SNMP服务除161(请求端口)外,可能动态使用高端口(如34179-34182)发送Trap,此为正常现象,不影响ACL防护效果。
> 修改配置后,请使用display snmp-agent community或display snmp-agent usm-user验证ACL绑定状态,并通过非授权主机执行snmpwalk测试访问是否被阻断。
暂无评论
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论