回避这种危险的最好办法是关闭RPC服务。在“控制面板”的“管理工具”中选择“服务”,在“服务”窗口中打开“Remote Procedure Call”属性(图2)。在属性窗口中将启动类型设置为“已禁用”,自下次起动开始RPC就将不再启动(要想将其设置为有效,在注册表编辑器中将“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RpcSs”的“Start”的值由0x04变成0x02后,重新起动机器即可)。不过,进行这种设置后,将会给Windows的运行带来很大的影响。比如Windows XP Professional,从登录到显示桌面画面,就要等待相当长的时间。这是因为Windows的很多服务都依赖于RPC,而这些服务在将RPC设置为无效后将无法正常起动。由于这样做弊端非常大,因此一般来说,不能关闭RPC服务。
要关闭139端口,与137和138端口一样,可以选择“将NetBIOS over TCP/IP设置为无效”。而要想关闭445端口则必须进行其他工作。利用注册表编辑器在“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters”中追加名为“SMBDeviceEnabled”的DWORD值,并将其设置为0,然后重新起动机器。
比如Windows 2000 Server,在安装该系统时,会自动安装IIS。而且只需起动个人电脑,IIS服务就会启动。虽然Windows NT 4.0 Server可以选择是否安装IIS,但在默认条件下该服务的复选框是有效的。与2000一样,在起动电脑时,IIS服务也会自动起动。
而Linux则在很多方面都采取的是完全不同的思路。比如,RedHat Linux 7.3在安装过程中必须让用户设置防火墙。由于防火墙有“高”、“中”、“低”三种等级,因此所拦截的信息包也各不相同。如果选择“高”将关闭53(DNS)、67和68(DHCP)以外的全部端口,如果选择“中”,尽管会打开1024以上的端口,但在一般人熟知的端口中打开的只有53、67和68三个。
安装应用程序时的作法也不同。RedHat Linux 7.3在安装时可选择“工作站”、“服务器”和“桌面”三种类型。因此即使选择“服务器”,如果用户不选择构筑兼容Windows的文件服务器“Samba”和Web服务器“Apache”等,就不会进行安装。另外,即便安装以后,也不会直接起动。如果用户明确地启动必要的服务后,没有设置利用过滤软件过滤信息包,相应端口就不会打开。