在启用了SNMP协议服务情况下,我们如何来确保这个协议的安全呢?首先我们要及时更新这个协议的补丁,之后还要对这个协议的流程进行过滤。那么具体的实施情况请从下文我们来了解一下吧。
保障SNMP的安全
如果某些设备确实有必要运行SNMP,则必须保障这些设备的安全。首先要做的是确定哪些设备正在运行SNMP服务。除非定期对整个网络进行端口扫描,全面掌握各台机器、设备上运行的服务,否则的话,很有可能遗漏一、二个SNMP协议服务。特别需要注意的是,网络交换机、打印机之类的设备同样也会运行SNMP服务。确定SNMP服务的运行情况后,再采取下面的措施保障服务安全。
◆加载SNMP服务的补丁
安装SNMP协议服务的补丁,将SNMP服务升级到2.0或更高的版本。联系设备的制造商,了解有关安全漏洞和升级补丁的情况。
◆保护SNMP通信字符串
一个很重要的保护措施是修改所有默认的通信字符串。根据设备文档的说明,逐一检查、修改各个标准的、非标准的通信字符串,不要遗漏任何一项,必要时可以联系制造商获取详细的说明。
◆过滤SNMP
另一个可以采用的保护措施是在网络边界上过滤SNMP通信和请求,即在防火墙或边界路由器上,阻塞SNMP请求使用的端口。标准的SNMP服务使用161和162端口,厂商私有的实现一般使用199、391、705和1993端口。禁用这些端口通信后,外部网络访问内部网络的能力就受到了限制;另外,在内部网络的路由器上,应该编写一个ACL,只允许某个特定的可信任的SNMP管理系统操作SNMP。例如,下面的ACL只允许来自(或者走向)SNMP管理系统的SNMP通信,限制网络上的所有其他SNMP通信:
- access-list 100 permit ip host w.x.y any
- access-list 100 deny udp any any eq snmp
- access-list 100 deny udp any any eq snmptrap
- access-list 100 permit ip any any
这个ACL的***行定义了可信任管理系统(w.x.y)。利用下面的命令可以将上述ACL应用到所有网络接口:
- interface serial 0
- ip access-group 100 in
总之,SNMP的发明代表着网络管理的一大进步,现在它仍是高效管理大型网络的有力工具。然而,SNMP的早期版本天生缺乏安全性,即使***的版本同样也存在问题。就象网络上运行的其他服务一样,SNMP协议服务的安全性也是不可忽视的。不要盲目地肯定网络上没有运行SNMP服务,也许它就躲藏在某个设备上。那些必不可少的网络服务已经有太多让人担忧的安全问题,所以***关闭SNMP之类并非必需的服务——至少尽量设法保障其安全。