总结的六大条Windows2003Web服务器安全策略
|
源代码网整理以下 上个工作是做网站服务器维护,在网上搜索了好多教程,感觉乱的很。干脆自己总结了一套Windows2003服务器安全策略。绝非是网上转载的。都是经过测试的。自己感觉还行吧!欢迎大家测试,也希望与我一起交流服务器的安全问题。希望对大家有帮助! 源代码网整理以下 我的博客:http://www.qi21.cn 源代码网整理以下 策略一:关闭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盘只给administrators和system权限,其他的权限不给,其他的盘也可以这样设置,这里给的system权限也不一定需要给,只是由于某些第三方应用程序是以服务形式启动的,需要加上这个用户,否则造成启动不了。 源代码网整理以下 Windows目录要加上给users的默认权限,否则ASP和ASPX等应用程序就无法运行。 源代码网整理以下 策略三:禁止 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_MACHINESYSTEMCurrentControlSetControlTerminal ServerWds dpwdTds cp下的PortNumber=3389改为自宝义的端口号 源代码网整理以下 2、HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-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,存放到系统所在文件夹下的system32GroupPolicyUserScriptsLogon目录下。然后在开始菜单→运行中输入gpedit.msc, 源代码网整理以下 回车即可打开组策略编辑器。点击用户配置→Windows设置→脚本(登录/注销)→登录. 源代码网整理以下 在出现的“登录 属性”窗口中单击“添加”,会出现“添加脚本”对话框,在该窗口的“脚本名”栏中输入delshare.bat,然后单击“确定”按钮即可。 源代码网整理以下 重新启动计算机系统,就可以自动将系统所有的隐藏共享文件夹全部取消了,这样就能将系统安全隐患降低到最低限度。 源代码网整理以下 策略五:IIS安全设置 源代码网整理以下 1、不使用默认的Web站点,如果使用也要将IIS目录与系统磁盘分开。 源代码网整理以下 2、删除IIS默认创建的Inetpub目录(在安装系统的盘上)。 源代码网整理以下 3、删除系统盘下的虚拟目录,如:_vti_bin、IISSamples、Scripts、IIShelp、IISAdmin、IIShelp、MSADC。 源代码网整理以下 4、删除不必要的IIS扩展名映射。 源代码网整理以下 右键单击“默认Web站点→属性→主目录→配置”,打开应用程序窗口,去掉不必要的应用程序映射。主要为.shtml、shtm、stm。 源代码网整理以下 5、更改IIS日志的路径 源代码网整理以下 右键单击“默认Web站点→属性-网站-在启用日志记录下点击属性 源代码网整理以下 策略六:注册表相关安全设置 源代码网整理以下 1、隐藏重要文件/目录 源代码网整理以下 HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrent-VersionExplorerAdvancedFolderHiddenSHOWALL” 源代码网整理以下 鼠标右击 “CheckedValue”,选择修改,把数值由1改为0。 源代码网整理以下 2、防止SYN洪水攻击 源代码网整理以下 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters 源代码网整理以下 新建DWORD值,名为SynAttackProtect,值为2 源代码网整理以下 3、禁止响应ICMP路由通告报文 源代码网整理以下 HKEY_LOCAL_MACHINESYSTEM CurrentControlSet ServicesTcpipParametersInterfacesinterface 源代码网整理以下 新建DWORD值,名为PerformRouterDiscovery 值为0。 源代码网整理以下 4、防止ICMP重定向报文的攻击 源代码网整理以下 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters 源代码网整理以下 将EnableICMPRedirects 值设为0 源代码网整理以下 5、不支持IGMP协议 源代码网整理以下 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters 源代码网整理以下 新建DWORD值,名为IGMPLevel 值为0。 源代码网整理以下 策略七:组件安全设置篇 源代码网整理以下 A、 卸载WScript.Shell 和 Shell.application 组件,将下面的代码保存为一个.BAT文件执行(分2000和2003系统) 源代码网整理以下 windows2000.bat 源代码网整理以下 regsvr32/u C:WINNTSystem32wshom.ocx 源代码网整理以下 del C:WINNTSystem32wshom.ocx 源代码网整理以下 regsvr32/u C:WINNTsystem32shell32.dll 源代码网整理以下 del C:WINNTsystem32shell32.dll 源代码网整理以下 windows2003.bat 源代码网整理以下 regsvr32/u C:WINDOWSSystem32wshom.ocx 源代码网整理以下 del C:WINDOWSSystem32wshom.ocx 源代码网整理以下 regsvr32/u C:WINDOWSsystem32shell32.dll 源代码网整理以下 del C:WINDOWSsystem32shell32.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_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}] 源代码网整理以下 @="Shell Automation Service" 源代码网整理以下 [HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}InProcServer32] 源代码网整理以下 @="C:\WINNT\system32\shell32.dll" 源代码网整理以下 "ThreadingModel"="Apartment" 源代码网整理以下 [HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}ProgID] 源代码网整理以下 @="Shell.Application_nohack.1" 源代码网整理以下 [HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}TypeLib] 源代码网整理以下 @="{50a7e9b0-70ef-11d1-b75a-00a0c90564fe}" 源代码网整理以下 [HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}Version] 源代码网整理以下 @="1.1" 源代码网整理以下 [HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}VersionIndependentProgID] 源代码网整理以下 @="Shell.Application_nohack" 源代码网整理以下 [HKEY_CLASSES_ROOTShell.Application_nohack] 源代码网整理以下 @="Shell Automation Service" 源代码网整理以下 [HKEY_CLASSES_ROOTShell.Application_nohackCLSID] 源代码网整理以下 @="{13709620-C279-11CE-A49E-444553540001}" 源代码网整理以下 [HKEY_CLASSES_ROOTShell.Application_nohackCurVer] 源代码网整理以下 @="Shell.Application_nohack.1" 源代码网整理以下 评论: 源代码网整理以下 WScript.Shell 和 Shell.application 组件是 脚本入侵过程中,提升权限的重要环节,这两个组件的卸载和修改对应注册键名,可以很大程度的提高虚拟主机的脚本安全性能,一般来说,ASP和php类脚本提升权限的功能是无法实现了,再加上一些系统服务、硬盘访问权限、端口过滤、本地安全策略的设置,虚拟主机因该说,安全性能有非常大的提高,黑客入侵的可能性是非常低了。注销了Shell组件之后,侵入者运行提升工具的可能性就很小了,但是prel等别的脚本语言也有shell能力,为防万一,还是设置一下为好。下面是另外一种设置,大同小异。 源代码网整理以下 C、禁止使用FileSystemObject组件 源代码网整理以下 FileSystemObject可以对文件进行常规操作,可以通过修改注册表,将此组件改名,来防止此类木马的危害。 源代码网整理以下 HKEY_CLASSES_ROOTScripting.FileSystemObject 源代码网整理以下 改名为其它的名字,如:改为 FileSystemObject_ChangeName 源代码网整理以下 自己以后调用的时候使用这个就可以正常调用此组件了 源代码网整理以下 也要将clsid值也改一下 源代码网整理以下 HKEY_CLASSES_ROOTScripting.FileSystemObjectCLSID项目的值 源代码网整理以下 也可以将其删除,来防止此类木马的危害。 源代码网整理以下 2000注销此组件命令:RegSrv32 /u C:WINNTSYSTEMscrrun.dll 源代码网整理以下 2003注销此组件命令:RegSrv32 /u C:WINDOWSSYSTEMscrrun.dll 源代码网整理以下 如何禁止Guest用户使用scrrun.dll来防止调用此组件? 源代码网整理以下 使用这个命令:cacls C:WINNTsystem32scrrun.dll /e /d guests 源代码网整理以下 D、禁止使用WScript.Shell组件 源代码网整理以下 WScript.Shell可以调用系统内核运行DOS基本命令 源代码网整理以下 可以通过修改注册表,将此组件改名,来防止此类木马的危害。 源代码网整理以下 HKEY_CLASSES_ROOTWScript.Shell及HKEY_CLASSES_ROOTWScript.Shell.1 源代码网整理以下 改名为其它的名字,如:改为WScript.Shell_ChangeName 或 WScript.Shell.1_ChangeName 源代码网整理以下 自己以后调用的时候使用这个就可以正常调用此组件了 源代码网整理以下 也要将clsid值也改一下 源代码网整理以下 HKEY_CLASSES_ROOTWScript.ShellCLSID项目的值 源代码网整理以下 HKEY_CLASSES_ROOTWScript.Shell.1CLSID项目的值 源代码网整理以下 也可以将其删除,来防止此类木马的危害。 源代码网整理以下 E、禁止使用Shell.Application组件 源代码网整理以下 Shell.Application可以调用系统内核运行DOS基本命令 源代码网整理以下 可以通过修改注册表,将此组件改名,来防止此类木马的危害。 源代码网整理以下 HKEY_CLASSES_ROOTShell.Application及 源代码网整理以下 HKEY_CLASSES_ROOTShell.Application.1 源代码网整理以下 改名为其它的名字,如:改为Shell.Application_ChangeName 或 Shell.Application.1_ChangeName 源代码网整理以下 自己以后调用的时候使用这个就可以正常调用此组件了 源代码网整理以下 也要将clsid值也改一下 源代码网整理以下 HKEY_CLASSES_ROOTShell.ApplicationCLSID项目的值 源代码网整理以下 HKEY_CLASSES_ROOTShell.ApplicationCLSID项目的值 源代码网整理以下 也可以将其删除,来防止此类木马的危害。 源代码网整理以下 禁止Guest用户使用shell32.dll来防止调用此组件。 源代码网整理以下 2000使用命令:cacls C:WINNTsystem32shell32.dll /e /d guests 源代码网整理以下 2003使用命令:cacls C:WINDOWSsystem32shell32.dll /e /d guests 源代码网整理以下 注:操作均需要重新启动WEB服务后才会生效。 源代码网整理以下 F、调用Cmd.exe 源代码网整理以下 禁用Guests组用户调用cmd.exe 源代码网整理以下 2000使用命令:cacls C:WINNTsystem32Cmd.exe /e /d guests 源代码网整理以下 2003使用命令:cacls C:WINDOWSsystem32Cmd.exe /e /d guests 源代码网整理以下 通过以上四步的设置基本可以防范目前比较流行的几种木马,但最有效的办法还是通过综合安全设置,将服务器、程序安全都达到一定标准,才可能将安全等级设置较高,防范更多非法入侵。 源代码网整理以下 希望对大家有帮助! 源代码网供稿. |
