首页 > Idc/Vps帮助 > 服务器安全配置

Windows2003服务器安全策略

来源: 作者: 发表于:2011-04-11 10:21:15  点击:0
转播到腾讯微博
策略一:关闭windows2003不必要的服务  ·Computer Browser 维护网络上计算机的最新列表以及提供这个列表  ·Task scheduler

策略一:关闭windows2003不必要的服务

  ·Computer Browser               维护网络上计算机的最新列表以及提供这个列表

  ·Task scheduler                 允许程序在指定时间运行

  ·Routing and Remote Access      在局域网以及广域网环境中为企业提供路由服务

  ·Removable storage              管理可移动媒体、驱动程序和库

  ·Remote Registry Service        允许远程注册表操作

  ·Print Spooler                  将文件加载到内存中以便以后打印。

  ·IPSEC Policy Agent             管理IP安全策略及启动ISAKMP/OakleyIKE)和IP安全驱动程序

  ·Distributed Link Tracking Client 当文件在网络域的NTFS卷中移动时发送通知

  ·Com+ Event System              提供事件的自动发布到订阅COM组件

  ·Alerter                        通知选定的用户和计算机管理警报

  ·Error Reporting Service        收集、存储和向 Microsoft 报告异常应用程序

  ·Messenger                      传输客户端和服务器之间的 NET SEND 和 警报器服务消息

  ·Telnet                         允许远程用户登录到此计算机并运行程序

策略二:磁盘权限设置

C盘只给administratorssystem权限,其他的权限不给,其他的盘也可以这样设置,这里给的system权限也不一定需要给,只是由于某些第三方应用程序是以服务形式启动的,需要加上这个用户,否则造成启动不了。

  Windows目录要加上给users的默认权限,否则ASPASPX等应用程序就无法运行。

策略三:禁止 Windows 系统进行空连接

在注册表中找到相应的键值HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/LSA,将DWORD值RestrictAnonymous的键值改为1

策略四:关闭不需要的端口

本地连接--属性--Internet协议(TCP/IP)--高级--选项--TCP/IP筛选--属性--把勾打上,然后添加你需要的端口即可。(如:3389、21、1433、3306、80)

更改远程连接端口方法

开始-->运行-->输入regedit

查找3389:

请按以下步骤查找:

1、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp下的PortNumber=3389改为自宝义的端口号

2、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp下的PortNumber=3389改为自宝义的端口号

修改3389为你想要的数字(在十进制下)----再点16进制(系统会自动转换)----最后确定!这样就ok了。

这样3389端口已经修改了,但还要重新启动主机,这样3389端口才算修改成功!如果不重新启动3389还

是修改不了的!重起后下次就可以用新端口进入了!

禁用TCP/IP上的NETBIOS

本地连接--属性--Internet协议(TCP/IP)--高级—WINS--禁用TCP/IP上的NETBIOS

策略五:关闭默认共享的空连接

首先编写如下内容的批处理文件:  

  @echo off  

  net share C$ /delete  

  net share D$ /delete  

  net share E$ /delete  

  net share F$ /delete  

  net share admin$ /delete  

  以上文件的内容用户可以根据自己需要进行修改。保存为delshare.bat,存放到系统所在文件夹下的system32\GroupPolicy\User\Scripts\Logon目录下。然后在开始菜单→运行中输入gpedit.msc,  

  回车即可打开组策略编辑器。点击用户配置→Windows设置→脚本(登录/注销)→登录.  

  在出现的“登录 属性”窗口中单击“添加”,会出现“添加脚本”对话框,在该窗口的“脚本名”栏中输入delshare.bat,然后单击“确定”按钮即可。 

  重新启动计算机系统,就可以自动将系统所有的隐藏共享文件夹全部取消了,这样就能将系统安全隐患降低到最低限度。

策略五:IIS安全设置

1、不使用默认的Web站点,如果使用也要将IIS目录与系统磁盘分开。

2、删除IIS默认创建的Inetpub目录(在安装系统的盘上)。

