APP下载

堵住SNMP泄露之门

2015-12-03

网络安全和信息化 2015年10期
关键词:安全策略列表路由器

什么是SNMP安全漏洞

S N M P,即S i m p l e Network Management Protocol(简单网络管理协议),其本来的作用是管理Internet上众多厂家生产的软硬件平台。因此,大多数网络中总有一些设备运行着SNMP服务,实际上很多情况下该服务是无关紧要的,但是管理员对其却并不在意。实际上,如果主机接入到了Internet,而且其开启了SNMP服务的话,其对主机的安全会造成很大的威胁。因为SNMP服务通常在防火墙防护层之外的设备上运行,它带来的风险更加严重。因为SNMP服务一般都采用了默认的通讯字符串(例如连接密码等),包括“Public”和“Private”等,这虽然可以简化配置,提高互访的效率,但却很容易被黑客恶意利用。

SNMP漏洞危害

例如,对于Cisco等路由器来说,可以通过SNMP代理对其进行远程控制。方法是先在路由器上配置好SNMP代理参数,包括MIB变量访问、MIB变量设置、SNMP中断和SNMP团体等功能。之后可以使用基于SNMP协议的管理软件,对其进行远程访问。SNMP团体字符串包括Public(代表对路由器资源的只读权限)和Private(代表对其拥有可读写权限)。当黑客使用专用的工具对路由器发起扫描探测时,如果发现其SNMP团体字符串的权限为“private”,说明该路由器存在安全漏洞。黑客会利用该漏洞,利用特殊的下载工具获得路由器的配置文件,对该配置文件分析后,黑客可以获得其Console的登录密码,即使密码经过加密处理。

这样,黑客就获得了对该路由器的控制权。不要以为设置了足够强的密码就可以防止黑客破译,黑客完全可以采取偷梁换柱的方法,对下载的路由器配置文件中的密码进行替换,即使用已知密码的MD5编码替换原密码编码,之后通过上传工具,利用路由器自身的SNMP漏洞,将修改后的配置文件写入路由器中。这样,黑客就可以使用已知的密码连接该路由器了。而且SNMP服务通常采用的是不加密的通讯机制,所有的通讯字符串和数据均已明码传送。虽然在高版本的SNMP服务中采用了DES算法对通讯数据进行了加密,但是厂家通常使用标准的通讯字符串,这对于黑客来说简直不堪一击。

例如,使用X-Scan等扫描器,通过随机扫描等方法,可以很容易找到很多存在SNMP弱口令的主机,进而对其SNMP中的管理信息库进行访问,在该库中保存了系统类型、用户列表、运行时间、进程列表等重要信息。因为SNMP服务会开启UDP 161和162两个端口,黑客只要扫描到这两个端口,就可以准确定位开启了SNMP服务的主机。当黑客扫描到目标主机的SNMP弱口令后,即使该机安装了防火墙,黑客也可以利用各种工具(例如Snmputil等),绕过防火墙,对目标主机进行信息的刺探操作。例如,查询其系统信息、了解其联系人以及开机时间、检测安装的软件信息、查询进程列表和主机域名、获取账户列表和开启的服务信息等敏感信息。

当然,黑客还可以使用IP Browser这款专用工具,扫描指定网段来寻找SNMP主机,利用其图形化界面,来更加准确地获得系统信息、服务列表、软件安装信息、账户列表、进程信息、共享信息、网络连接信息等内容。即使网络设备上使用了高版本的SNMP服务,采取了加密通讯手段,黑客也会利用GFI LANguard Network Security Scanner等工具,对其进行密码破解,进而获得更加详细的主机信息。

通过SNMP服务漏洞洞悉了目标主机的虚实后,黑客就会蠢蠢欲动对其发起实际攻击了,例如,通过查询服务列表,黑客了解到了该机开启了终端服务。通过查询账户列表,确定了可以利用的目标账户名,就可以利用Tscrack等工具,利用精心配置的密码字典,对目标账户名进行密码暴力破解。如果其密码设置得比较简单,黑客就可以很轻松地将其破译。有了账户名和密码,黑客可以轻松地运行“mstsc.exe”程序,来连接该机并登录到终端服务控制环境,将该机彻底控制起来。

禁用SNMP服务

