个人网络安全防卫手册(4)
3. 端口
端口是计算机和外部网络相连的逻辑接口,也是计算机的第一道屏障,端口配置正确与否直接影响到主机的安全。一般来说,仅打开你需要使用的端口会比较安全,配置的方法:打开“本地连接属性”对话框,依次点击“Internet协议(TCP/IP)→高级→选项→TCP/IP筛选→属性”,在打开的对话框中启用TCP/IP筛选。
4. IIS
IIS是微软的组件中漏洞最多的一个,所以IIS的配置是我们的重点:
(1)将\Inetpub目录彻底删掉,然后在D盘建一个Inetpub目录,在IIS管理器中将主目录指向D:\Inetpub。
(2)将IIS安装时默认的Scripts等虚拟目录一概删除,如果你需要什么权限的目录可以自己建(特别注意写权限和执行程序的权限,没有必要千万不要给)。
(3)应用程序配置:在IIS管理器中删除必须之外的任何无用映射。
(4)为了保险起见,你可以使用IIS的备份功能,将上面的设定全部备份下来,这样就可以随时恢复IIS的安全配置。如果你怕IIS负荷过高导致服务器满负荷死机,也可以在性能中打开CPU限制,例如将IIS的最大CPU使用率限制在70%。
5. 账号安全
Windows 2000的账号安全是另一个重点,首先,默认安装允许任何用户通过空用户得到系统所有账号/共享列表,这个本来是为了方便局域网用户共享文件的,但是一个远程用户也可以得到你的用户列表并使用暴力法破解用户密码。很多朋友都知道可以通过更改注册表HKEYLOCALMACHINE\System\CurrentControlSet\Control\LSA-RestrictAnonymous=1来禁止139空连接,实际上Windows 2000的本地安全策略就有这样的选项RestrictAnonymous(匿名连接的额外限制),这个选项有三个值:
0:None. Rely on default permissions(无,取决于默认的权限)。这个值是系统默认的,什么限制都没有,远程用户可以知道你机器上所有的账号、组信息、共享目录、网络传输列表等,对服务器来说这样的设置非常危险。
1:Do not allow enumeration of SAM accounts and shares(不允许枚举SAM帐号和共享)。这个值是只允许非NULL用户存取SAM账号信息和共享信息。
2:No access without explicit anonymous permissions(没有显式匿名权限就不允许访问)。这个值是在Windows 2000中才支持的,需要注意的是,如果你一旦使用了这个值,你的共享估计就全部完蛋,所以我推荐你还是设为1比较好。
好了,入侵者现在没有办法拿到我们的用户列表,我们的账户安全了……慢着,至少还有一个账户是可以跑密码的,这就是系统内建的Administrator。怎么办?在“计算机管理→用户账号”中右击Administrator,然后改名。然后再来把HKEYLOCALMACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon项中的“Don't Display Last User Name”串数据改成1,这样系统不会自动显示上次的登录用户名。
将服务器注册表\HKEYLOCALMACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Winlogon项中的Don't Display Last User Name串数据修改为1,隐藏上次登陆控制台的用户名。
6.安全日志
Windows 2000的默认安装是不开启任何安全审核的。请你到“本地安全策略”的“审核策略”中打开相应的审核。推荐的审核是:
账户管理 成功/失败
登录事件 成功/失败
对象访问 失败
策略更改 成功/失败
特权使用 失败
系统事件 成功/失败
目录服务访问 失败
账户登录事件 成功/失败
与之相关的是在“账户策略”的“密码策略”中设定:
密码复杂性要求 启用
密码长度最小值 6位
强制密码历史 5次
最长存留期 30天
在”账户策略”的“账户锁定策略”中设定:
账户锁定 3次错误登录
锁定时间 20分钟
复位锁定计数 20分钟