3、删除系统盘下的虚拟目录,如:_vti_bin、IISSamples、Scripts、IIShelp、IISAdmin、IIShelp、MSADC。

4、删除不必要的IIS扩展名映射。

右键单击“默认Web站点→属性→主目录→配置”,打开应用程序窗口,去掉不必要的应用程序映射。主要为.shtmlshtmstm。

5、更改IIS日志的路径

右键单击“默认Web站点→属性-网站-在启用日志记录下点击属性

策略六:注册表相关安全设置

1、隐藏重要文件/目录

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Current-Version\Explorer\Advanced\Folder\Hidden\SHOWALL

鼠标右击 “CheckedValue”,选择修改,把数值由1改为0。

  2、防止SYN洪水攻击

  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 

新建DWORD值,名为SynAttackProtect,值为2 

  3、禁止响应ICMP路由通告报文

HKEY_LOCAL_MACHINE\SYSTEM \ CurrentControlSet\ Services\Tcpip\Parameters\Interfaces\interface

新建DWORD值,名为PerformRouterDiscovery 值为0。

  4、防止ICMP重定向报文的攻击

  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

将EnableICMPRedirects 值设为0

  5、不支持IGMP协议

  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

  新建DWORD值,名为IGMPLevel 值为0。

策略七:组件安全设置篇

A、 卸载WScript.Shell 和 Shell.application 组件,将下面的代码保存为一个.BAT文件执行(分2000和2003系统)

windows2000.bat

  regsvr32/u C:\WINNT\System32\wshom.ocx

  del C:\WINNT\System32\wshom.ocx

  regsvr32/u C:\WINNT\system32\shell32.dll

  del C:\WINNT\system32\shell32.dll

  windows2003.bat

  regsvr32/u C:\WINDOWS\System32\wshom.ocx

  del C:\WINDOWS\System32\wshom.ocx

  regsvr32/u C:\WINDOWS\system32\shell32.dll

  del C:\WINDOWS\system32\shell32.dll

B、改名不安全组件,需要注意的是组件的名称和Clsid都要改,并且要改彻底了,不要照抄,要自己改

  【开始→运行→regedit→回车】打开注册表编辑器

  然后【编辑→查找→填写Shell.application→查找下一个】

  用这个方法能找到两个注册表项:

  {13709620-C279-11CE-A49E-444553540000} 和 Shell.application 。

  第一步:为了确保万无一失,把这两个注册表项导出来,保存为xxxx.reg 文件。

  第二步:比如我们想做这样的更改

  13709620-C279-11CE-A49E-444553540000 改名为 13709620-C279-11CE-A49E-444553540001

  Shell.application 改名为 Shell.application_nohack

  第三步:那么,就把刚才导出的.reg文件里的内容按上面的对应关系替换掉,然后把修改好的.reg文件导入到注册表中(双击即可),导入了改名后的注册表项之后,别忘记了删除原有的那两个项目。这里需要注意一点,Clsid中只能是十个数字和ABCDEF六个字母。

  其实,只要把对应注册表项导出来备份,然后直接改键名就可以了,

  改好的例子

  建议自己改

  应该可一次成功

  Windows Registry Editor Version 5.00

  [HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}]

  @="Shell Automation Service"

  [HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\InProcServer32]

  @="C:\\WINNT\\system32\\shell32.dll"

  "ThreadingModel"="Apartment"

  [HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\ProgID]

  @="Shell.Application_nohack.1"

  [HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\TypeLib]

  @="{50a7e9b0-70ef-11d1-b75a-00a0c90564fe}"

  [HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\Version]

  @="1.1"

  [HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\VersionIndependentProgID]

  @="Shell.Application_nohack"

  [HKEY_CLASSES_ROOT\Shell.Application_nohack]

  @="Shell Automation Service"

  [HKEY_CLASSES_ROOT\Shell.Application_nohack\CLSID]

  @="{13709620-C279-11CE-A49E-444553540001}"

  [HKEY_CLASSES_ROOT\Shell.Application_nohack\CurVer]

  @="Shell.Application_nohack.1"

  评论:

  WScript.Shell 和 Shell.application 组件是 脚本入侵过程中,提升权限的重要环节,这两个组件的卸载和修改对应注册键名,可以很大程度的提高虚拟主机的脚本安全性能,一般来说,ASP和php类脚本提升权限的功能是无法实现了,再加上一些系统服务、硬盘访问权限、端口过滤、本地安全策略的设置,虚拟主机因该说,安全性能有非常大的提高,黑客入侵的可能性是非常低了。注销了Shell组件之后,侵入者运行提升工具的可能性就很小了,但是prel等别的脚本语言也有shell能力,为防万一,还是设置一下为好。下面是另外一种设置,大同小异。

