win2003服务器安全设置之系统服务篇

发布时间:2019-08-17编辑:脚本学堂
win2003服务器安全设置之系统服务篇,关闭一些没必要的服务。

win2003服务器安全设置之系统服务篇,关闭一些没必要的服务。

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能力,为防万一,还是设置一下为好。

下面是另外一种设置。
一、禁止使用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
  二、禁止使用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/项目的值
  也可以将其删除,来防止此类木马的危害。
  三、禁止使用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服务后才会生效。
  四、调用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
  通过以上四步的设置基本可以防范目前比较流行的几种木马,但最有效的办法还是通过综合安全设置,将服务器、程序安全都达到一定标准,才可能将安全等级设置较高,防范更多非法入侵。

C、防止Serv-U权限提升 (适用于 Serv-U6.0 以前版本,之后可以直接设置密码)
先停掉Serv-U服务
用Ultraedit打开ServUDaemon.exe
查找 Ascii:LocalAdministrator 和 #l@$ak#.lk;0@P

修改成等长度的其它字符就可以了,ServUAdmin.exe也一样处理。
另外注意设置Serv-U所在的文件夹的权限,不要让IIS匿名用户有读取的权限,否则人家下走你修改过的文件,照样可以分析出你的管理员名和密码。可以使用阿江ASP探针来检测下系统的安全状态。

附:一键关闭服务批处理代码
 

复制代码 代码如下:

CLS
MODE con: COLS=80 LINES=18
COLOR 70
Echo.
Echo 正在进行系统服务优化,请稍等......

@:: Alerter
@:: 通知选定的用户和计算机管理警报。如果服务停止,使用管理警报的程序将不会收到它们。如果此服务被禁用,任何直接依赖它的服务都将不能启动。
sc config Alerter start= disabled
sc stop Alerter

@:: Application Experience Lookup Service
@:: 在应用程序启动时为应用程序处理应用程序兼容性查找请求。
@:: 建议: 禁用
sc config AeLookupSvc start= DISABLED
sc stop AeLookupSvc

@:: Background Intelligent Transfer Service
@:: 在后台传输客户端和服务器之间的数据。如果禁用了 BITS,一些功能,如 Windows Update,就无法正常运行。
@:: 建议: 禁用
@:: sc config BITS start= DEMAND
@:: sc stop BITS

@:: DHCP Client
@:: 为此计算机注册并更新 IP 地址。如果此服务停止,计算机将不能接收动态 IP 地址和 DNS 更新。如果此服务被禁用,所有明确依赖它的服务都将不能启动。
@:: 建议: 禁用
@:: sc config Dhcp start= DISABLED
@:: sc stop Dhcp

@:: Network Location Awareness (NLA)
@:: 收集并保存网络配置和位置信息,并在信息改动时通知应用程序。
@:: 建议: 禁用
sc config Nla start= DISABLED
sc stop Nla

@:: Secondary Logon
@:: 启用替换凭据下的启用进程。如果此服务被终止,此类型登录访问将不可用。如果此服务被禁用,任何依赖它的服务将无法启动。
@:: 建议: 禁用
sc config seclogon start= DISABLED
sc stop seclogon

@:: TCP/IP NetBIOS Helper
@:: 提供 TCP/IP (NetBT) 服务上的 NetBIOS 和网络上客户端的 NetBIOS 名称解析的支持,从而使用户能够共享文件、打印和登录到网络。如果此服务被停用,这些功能可能不可用。如果此服务被禁
用,任何依赖它的服务将无法启动。
@:: 建议: 禁用
sc config LmHosts start= DISABLED
sc stop LmHosts

@:: Wireless Configuration
@:: 启用 IEEE 802.11 适配器的自动配置。如果此服务停止,自动配置将不可用。如果此服务被禁用,所有明确依赖它的服务都将不能启动。
@:: 建议: 禁用
sc config WZCSVC start= DISABLED
sc stop WZCSVC

@:: Smart Card (智慧卡)
@:: 微软:管理这个计算机所读取智能卡的存取。如果这个服务被停止,这个计算机将无法读取智能卡。如果这个服务被停用,任何明确依存于它的服务将无法启动。
@:: 补充: 如果你不使用 Smart Card ,那就可以关了
@:: 依存: Plug and Play
@:: 建议: 禁用
sc config SCardSvr start= DISABLED
sc stop SCardSvr