实际上,在Windows/XP/2003/2008等系统中,默认并没有安装SNMP服务。但是,很多网络软件会自动安装该服务,这就给系统造成了潜在的威胁。因此,禁用该服务,尤其是在网管员没有使用SNMP管理网络的情况下,是最简单彻底的解决此类威胁的方法。例如点击“Win+R”键,执行“service.msc”程序,在服务管理器中双击“SNMP Service”项,在弹出窗口中的点击“停止”按钮,终止该服务,在“启动类型”列表中选择“已禁用”项,可以禁用该服务。

为了掌握哪些主机开启了SNMP服务,可以利用扫描器对其进行扫描,来发现使用SNMP服务的所有主机,并对其进行适当控制。当然,在网络中该存在各种网络设备(例如交换机、网络打印机等),这些设备同样会运行SNMP服务,对这些设备同样不可忽视。例如,对于Cisco设备,可以在其中运行“no SNMP-server”之类的命令,来禁用SNMP服务。对于某些网络打印机来说,可以使用Telnet工具连接到其控制台,执行“SNMP config:0”之类的指令,来关闭其SNMP服务。不同的网络设备关闭SNMP服务的指令可能存在差异,可以参阅其帮助文档。

另外,如果想暂时恢复SNMP服务,可以采用激活SNMP Service服务,或者连接到对应的网络设备上,执行对应的激活指令,来重新启用SNMP服务。当然,为SNMP服务打上补丁是不可缺少的,例如将SNMP服务升级到最新版本等。在不同网络设备的官方网站上,关注与之相关的安全升级和补丁信息,及时下载并安装各种补丁程序。

修改通讯字符串

为了提高SNMP服务的安全性,应该针对不同的网络设备,有针对性地修改其默认的通信字符串,避免其被黑客轻易获取。任何网络服务的运作都离不开网络端口,SNMP服务也不例外,其使用的是161,162端口,有些网络设备还会使 用 199、391、705、1993 等端口,可以在防火墙上禁用这些端口,切断其与外部网络的连接。

在内网中,还可以在交换机路由器等设备上,编写相应的安全规则,只允许特定设备的SNMP服务来管理网络信息。例如,可以在路由器上配置访问控制列表ACL,来防止黑客通过SNMP进行入侵。例如在Cisco的路由配置文件中,添加“access-list 1 permit xxx.xxx.xxx.xxx”和“snmp-server community lianjiezifuchuan RO 1”等语句,来创建名为1的访问控制列表项目,设置指定的IP可以对SNMP服务进行连接访问,其中的“xxx.xxx.xxx.xxx”代表指定的IP。并设置认证字符串“lianjiezifuchuan”与之配对,即将SNMP服务的认证字符串修改为“lianjiezifuchuan”。当然,您可以根据需要进行修改。这样,就避免了使用默认的“Public”和“Private”连接字符串带来的安全风险。

图1 为筛选器设置协议参数

某些网络设备处于稳定运行的需要,必须使用SNMP服务,这样就无法采用禁用的方法,来屏蔽SNMP安全隐患了。为此,可以强化SNMP服务的安全性,让这些设备安全运行。前面谈到,SNMP默认使用的密码非常简单和脆弱,因此为其更改安全性高的密码就极为重要了。例如,在Windows中打开SNMP Service属性窗口,在“安全”面板中显示其接受团体名称为“Public”,这样的密码过于简单。选择该密码,点击编辑按钮,在弹出窗口中的“团体名称”栏中输入复杂的密码。为了避免无关的IP向其发送SNMP包,可以选择“接受来自这些主机的SNMP包”项,在弹出窗口中输入对应的IP,可以大大减少遭到黑客攻击的可能性。

使用IP安全策略

在默认情况下,SNMP服务的通讯数据是明码传输的,使用Sniffer Pro等嗅探器可以毫不费力地拦截这些通讯数据,这样,黑客通过对其进行简单的解密,就可以从中捕捉到对应的社区名称信息,进而获取更多的网络资源信息。利用Windows的IP安全策略,可以对SNMP传输的数据进行加密处理,让黑客只能嗅探到杂乱无章的数据。运行“secpol.msc”程序,在本地安全策略窗口中选择“安全设置”→“IP安全策略”项,在其右键菜单上点击“管理IP筛选器表和筛选器操作”项,在弹出窗口中的“管理IP筛选器列表”面板中点击“添加”按钮,在“IP筛选器列表”窗口中输入其名称(例如“加密SNMP通讯”),在“描述”栏中输入具体的说明信息。