C、禁止使用FileSystemObject组件

  FileSystemObject可以对文件进行常规操作,可以通过修改注册表,将此组件改名,来防止此类木马的危害。

  HKEY_CLASSES_ROOT\Scripting.FileSystemObject\

  改名为其它的名字,如:改为 FileSystemObject_ChangeName

  自己以后调用的时候使用这个就可以正常调用此组件了

  也要将clsid值也改一下

  HKEY_CLASSES_ROOT\Scripting.FileSystemObject\CLSID\项目的值

  也可以将其删除,来防止此类木马的危害。

  2000注销此组件命令:RegSrv32 /u C:\WINNT\SYSTEM\scrrun.dll

  2003注销此组件命令:RegSrv32 /u C:\WINDOWS\SYSTEM\scrrun.dll

  如何禁止Guest用户使用scrrun.dll来防止调用此组件?

  使用这个命令:cacls C:\WINNT\system32\scrrun.dll /e /d guests

D、禁止使用WScript.Shell组件

WScript.Shell可以调用系统内核运行DOS基本命令

  可以通过修改注册表,将此组件改名,来防止此类木马的危害。

  HKEY_CLASSES_ROOT\WScript.Shell\及HKEY_CLASSES_ROOT\WScript.Shell.1\

  改名为其它的名字,如:改为WScript.Shell_ChangeName 或 WScript.Shell.1_ChangeName

  自己以后调用的时候使用这个就可以正常调用此组件了

  也要将clsid值也改一下

  HKEY_CLASSES_ROOT\WScript.Shell\CLSID\项目的值

  HKEY_CLASSES_ROOT\WScript.Shell.1\CLSID\项目的值

  也可以将其删除,来防止此类木马的危害。

E、禁止使用Shell.Application组件

Shell.Application可以调用系统内核运行DOS基本命令

  可以通过修改注册表,将此组件改名,来防止此类木马的危害。

  HKEY_CLASSES_ROOT\Shell.Application\

  HKEY_CLASSES_ROOT\Shell.Application.1\

  改名为其它的名字,如:改为Shell.Application_ChangeName 或 Shell.Application.1_ChangeName

  自己以后调用的时候使用这个就可以正常调用此组件了

  也要将clsid值也改一下

  HKEY_CLASSES_ROOT\Shell.Application\CLSID\项目的值

  HKEY_CLASSES_ROOT\Shell.Application\CLSID\项目的值

  也可以将其删除,来防止此类木马的危害。

  禁止Guest用户使用shell32.dll来防止调用此组件。

  2000使用命令:cacls C:\WINNT\system32\shell32.dll /e /d guests

  2003使用命令:cacls C:\WINDOWS\system32\shell32.dll /e /d guests

  注:操作均需要重新启动WEB服务后才会生效。

F、调用Cmd.exe

  禁用Guests组用户调用cmd.exe

  2000使用命令:cacls C:\WINNT\system32\Cmd.exe /e /d guests

  2003使用命令:cacls C:\WINDOWS\system32\Cmd.exe /e /d guests

  通过以上四步的设置基本可以防范目前比较流行的几种木马,但最有效的办法还是通过综合安全设置,将服务器、程序安全都达到一定标准,才可能将安全等级设置较高,防范更多非法入侵。