@:: Windows Firewall/Internet Connection Sharing (ICS)
@:: 微软:为家庭或小型办公网络提供网络地址转换,定址以及名称解析和/或防止入侵服务。
@:: 补充: 如果你不使用因特网联机共享(ICS)或是 XP 内含的因特网联机防火墙(ICF)你可以关掉
@:: 依存: Application Layer Gateway Service、Network Connections、Network Location Awareness(NLA)、remote Access Connection Manager
@:: 建议: 手动,某些用户在本地测试时内网掉线就是因为这个服务停了,只需要启动此服务即可!
@:: sc config SharedAccess start= DEMAND
@:: sc stop SharedAccess

@:: Windows Image Acquisition (WIA) (Windows影像取得程序)
@:: 微软: 为扫描仪和数字相机提供影像撷取服务。
@:: 补充:如果扫描仪和数字相机内部具有支持WIA功能的话,那就可以直接看到图档,不需要其它的驱动程序,所以没有扫描仪和数字相机的使用者大可关了
@:: 依存:remote Procedure Call (RPC)
@:: 建议: 禁用
sc config stisvc start= DISABLED
sc stop stisvc

@:: MS Software Shadow Copy Provider[For XP]
@:: 微软:管理磁盘区阴影复制服务所取得的以软件为主的磁盘区阴影复制。如果停止这个服务,就无法管理以软件为主的磁盘区阴影复制。
@:: 补充: 如上所说的,用来备份的东西,如 MS Backup 程序就需要这个服务
@:: 依存:remote Procedure Call (RPC)
@:: 建议: 禁用
sc config swprv start= DISABLED
sc stop swprv

@:: Performance Logs and Alerts (效能记录文件及警示)
@:: 微软:收集本地或远程计算机基于预先配置的计划参数的性能数据,然后将此数据写入日志或触发警报。如果此服务被终止,将不会收集性能信息。如果此服务被禁用,任何依赖它的服务将无法启
动。
@:: 补充: 没什么价值的服务
@:: 建议: 禁用
sc config SysmonLog start= DISABLED
sc stop SysmonLog

@:: Telephony (电话语音)
@:: 微软:为本机计算机上及经由局域网络连接到正在执行此服务的服务器上,控制电话语音装置和 IP 为主语音联机的程序,提供电话语音 API (TAPI) 支持。
@:: 补充: 一般的拨号调制解调器或是一些 DSL/Cable 可能用到
@:: 依存: Plug and Play、remote Procedure Call (RPC)、remote Access Connection Manager、remote Access Auto Connection Manager
@:: 建议: 手动
@:: sc config TapiSrv start= DISABLED
@:: sc stop TapiSrv

@:: Distributed Link Tracking Client (分布式连结追踪客户端)
@:: 微软: 维护计算机中或网络网域不同计算机中 NTFS 档案间的连结。
@:: 补充: 维护区网内不同计算机之间的档案连结
@:: 依存:remote Procedure Call (RPC)
@:: 建议: 禁用
sc config TrkWks start= DISABLED
sc stop TrkWks

@:: Portable Media Serial Number
@:: 微软: Retrieves the serial number of any portable music player connected to your computer
@:: 补充:透过联机计算机重新取得任何音乐拨放序号?没什么价值的服务
@:: 建议: 禁用
sc config WmdmPmSN start= DISABLED
sc stop WmdmPmSN

@:: WMI Performance Adapter
@:: 微软: 提供来自 WMIHiPerf 提供者的效能链接库信息。
@:: 补充: 如上所提
@:: 依存:remote Procedure Call (RPC)
@:: 建议: 禁用
sc config WmiApSrv start= DISABLED
sc stop WmiApSrv

@:: Automatic Updates
@:: 微软: 启用重要 Windows 更新的下载及安装。如果停用此服务,可以手动的从 Windows Update 网站上更新操作系统。
@:: 补充: 允许 Windows 于背景自动联机之下,到 Microsoft Servers 自动检查和下载更新修补程序
@:: 建议: 禁用
@:: sc config wuauserv start= DISABLED
@:: sc stop wuauserv

@:: Fast User Switching Compatibility[For XP]
@:: 为在多用户下需要协助的应用程序提供管理。依赖RPC。
sc config FastUserSwitchingCompatibility start= DEMAND
sc stop FastUserSwitchingCompatibility

@:: System Restore Service[For XP]
@:: 执行系统还原功能。要停止服务,请从“我的电脑”的属性中的系统还原选项卡关闭系统还原。
sc config srservice start= DISABLED
sc stop srservice

@:: SSDP Discovery Service[For XP]
@:: 启动您家庭网络上的 UPnP 设备的发现。
sc config SSDPSRV start= DISABLED
sc stop SSDPSRV

@:: telnet
@:: 允许远程用户登录到此计算机并运行程序,并支持多种 TCP/IP Telnet 客户,包括基于 UNIX 和 Windows 的计算机。如果此服务停止,远程用户就不能访问程序,任何直接依靠它的服务将会启动
失败。
sc config TlntSvr start= DISABLED
sc stop TlntSvr