选择“使用添加向导”项,点击“添加”按钮,在筛选器属性窗口中的“寻址”面板中的“源地址”列表中选择“任何IP地址”项,在“目标地址”列表中选择“我的IP地址”项。在“协议”面板(如图1所示)中的“选择协议类型”列表中选择“UDP”协议,选择“从此端口”项,输入端口号161。选择“到此端口”项,输入端口为161。点击确定按钮,保存该筛选器。按照同样的方法,在IP筛选器列表窗口中分别点击“添加”按钮,分别针对TCP协议161端口、UDP协议162端口、TCP协议162端口添加筛选器,设置方法与上述完全相同。

之后返回本地安全设置窗口,选择“安全设置”-“IP安全策略”项在,在其右键菜单上点击“创建IP安全策略”项,在向导界面中输入安全该策略的名称(例如“保护SNMP安全”)和描述信息,在下一步窗口中选择“激活默认响应规则”项。之后点击完成按钮,在弹出的该安全策略的属性窗口中取消“使用添加向导”项的选择状态,点击“添加”按钮,在新规则属性中的“IP筛选器”面板中选择上述SNMP筛选器名称,例如“加密SNMP通讯”。在“筛选器操作”面板(如图2所示)中选择“需要安全”项,在“身份验证方法”面板中默认选择“Kerberos”方法。

您也可以点击“添加”按钮,选择其他的身份验证方法。在弹出窗口中选择“使用由此证书颁发机构(CA)颁发的证书”项,点击浏览按钮,选择所需的安全证书,或者选择“使用此字符串(预共享密码)”项,输入所需的密码,点击确定按钮保存配置信息,在本地安全设置窗口,选择“安全设置”→“IP安全策略”项,在右侧窗口中选择上述安全策略(例如“保护SNMP安全”)项,在其右键菜单中选择“指派”项,激活该安全策略。按照同样的方法,在所有使用SNMP服务的主机上都配置该安全策略,就可以有效保护其通讯的安全。

图2 编辑安全策略规则属性

使用SNMP陷阱

使 用SNMP陷 阱(即SNMP Trap),同样可以保护SNMP的安全。SNMP陷阱其实指的是SNMP事件转换器,通过一个未被请求的SNMP信息触发,由一个SNMP代理发送给管理员,通知管理员发生了重要事件引起其注意。当黑客试图利用SNMP服务入侵时,其行踪会被系统日志记录下来,管理员可以据此展开安全调查。在服务管理窗口中双击“SNMP Service”服务,在其属性窗口中打开“代理”面板,在“联系人”栏中输入管理员名称,在“位置”栏中输入管理员的物理位置,实际上就是管理员主机的IP地址。

在“服务”栏中选择该机提供的服务,选择“物理”项,用来指定该机是否管理磁盘等物理设备,选择“应用程序”项,指定该机是否使用相关的通讯软件,选择“数据链和子网”项,指定该机是否管理子网或者网桥等数据链接设备。选择“Internet”项,指定该机是否充当路由器等IP网关设备,选择“端对端”项,指定该机是否充当IP主机。点击确定按钮,保存配置信息。

在“陷阱”面板中的“团体名称”列表中选择该机将向管理员发送陷阱消息的团体名称,点击“添加到列表”按钮。在“陷阱目标”列表中底部点击“添加”按钮,在SNMP服务配置”窗口中输入该主机的名称或者IP地址,点击添加按钮,该主机或者IP地址将出现在“陷阱目标”列表。按照同样的方法,添加所有的团体名称以及陷阱目标信息。这样,就可以将这些陷阱引导到管理员的主机上,当黑客触发陷阱后,管理员就会收到警告信息。

猜你喜欢

安全策略列表路由器
买千兆路由器看接口参数
维持生命
路由器每天都要关
路由器每天都要关
学习运用列表法
基于飞行疲劳角度探究民航飞行员飞行安全策略
扩列吧
一种防火墙安全策略冲突检测方法*
浅析涉密信息系统安全策略
列表画树状图各有所长