不同的安全性协议使用不同的应用程序接口(API),这些API给应用程序带来的危害当然比只有一个API来的多。微软对于这些不同的安全性协议带来的问题的解决方案是(对Windows 95和Windows NT) : Securitv Service Provider 1nterface(安全服务提供者接口)。
Security Service Provider lnterface和因特网工程专门机构(IETF)的标准的Generic Security Service API(通用安全服务API)不是完全兼容的。其实二者的功能基本上是相同的:就是提供一个对分布或安全性服务的标准的访问途径,而不管其底层的服务是什么,区别就在于微软仅为Windows NT设计了这个接口,而IETF设计的Generic Security Service API是为各种不同的操作系统平台设计的。
Security Service Provider Interface(SSPI)通过组件Securitv Service Provider(SSP)使用其接口,在Windows NT 4.0中,微软包含了Security Service Provider for NT LAN Manager和SSL/Provider Communications技术。微软已声明它将在Windows NT 5.o中加入Kerbros Service,和一个增强的SSL/Private Communications Technology的SSP。而且,微软还声称,由第三方软件供应商提供的附加的SSP也可以作为插件加到Windows NT5.0中,简要的说就是:外层协议接口与SSP通信,而SSP和SSPI通信,SSPI和底层所必须的API通信。这种复杂的关系如下图所示:

HTTP,微软分布式文件系统(DFS)所使用的Common Internet File Svstem(CIFS)以及微 软的远程过程调用接口都使用SSPI与Windows NT进行通信。
安全消息块服务简介 Windows NT使用Securitv Message B1ock(SMB)协议来控制网络和远程用户对服务器的访问。SMB之所以重要在于它为用户访问共享目录、登录表和别的系统服务提供了一条途径。用户使用SMB与服务器通信可以获得一切由使用NetBIOS的用户获得的服务,NetBIOS是Windows NT底层的网络所使用的协议。此外,也可以对共享目录、文件、注册表关键字和打印机设置SMB许可。
在SMB层本身,Windows NT可以使用用户名和口令控制访问。Guest帐号是没有密码的,在NT 3.51 Workstation中, Guest帐号缺省存在。如果运行NT 3.51,一定要确认将Guest帐号删除,NT4.0和以后的5.0中,Guest帐号在缺省时已被删除。删除Guest帐号可以确保在联接上Internet之后,网络会更少地暴露出弱点。事实上,除非你存什么特殊的原因,一般情况下,一定要把Guest帐号删除掉。
即使所有的帐号都有密码,黑客们仍然可以利用brute force口令破解和字典破解技术猜出用户的帐号和口令。在本章的后几节中将会论及利用这两种技术人侵Windows NT服务器。为了更好地防备这样的入侵,应当要求用户至少使用8字节以上的口令,且口令中应包含有至少一个数字或符号。还应当设置注册失败检查。一旦用户失败次数超过一定的限制,网络将锁定用户的帐号。当然你可以随意设定锁定时间,但最好是锁定24小时或以上时间。这样,黑客将在尝试口令时更加无望突破。另外也使得合法用户记起他们的口令或者让他们在多次尝试仍记不起时申请解锁用户帐号。 但不应当为Administrator帐号设置失败检查,否则将有可能遇到禁止服务技术的破坏(将导致机器上所有的网络用户帐号被锁定)。当然,应最好将Administrator帐号改成其他的名字,且加上一个长且难猜的名字。另外,禁止Administrator帐号在网络中登录,也意味着系统管理员只能在控制台上进行登录,黑客也只有在实际接触服务器时才能获得系统管理员级的访问。
其实简单的说,最好的防备基于SMB的入侵的方法是禁止通过Internet进行SMB访问服务,如果有路由器,你可以禁止UDB/TCP 137、138、139口,这样就会禁止NetBIOS通过TCP/IP口与NT相连。 |