架设Windows Server 2003的安全堡垒

如果你曾经配置过Windows NT Server或是Windows 2000 Server,你也许发现这些微软的产品缺省并不是最安全的。虽然微软提供了很多安全机制,但是依然需要你来实现它们。然而当微软发布Windows Server 2003的时候,改变了以往的哲学体系。新的理念是,服务器缺省就应该是安全的。这的确是一个不错的理念,不过微软贯彻得还不够彻底。虽然缺省的Windows 2003安装绝对比确省的Windows NT或 Windows 2000安装安全许多,但是它还是存在着一些不足。下面让我教大家如何让Windows Server 2003更加安全。
  
  第一步:修改管理员帐号和创建陷阱帐号:
  
  修改内建的用户账号多年以来,微软一直在强调最好重命名Administrator账号并禁用Guest账号,从而实现更高的安全。在Windows Server 2003中,Guest 账号是缺省禁用的,但是重命名Administrator账号仍然是必要的,因为黑客往往会从Administrator账号入手开始进攻。方法是:打开“本地安全设置”对话框,依次展开“本地策略”→“安全选项”,在右边窗格中有一个“账户:重命名系统管理员账户”的策略,双击打开它,给Administrator重新设置一个平淡的用户名,当然,请不要使用Admin之类的名字,改了等于没改,尽量把它伪装成普通用户,比如改成:guestone 。然后新建一个名称为Administrator的陷阱帐号“受限制用户”,把它的权限设置成最低,什么事也干不了的那种,并且加上一个超过10位的超级复杂密码。这样可以让那些 Scripts s忙上一段时间了,并且可以借此发现它们的入侵企图。或者在它的login scripts上面做点手脚。
  
  第二步删除默认共享存在的危险
  
  Windows2003安装好以后,系统会创建一些隐藏的共享,你可以在cmd下打 net share 查看他们。网上有很多关于IPC入侵的文章,相信大家一定对它不陌生。所以我们要禁止或删除这些共享以确保安全,方法是:首先编写如下内容的批处理文件:
  
  @echo off
  net share C$ /del
  net share D$ /del
  net share E$ /del
  net share F$ /del
  net share admin$ /del
  
  以上批处理内容大家可以根据自己需要修改。保存为delshare.bat,存放到系统所在文件夹下的system32/GroupPolicy/User/Scripts/Logon目录下。然后在开始菜单→运行中输gpedit.msc,回车即可打开组策略编辑器。点击用户配置→Window设置→脚本(登录/注销)→登录,在出现的“登录 属性”窗口中单击“添加”,会出现“添加脚本”对话框,在该窗口的“脚本名”栏中输入delshare.bat(如图1),然后单击“确定”按钮即可。这样就可以通过组策略编辑器使系统开机即执行脚本删除系统默认的共享。
  
  
 

  
  禁用IPC连接
  
  IPC是Internet Process Connection的缩写,也就是远程网络连接。它是Windows NT/2000/XP/2003特有的功能,其实就是在两个计算机进程之间建立通信连接,一些网络通信程序的通信建立在IPC上面。举个例子来说,IPC就象是事先铺好的路,我们可以用程序通过这条“路”访问远程主机。默认情况下,IPC是共享的,也就是说微软已经为我们铺好了路,因此,这种基于IPC的入侵也常常被简称为IPC入侵。建立IPC连接不需要任何黑客工具,在命令行里键入相应的命令就可以了,不过有个前提条件,那就是你需要知道远程主机的用户名和密码。打开CMD后输入如下命令即可进行连接:
  
  net use//ip/ipc$ "password" /user:"usernqme"。我们可以通过修改注册表来禁用IPC连接。打开注册表编辑器。找到HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Lsa中的restrictanonymous子键,将其值改为1即可禁用IPC连接。
  
  第三步是:重新设置远程可访问的注册表路径
  
  设置远程可访问的注册表路径为空,这样可以有效地防止黑客利用扫描器通过远程注册表读取计算机的系统信息及其它信息。打开组策略编辑器,然后选择“计算机配置”→“Windows设置”→“安全选项”→“网络访问:可远程访问的注册表路径”及“网络访问:可远程访问的注册表”,将设置远程可访问的注册表路径和子路径内容设置为空即可。这样可以有效防止黑客利用扫描器通过远程注册表读取计算机的系统信息及其它信息。(如图2)
  
  
 

  
  第四步:关闭不需要的端口
  
  大家都知道,139端口是Netbios使用的端口,在以前的Windows版本中,只要不安装Microsoft网络的文件和打印共享协议,就可关闭139端口。在Windows Server 2003中,只这样做是不行的。如果想彻底关闭139端口,方法如下:鼠标右键单击“网络邻居”,选择“属性”,进入“网络和拨号连接”,再用鼠标右键单击“本地连接”,选择“属性”,打开“本地连接 属性”页,然后去掉“Microsoft网络的文件和打印共享”前面的“√”(如图3),接下来选中“Internet协议(TCP/IP)”,单击“属性”→“高级”→“WINS”,把“禁用TCP/IP上的NetBIOS”选中(如图3),即大功告成!这样做还可有效防止SMBCrack之类工具破解和利用网页得到我们的NT散列。
  
  
 

  
  如果你的机子还装了IIS,你最好设置一下端口过滤。方法如下:选择网卡属性,然后双击“Internet协议(TCP/IP)”,在出现的窗口中单击“高级”按钮,会进入“高级TCP/IP设置”窗口,接下来选择“选项”标签下的“TCP/IP 筛选”项,点“属性”按钮,会来到“TCP/IP 筛选”的窗口,在该窗口的“启用TCP/IP筛选(所有适配器)”前面打上“√”(如图4),然后根据需要配置就可以了。
  
  

  
  比方说如果你只打算浏览网页,则只开放TCP端口80即可,所以可以在“TCP端口”上方选择“只允许”,然后单击“添加”按钮,输入80再单击“确定”即可。如果有其他需要可如法炮制。
  
  以上就是初步的安全设置下面在说说其他方面的安全:
  
  (一)重新支持ASP脚本
  
  为了将系统安全隐患降到最低限度,Windows Server 2003操作系统在默认状态下,是不支持ASP脚本运行的;不过现在许多网页的服务功能多是通过ASP脚本来实现的,为此,我们很有必要在安全有保障的前提下,让系统重新支持ASP脚本。具体实现的方法为:
  
  1.在系统的开始菜单中,依次单击“管理工具”/“Internet信息服务管理器”命令;
  
  2.在随后出现的Internet信息服务属性设置窗口中,用鼠标选中左侧区域中的“Web服务器设置”
  
  3.接着在对应该选项右侧的区域中,用鼠标双击“Actives server pages”选项,然后将“任务栏”设置项处的“允许”按钮单击一下,系统中的II6就可以重新支持ASP脚本了。
  
  (二)添加站点到“信任区域”
  
  Windows Server 2003操作系统使用了一个安全插件,为用户提供了增强的安全服务功能,利用该功能你可以自定义网站访问的安全性。在缺省状态下,Windows Server 2003操作系统会自动启用增强的安全服务功能,并将所有被访问的Internet站点的安全级别设置为“高”。对于频繁访问的网站,你可以将其添加到受信任的站点区域中,日后再次访问它时,系统就不会弹出安全提示框了。
  
  添加站点到“信任区域”的具体做法为:
  
  1.在浏览器的地址框中,输入需要访问的站点地址,单击回车键,就会自动打开一个安全提示警告窗口;
  
  2.要是不想浏览该站点时,直接可以单击“关闭”按钮;要是想浏览的话,可以单击“添加”按钮;
  
  3.在随后打开的“可信任站点”设置窗口中,你会发现当前被访问的站点地址已经出现在信任区域文本框中;
  
  4.继续单击“添加”按钮,就能将该站点添加到网站受信任区域中了;下次重新访问该站点时,浏览器就会跳过安全检查,直接打开该站点的网页页面了。
  
  (三)根据需要对系统服务进行控制
  
  服务是一种在系统后台运行的应用程序类型,它与UNIX后台程序类似。服务提供了核心操作系统功能,如Web 服务、事件日志记录、文件服务、帮助和支持、打印、加密和错误报告。通过服务管理单元,可管理本地或远程计算机上的服务。所以并不是所有默认服务都是我们需要的。我们不需要的可以停用、禁用,来释放系统资源。如果你想更加了解系统的服务,可以到“我的电脑”→“控制面板”→“服务”中查看,每个服务都有完整的描述,或使用Windows 2003的帮助与支持,查阅相关资料。
  特别注意:服务账号
  
  Windows Server 2003在某种程度上最小化服务账号的需求。即便如此,一些第三方的应用程序仍然坚持传统的服务账号。如果可能的话,尽量使用本地账号而不是域账号作为服务账号,因为如果某人物理上获得了服务器的访问权限,他可能会转储服务器的LSA机密,并泄露密码。如果你使用域密码,森林中的任何计算机都可以通过此密码获得域访问权限。而如果使用本地账户,密码只能在本地计算机上使用,不会给域带来任何威胁。
  
  系统服务
  
  一个基本原则告诉我们,在系统上运行的代码越多,包含漏洞的可能性就越大。你需要关注的一个重要安全策略是减少运行在你服务器上的代码。这么做能在减少安全隐患的同时增强服务器的性能。
  
  在Windows 2000中,缺省运行的服务有很多,但是有很大一部分服务在大多数环境中并派不上用场。事实上,Windows 2000的缺省安装甚至包含了完全操作的IIS服务器。而在Windows Server 2003中,微软关闭了大多数不是绝对必要的服务。即使如此,还是有一些有争议的服务缺省运行。
  
  其中一个服务是分布式文件系统(DFS)服务。DFS服务起初被设计简化用户的工作。DFS允许管理员创建一个逻辑的区域,包含多个服务器或分区的资源。对于用户,所有这些分布式的资源存在于一个单一的文件夹中。
  
  我个人很喜欢DFS,尤其因为它的容错和可伸缩特性。然而,如果你不准备使用DFS,你需要让用户了解文件的确切路径。在某些环境下,这可能意味着更强的安全性。在我看来,DFS的利大于弊。
  
  另一个这样的服务是文件复制服务(FRS)。FRS被用来在服务器之间复制数据。它在域控制器上是强制的服务,因为它能够保持SYSVOL文件夹的同步。对于成员服务器来说,这个服务不是必须的,除非运行DFS。
  
  如果你的文件服务器既不是域控制器,也不使用DFS,我建议你禁用FRS服务。这么做会减少黑客在多个服务器间复制恶意文件的可能性。
  
  另一个需要注意的服务是Print Spooler服务(PSS)。该服务管理所有的本地和网络打印请求,并在这些请求下控制所有的打印工作。所有的打印操作都离不开这个服务,它也是缺省被启用的。
  
  不是每个服务器都需要打印功能。除非服务器的角色是打印服务器,你应该禁用这个服务。毕竟,专用文件服务器要打印服务有什么用呢?通常地,没有人会在服务器控制台工作,因此应该没有必要开启本地或网络打印。
  
  我相信通常在灾难恢复操作过程中,打印错误消息或是事件日志都是十分必要的。然而,我依然建议在非打印服务器上简单的关闭这一服务。
  
  信不信由你,PSS是最危险的Windows组件之一。有不计其数的木马更换其可执行文件。这类攻击的动机是因为它是统级的服务,因此拥有很高的特权。因此任何侵入它的木马能够获得这些高级别的特权。为了防止此类攻击,还是关掉这个服务吧!
  
  最后提醒大家,经常到各大网络安全站点看其最新公告,并急时为系统打上补丁,这样你的系统会安全许多。
阅读更多

没有更多推荐了,返回首页