以下内容均以Windows2003为例,其它版本的请慎用。
通常我们将危险的命令、攻击者、以及病毒、木马依赖的组件进行注销,以达到阻击攻击。在没有特殊要求的情况下,请将如下不安全组件禁用,部分内容启用方法也写在下面,有特殊需要的可以恢复禁用的组件。
以下命令方式有两种:
第一:进入DOS命令窗口中,将其下命令粘贴进去可
第二:新建一个文本文件,将以下命令拷贝到文本文件里,将其改为bat文件,双击运行即可。
系统不安全组件禁用方法:
1.禁用Guests组用户调用cmd.exe
cacls C:/WINDOWS/system32/Cmd.exe /e /d guests
启用方法
cacls C:/WINDOWS/system32/Cmd.exe /e /r guests
2.禁用guest用户名
net user guest /active:no
启用方法
net user guest /active:yes
3.禁止Guest用户使用scrrun.dll
cacls C:/WINdows/system32/scrrun.dll /e /d guests
启用方法
cacls C:/WINdows/system32/scrrun.dll /e /r guests
4.禁止Guest用户使用shell32.dll
cacls C:/WINDOWS/system32/shell32.dll /e /d guests
启用方法
cacls C:/WINDOWS/system32/shell32.dll /e /r guests
5.卸载W.Shell 组件和卸载Shell.application 组件(木马)
regsvr32 /u wshom.ocx /s
regsvr32 /u shell32.dll /s
regsvr32/u C:/WINDOWS/System32/wshom.ocx /s
regsvr32/u C:/WINDOWS/system32/shell32.dll /s
启用方法
regsvr32 wshom.ocx
regsvr32 shell32.dll
regsvr32 C:/WINDOWS/System32/wshom.ocx
regsvr32 C:/WINDOWS/system32/shell32.dll
6.禁止使用FileSystemObject组件
RegSvr32 /u C:/WINDOWS/SYSTEM32/scrrun.dll /s
启用方法
RegSvr32 C:/WINDOWS/SYSTEM32/scrrun.dll
此组件禁用时请确认你的站点程序有没有使用该组件功能。
7.禁止使用WScript.Shell组件
regsvr32 /u WScript.Shell /s
regsvr32 /u WScript.Shell.1 /s
启用方法
regsvr32 WScript.Shell
regsvr32 WScript.Shell.1
8.禁止使用Shell.Application组件
regsvr32 /u Shell.Application.1 /s
regsvr32 /u Shell.Application /s
启用方法
regsvr32 Shell.Application.1
regsvr32 Shell.Application
9.删除IIS不必要的目录
rd c:/Inetpub /s/q
rd C:/WINDOWS/Web/printers /s/q
rd C:/WINDOWS/system32/inetsrv/iisadmpwd /s/q
10.停止远程操作注册表
net stop RemoteRegistry
启用方法
net start RemoteRegistry
11.停止telnet
net stop tlntsvr
启用方法
net start tlntsvr
12.修改TTL值防止用ping命令探测系统种类
reg add HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/Tcpip/Parameters /v DefaultTTL /t reg_DWORD /d 255 /f
13.删除默认共享
del share
net share IPC$ /del
net share ADMIN$ /del
net share C$ /del
net share D$ /del
net share e$ /del
net share f$ /del
net share g$ /del
14.禁用IPC$建立空连接
reg add HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Lsa /v RestrictAnonymous /t reg_DWORD /d 00000001 /f
15.禁止系统自动启动管理共享
reg add HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/LanmanServer/Parameters /v AutoShareWks /t reg_DWORD /d 0 /f
16.关闭445端口
reg add HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/netBT/Parameters /v SMBDeviceEnabled /t reg_DWORD /d 0 /f
17.禁止系统自动启动服务器共享(禁用IPC连接)
reg add HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/LanmanServer/Parameters /v AutoShareServer /t reg_DWORD /d 0 /f
18.通过修改注册表防止小规模DDOS攻击
reg add HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters /v SynAttackProtect/t reg_DWORD/d1/f
服务器安全设置之--组件安全设置篇
A、卸载Wscript.Shell 和 Shell.application 组件,将下面的代码保存为一个.BAT文件执行(分2000和2003系统)
windows2000.bat
regsvr32/u C:/WINNT/System32/wshom.ocxdel C:/WINNT/System32/wshom.ocxregsvr32/u C:/WINNT/system32/shell32.dlldel C:/WINNT/system32/shell32.dll
windows2003.bat
regsvr32/u C:/WINDOWS/System32/wshom.ocxdel C:/WINDOWS/System32/wshom.ocxregsvr32/u C:/WINDOWS/system32/shell32.dlldel 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匿名用户有读取的权限,否则人家下走你修改过的文件,照样可以分析出你的管理员名和密码。