SNMP 代理配置与安全指南
1. SNMP 基础与安全重要性
SNMP(Simple Network Management Protocol)在网络管理中扮演着重要角色,但也存在一定安全风险。sysLocation、sysContact 和 sysName 等对象具有读写权限,拥有读写社区字符串的人可以更改这些对象定义,甚至可能对路由表等重要部分进行恶意修改。只读社区字符串虽造成的危害相对较小,但也可能泄露网络信息。
多数设备出厂时带有默认且广为人知的社区字符串,因此及时设置社区字符串对于维护安全环境至关重要。
陷阱目标参数指定了陷阱发送的地址,许多设备支持认证失败陷阱,可用于检测非法访问尝试。部分设备还支持在陷阱中包含社区字符串,可配置网络管理站仅响应包含正确社区字符串的陷阱。
不同设备在访问和陷阱参数上有不同设置,例如 Cisco 设备允许为 MIB 的不同部分创建不同社区字符串,许多厂商允许限制可发起 SNMP 请求的主机 IP 地址。
2. SNMPv1 和 SNMPv2 的安全问题
SNMPv1 和 SNMPv2 存在严重安全隐患,其只读和读写社区字符串以明文形式传输,未进行加密。这意味着任何能使用数据包嗅探器的人,如网络中拥有 PC 并能下载相关软件的用户,都可能获取这些字符串。
为应对此问题,应像设置超级用户或管理员密码一样谨慎设置社区字符串。选择大小写字母和数字混合的字符串,避免使用字典中的单词,并定期更换社区字符串。
配置代理时,可限制能发起 SNMP 请求的设备。即便社区字符串泄露,攻击者也需伪造管理站的 IP 地址才能造成损害。但如今很多人掌握 IP 地