> 不允许 SAM 账户和共享的匿名枚举 更改为"已启用" ;">

Windows 2003系统目前最完善最完美的安全权限方案

ZDNet 安全频道频道 更新时间:2008-06-13 作者: 来源:SohuIT

本文关键词:CONFIG Start SC

  我在电信局做网管,原来管理过三十多台服务器,从多年积累的经验,写出以下详细的Windows2003服务系统的安全方案,我应用以下方案,安全运行了二年,无黑客有成功入侵的记录,也有黑客入侵成功的在案,但最终还是没有拿到肉鸡的最高管理员身份,只是可以浏览跳转到服务器上所有客户的网站。



  服务器安全设置



  >> IIS6.0的安装



  开始菜单—>控制面板—>添加或删除程序—>添加/删除Windows组件



  应用程序 ———ASP.NET(可选)



  |——启用网络 COM+ 访问(必选)



  |——Internet 信息服务(IIS)———Internet 信息服务管理器(必选) 



  |——公用文件(必选)



  |——万维网服务———Active Server pages(必选)



  |——Internet 数据连接器(可选)



  |——WebDAV 发布(可选)



  |——万维网服务(必选)



  |——在服务器端的包含文件(可选)



  >> 在”网络连接”里,把不需要的协议和服务都删掉,这里只安装了基本的Internet协议(TCP/IP)和Microsoft网络客户端。在高级tcp/ip设置里--"NetBIOS"设置"禁用tcp/IP上的NetBIOS(S)"。



  >>在“本地连接”打开Windows 2003 自带的防火墙,可以屏蔽端口,基本达到一个IPSec的功能,只保留有用的端口,比如远程(3389)和 Web(80),Ftp(21),邮件服务器(25,110),https(443),SQL(1433)



  >> IIS (Internet信息服务器管理器) 在"主目录"选项设置以下



  读 允许



  写 不允许



  脚本源访问 不允许



  目录浏览 建议关闭



  记录访问 建议关闭



  索引资源 建议关闭



  执行权限 推荐选择 “纯脚本”



  >> 建议使用W3C扩充日志文件格式,每天记录客户IP地址,用户名,服务器端口,方法,URI字根,HTTP状态,用户代理,而且每天均要审查日志。



  (最好不要使用缺省的目录,建议更换一个记日志的路径,同时设置日志的访问权限,只允许管理员和system为Full Control)。



  >> 在IIS6.0 -本地计算机 - 属性- 允许直接编辑配置数据库在IIS中 属性->主目录->配置->选项中。



  >> 在网站把”启用父路径“前面打上勾



  >> 在IIS中的Web服务扩展中选中Active Server Pages,点击“允许”



  >> 优化IIS6应用程序池



  1、取消“在空闲此段时间后关闭工作进程(分钟)”



  2、勾选“回收工作进程(请求数目)”



  3、取消“快速失败保护”



  >> 解决SERVER 2003不能上传大附件的问题



  在“服务”里关闭 iis admin service 服务。



  找到 windowssystem32inetsrv 下的 metabase.xml 文件。



  找到 ASPMaxRequestEntityAllowed 把它修改为需要的值(可修改为20M即:20480000)



  存盘,然后重启 iis admin service 服务。



  >> 解决SERVER 2003无法下载超过4M的附件问题



  在“服务”里关闭 iis admin service 服务。



  找到 windowssystem32inetsrv 下的 metabase.xml 文件。



  找到 AspBufferingLimit 把它修改为需要的值(可修改为20M即:20480000)



  存盘,然后重启 iis admin service 服务。



  >> 超时问题



  解决大附件上传容易超时失败的问题



  在IIS中调大一些脚本超时时间,操作方法是: 在IIS的“站点或虚拟目录”的“主目录”下点击“配置”按钮,



  设置脚本超时时间为:300秒 (注意:不是Session超时时间)



  解决通过WebMail写信时间较长后,按下发信按钮就会回到系统登录界面的问题



  适当增加会话时间(Session)为 60分钟。在IIS站点或虚拟目录属性的“主目录”下点击“配置-->选项”,



  就可以进行设置了(Windows 2003默认为20分钟)



  >> 修改3389远程连接端口



  [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWds dpwdTds cp]



  "PortNumber"=dword:0000端口号



  [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp]



  "PortNumber"=dword:0000端口号



  设置这两个注册表的权限, 添加“IUSR”的完全拒绝 禁止显示端口号



  >> 本地策略--->用户权限分配



  关闭系统:只有Administrators组、其它全部删除。



  通过终端服务允许登陆:只加入Administrators,Remote Desktop Users组,其他全部删除



  >> 在安全设置里 本地策略-用户权利分配,通过终端服务拒绝登陆 加入



  ASPNET



  IUSR_



  IWAM_



  NETWORK SERVICE



  (注意不要添加进user组和administrators组 添加进去以后就没有办法远程登陆了)



  >> 在安全设置里 本地策略-安全选项



  网络访问:可匿名访问的共享;



  网络访问:可匿名访问的命名管道;



  网络访问:可远程访问的注册表路径;



  网络访问:可远程访问的注册表路径和子路径;



  将以上四项全部删除



  >> 不允许 SAM 账户的匿名枚举 更改为"已启用"



  >> 不允许 SAM 账户和共享的匿名枚举 更改为"已启用" ;



  >> 网络访问: 不允许存储网络身份验证的凭据或 .NET Passports 更改为"已启用" ;



  >> 网络访问.限制匿名访问命名管道和共享,更改为"已启用" ;



  将以上四项通通设为“已启用”



  >> 计算机管理的本地用户和组



  禁用终端服务(TsInternetUser), SQL服务(SQLDebugger), SUPPORT_388945a0



  >> 禁用不必要的服务



  sc config AeLookupSvc start= AUTO



  sc config Alerter start= DISABLED



  sc config ALG start= DISABLED



  sc config AppMgmt start= DEMAND



  sc config aspnet_state start= DEMAND



  sc config AudioSrv start= DISABLED



  sc config BITS start= DEMAND



  sc config Browser start= DEMAND



  sc config CiSvc start= DISABLED



  sc config ClipSrv start= DISABLED



  sc config clr_optimization_v2.0.50727_32 start= DEMAND



  sc config COMSysApp start= DEMAND



  sc config CryptSvc start= AUTO



  sc config DcomLaunch start= AUTO



  sc config Dfs start= DEMAND



  sc config Dhcp start= AUTO



  sc config dmadmin start= DEMAND



  sc config dmserver start= AUTO



  sc config Dnscache start= AUTO



  sc config ERSvc start= DISABLED



  sc config Eventlog start= AUTO



  sc config EventSystem start= AUTO



  sc config helpsvc start= DISABLED



  sc config HidServ start= AUTO



  sc config HTTPFilter start= DEMAND



  sc config IISADMIN start= AUTO



  sc config ImapiService start= DISABLED



  sc config IsmServ start= DISABLED



  sc config kdc start= DISABLED



  sc config lanmanworkstation start= DISABLED



  sc config LicenseService start= DISABLED



  sc config LmHosts start= DISABLED



  sc config Messenger start= DISABLED



  sc config mnmsrvc start= DISABLED



  sc config MSDTC start= AUTO



  sc config MSIServer start= DEMAND



  sc config MSSEARCH start= AUTO



  sc config MSSQLSERVER start= AUTO



  sc config MSSQLServerADHelper start= DEMAND



  sc config NetDDE start= DISABLED



  sc config NetDDEdsdm start= DISABLED



  sc config Netlogon start= DEMAND



  sc config Netman start= DEMAND



  sc config Nla start= DEMAND



  sc config NtFrs start= DEMAND



  sc config NtLmSsp start= DEMAND



  sc config NtmsSvc start= DEMAND



  sc config PlugPlay start= AUTO



  sc config PolicyAgent start= AUTO



  sc config ProtectedStorage start= AUTO



  sc config RasAuto start= DEMAND



  sc config RasMan start= DEMAND



  sc config RDSessMgr start= DEMAND



  sc config RemoteAccess start= DISABLED



  sc config RemoteRegistry start= DISABLED



  sc config RpcLocator start= DEMAND



  sc config RpcSs start= AUTO



  sc config RSoPProv start= DEMAND



  sc config sacsvr start= DEMAND



  sc config SamSs start= AUTO



  sc config SCardSvr start= DEMAND



  sc config Schedule start= AUTO



  sc config seclogon start= AUTO



  sc config SENS start= AUTO



  sc config SharedAccess start= DISABLED



  sc config ShellHWDetection start= AUTO



  sc config SMTPSVC start= AUTO



  sc config Spooler start= DISABLED



  sc config SQLSERVERAGENT start= AUTO



  sc config stisvc start= DISABLED



  sc config swprv start= DEMAND



  sc config SysmonLog start= AUTO



  sc config TapiSrv start= DEMAND



  sc config TermService start= AUTO



  sc config Themes start= DISABLED



  sc config TlntSvr start= DISABLED



  sc config TrkSvr start= DISABLED



  sc config TrkWks start= AUTO



  sc config Tssdis start= DISABLED



  sc config UMWdf start= DEMAND



  sc config UPS start= DEMAND



  sc config vds start= DEMAND



  sc config VSS start= DEMAND



  sc config W32Time start= AUTO



  sc config W3SVC start= AUTO



  sc config WebClient start= DISABLED



  sc config WinHttpAutoProxySvc start= DEMAND



  sc config winmgmt start= AUTO



  sc config WmdmPmSN start= DEMAND



  sc config Wmi start= DEMAND



  sc config WmiApSrv start= DEMAND



  sc config wuauserv start= DISABLED



  sc config WZCSVC start= DISABLED



  sc config xmlprov start= DEMAND



  >> 删除默认共享



  @echo off



  ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::



  ::



  :: 先列举存在的分区,然后再逐个删除以分区名命名的共享;



  :: 通过修改注册表防止admin$共享在下次开机时重新加载;



  :: IPC$共享需要administritor权限才能成功删除



  ::



  ::



  ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::



  title 默认共享删除器



  color 1f



  echo.



  echo ------------------------------------------------------



  echo.



  echo 开始删除每个分区下的默认共享.



  echo.



  for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do @(



  if exist %%a: ul (



  net share %%a$Content$nbsp;/delete>nul 2>nul && echo 成功删除名为 %%a$Content$nbsp;的默认共享 || echo 名为 %%a$Content$nbsp;的默认共享不存在



  )



  )



  net share admin$Content$nbsp;/delete>nul 2>nul && echo 成功删除名为 admin$Content$nbsp;的默认共享 || echo 名为 admin$Content$nbsp;的默认共享不存在



  echo.



  echo ------------------------------------------------------



  echo.



  net stop Server /y>nul 2>nul && echo Server服务已停止.



  net start Server>nul 2>nul && echo Server服务已启动.



  echo.



  echo ------------------------------------------------------



  echo.



  echo 修改注册表以更改系统默认设置.



  echo.



  echo 正在创建注册表文件.



  echo Windows Registry Editor Version 5.00> c:delshare.reg



  :: 通过注册表禁止Admin$共享,以防重启后再次加载



  echo [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServiceslanmanserverparameters]>> c:delshare.reg



  echo "AutoShareWks"=dword:00000000>> c:delshare.reg



  echo "AutoShareServer"=dword:00000000>> c:delshare.reg



  :: 删除IPC$共享,本功能需要administritor权限才能成功删除



  echo [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa]>> c:delshare.reg



  echo "restrictanonymous"=dword:00000001>> c:delshare.reg



  echo 正在导入注册表文件以更改系统默认设置.



  regedit /s c:delshare.reg



  del c:delshare.reg && echo 临时文件已经删除.



  echo.



  echo ------------------------------------------------------



  echo.



  echo 程序已经成功删除所有的默认共享.



  echo.



  echo 按任意键退出...



  pause>nul



  >> 打开C:Windows目录 搜索以下DOS命令文件



  NET.EXE,NET1.EXE,CMD.EXE,FTP.EXE,ATTRIB.EXE,CACLS.EXE,AT.EXE,FORMAT.COM,TELNET.EXE,COMMAND.COM,NETSTAT.EXE,REGEDIT.EXE,ARP.EXE,NBTSTAT.EXE



  把以上命令文件通通只给Administrators 和SYSTEM为完全控制权限



  >> 卸载删除具有CMD命令功能的危险组件



  WSHOM.OCX对应于WScript.Shell组件



  HKEY_CLASSES_ROOTWScript.Shell



  及



  HKEY_CLASSES_ROOTWScript.Shell.1



  添加IUSR用户完全拒绝权限



  Shell32.dll对应于Shell.Application组件



  HKEY_CLASSES_ROOTShell.Application



  及



  HKEY_CLASSES_ROOTShell.Application.1



  添加IUSR用户完全拒绝权限



  regsvr32/u C:WindowsSystem32wshom.ocx



  regsvr32/u C:WindowsSystem32shell32.dll



  WSHOM.OCXx和Shell32.dl这两个文件只给Administrator完全权限



  >>> SQL权限设置



  1、一个数据库,一个帐号和密码,比如建立了一个数据库,只给PUBLIC和DB_OWNER权限,SA帐号基本是不使用的,因为SA实在是太危险了.



  2、更改 sa 密码为你都不知道的超长密码,在任何情况下都不要用 sa 这个帐户.



  3、Web登录时经常出现"[超时,请重试]"的问题



  如果安装了 SQL Server 时,一定要启用“服务器网络实用工具”中的“多协议”项。



  4、将有安全问题的SQL扩展存储过程删除. 将以下代码全部复制到"SQL查询分析器"



  use master



  EXEC sp_dropextendedproc ’xp_cmdshell’



  EXEC sp_dropextendedproc ’Sp_OACreate’



  EXEC sp_dropextendedproc ’Sp_OADestroy’



  EXEC sp_dropextendedproc ’Sp_OAGetErrorInfo’



  EXEC sp_dropextendedproc ’Sp_OAGetProperty’



  EXEC sp_dropextendedproc ’Sp_OAMethod’



  EXEC sp_dropextendedproc ’Sp_OASetProperty’



  EXEC sp_dropextendedproc ’Sp_OAStop’



  EXEC sp_dropextendedproc ’Xp_regaddmultistring’



  EXEC sp_dropextendedproc ’Xp_regdeletekey’



  EXEC sp_dropextendedproc ’Xp_regdeletevalue’



  EXEC sp_dropextendedproc ’Xp_regenumvalues’



  EXEC sp_dropextendedproc ’Xp_regread’



  EXEC sp_dropextendedproc ’Xp_regremovemultistring’



  EXEC sp_dropextendedproc ’Xp_regwrite’



  drop procedure sp_makewebtask



  恢复的命令是



  EXEC sp_addextendedproc 存储过程的名称,@dllname =’存储过程的dll’



  例如:恢复存储过程xp_cmdshell



  EXEC sp_addextendedproc xp_cmdshell,@dllname =’xplog70.dll’



  注意,恢复时如果xplog70.dll已删除需要copy一个。



  >> WEB目录权限设置



  Everyone:顾名思义,所有的用户,这个计算机上的所有用户都属于这个组。



  最好在C盘以外(如D,E,F.....)的根目录建立到三级目录,一级目录只给Administrator权限,二级目录给Administrator 完全控制权限和Everyone除了完全控制,更改,取得,其它全部打勾的权限和IUSR只有该文件夹的完全拒绝权限,三级目录是每个客户的虚拟主机网站,给Administrator完全控制权限和Everyone除了完全控制,更改,取得,其它全部打勾的权限即可.

[an error occurred while processing this directive]