策略一:关闭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_machinesystemcurrentcontrolsetcontrol erminal serverwds dpwd ds cp下的portnumber=3389改为自宝义的端口号
2、hkey_local_machinesystemcurrentcontrolsetcontrol erminal serverwinstations dp-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_machinesystemcurrentcontrolsetservices cpipparameters
新建dword值,名为synattackprotect,值为2
3、禁止响应icmp路由通告报文
hkey_local_machinesystem currentcontrolset services cpipparametersinterfacesinterface
新建dword值,名为performrouterdiscovery 值为0。
4、防止icmp重定向报文的攻击
hkey_local_machinesystemcurrentcontrolsetservices cpipparameters
将enableicmpredirects 值设为0
5、不支持igmp协议
hkey_local_machinesystemcurrentcontrolsetservices cpipparameters
新建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:winntsystem32shell32.dll"
"threadingmodel"="apartment"
[hkey_classes_rootclsid{13709620-c279-11ce-a49e-444553540001}progid]
@="shell.application_nohack.1"
[hkey_classes_rootclsid{13709620-c279-11ce-a49e-444553540001} ypelib]
@="{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
通过以上四步的设置基本可以防范目前比较流行的几种木马,但最有效的办法还是通过综合安全设置,将服务器、程序安全都达到一定标准,才可能将安全等级设置较高,防范更多非法入侵。
希望对大家有帮助。