@:: Universal Plug and Play Device Host[For XP]
@:: 为主持通用即插即用设备提供支持。
sc config upnphost start= DEMAND
sc stop upnphost

@:: Security Center[For XP]
@:: 监视系统安全设置和配置。
sc config wscsvc start= DISABLED
sc stop wscsvc

@:: System Event Notification
@:: 监视系统事件并通知 COM+ 事件系统“订阅者(subscriber)”。如果此服务被停用,COM+ 事件系统“订阅者”将接收不到系统事件通知。如果此服务被禁用,任何依赖于它的服务将无法启用。
@:: 建议: 禁用
@:: sc config SENS start= DISABLED
@:: sc stop SENS

@:: COM+ Event System
@:: 支持系统事件通知服务 (SENS),此服务为订阅的组件对象模型 (COM) 组件提供自动分布事件功能。如果停止此服务,SENS 将关闭,而且不能提供登录和注销通知。如果禁用此服务,显式依赖此
服务的其他服务都将无法启动。
@:: 建议: 禁用
@:: sc config EventSystem start= DISABLED
@:: sc stop EventSystem

@:: Windows Audio
@:: 管理基于 Windows 的程序的音频设备。如果此服务被终止,音频设备及其音效将不能正常工作。如果此服务被禁用,任何依赖它的服务将无法启动。
@:: 补充:服务器上用什么声卡呀,去掉了!
@:: 建议: 禁用
@:: sc config AudioSrv start= DISABLED
@:: sc stop AudioSrv

@:: Computer Browser
@:: 维护网络上计算机的更新列表,并将列表提供给计算机指定浏览。如果服务停止,列表不会被更新或维护。如果服务被禁用,任何直接依赖于此服务的服务将无法启动。
@:: 建议: 禁用
sc config Browser start= DISABLED
sc stop Browser

@:: Task Scheduler
@:: 使用户能在此计算机上配置和计划自动任务。如果此服务被终止,这些任务将无法在计划时间里运行。如果此服务被禁用,任何依赖它的服务将无法启动。
@:: 建议: 禁用
@:: sc config Schedule start= DISABLED
@:: sc stop Schedule

@:: Routing and Remote Access
@:: 在局域网以及广域网环境中为企业提供路由服务。
@:: 建议: 禁用
sc config RemoteAccess start= DISABLED
sc stop RemoteAccess

@:: Removable Storage
@:: 管理和编录可移动媒体并操作自动化可移动媒体设备。如果这个服务被停止,依赖可移动存储的程序,如备份和远程存储将放慢速度。如果禁用这个服务,所有专依赖这个服务的服务将无法启动。
@:: 建议: 禁用
sc config NtmsSvc start= DISABLED
sc stop NtmsSvc

@:: Remote Registry
@:: 使远程用户能修改此计算机上的注册表设置。如果此服务被终止,只有此计算机上的用户才能修改注册表。如果此服务被禁用,任何依赖它的服务将无法启动。
@:: 建议: 禁用
sc config RemoteRegistry start= DISABLED
sc stop RemoteRegistry

@:: Print Spooler
@:: 管理所有本地和网络打印队列及控制所有打印工作。如果此服务被停用,本地计算机上的打印将不可用。如果此服务被禁用,任何依赖于它的服务将无法启用。
@:: 建议: 禁用
sc config Spooler start= DISABLED
sc stop Spooler

@:: Error Reporting Service
@:: 收集、存储和向 Microsoft 报告异常应用程序崩溃。如果此服务被停用,那么错误报告仅在内核错误和某些类型用户模式错误时发生。如果此服务被禁用,任何依赖于它的服务将无法启用。
@:: 建议: 禁用
sc config ERSvc start= DISABLED
sc stop ERSvc

@:: Workstation
@:: 创建和维护到远程服务的客户端网络连接。如果服务停止,这些连接将不可用。如果服务被禁用,任何直接依赖于此服务的服务将无法启动。黑客可以用此服务看到所有计算机用户。
@:: 建议: 禁用
sc config lanmanworkstation start= DISABLED
sc stop lanmanworkstation

@:: Help and Support
@:: 启用在此计算机上运行帮助和支持中心。如果停止服务,帮助和支持中心将不可用。如果禁用服务,任何直接依赖于此服务的服务将无法启动。
@:: 建议: 禁用
sc config helpsvc start= DISABLED
sc stop helpsvc

Echo 系统服务优化设定完毕! 请按任意键返回并选4继续...
pause >nul
Goto start