|
|
|
|
几个关键ASP组件漏的问题的解决方法
| 几个关键ASP组件漏的问题的解决方法-江苏省|南京市|防盗器|防盗器材|监控器材|防贼防偷|报警器|报警器材|安防器材典型企业 江苏省南京市戎宁安防科技有限公司 --欢迎您!专业于华东地区,江苏,南京市 企业,公司,店铺,家庭的安防,防盗,监控,探头,红外,门磁,报警器,报警防盗,监控,家庭防盗器 发布日期:[2008-4-16] 共阅[776]次 | 还是几个关键ASP组件漏的问题。
① 删除或更名以下危险的ASP组件:
WScript.Shell、WScript.Shell.1、Wscript.Network、Wscript.Network.1、adodb.stream、Shell.application
开始------->运行--------->Regedit,打开注册表编辑器,按Ctrl+F查找,依次输入以上 Wscript.Shell等组件名称以及相应的ClassID,
然后进行删除或者更改名称(这里建议大家更名,如果有部分网页ASP程序利用了上面的组 件的话呢,
只需在将写ASP代码的时候用我们更改后的组件名称即可正常使用。
当然如果你确信你的ASP程序中没有用到以上组件,还是直接删除心中踏实一些 ^_^,
按常规一般来说是不会做到以上这些组件的。删除或更名后,iisreset重启IIS后即可升效。)
[注意:由于Adodb.Stream这个组件有很多网页中将用到,所以如果你的服务器是开虚拟主机的话,建议酢情处理。]
② 关于 File System Object (classid:0D43FE01-F093-11CF-8940-00A0C9054228)即常说的FSO的安全问题,如果您的服务器必需要用到 FSO的话,
(部分虚拟主机服务器一般需开FSO功能)
可以参照本人的另一篇关于FSO安全解决办法的文章:Microsoft Windows 2000 Server FSO
安全隐患解决办法。如果您确信不要用到的话,可以直接反注册此组件即可。
③ 直接反注册、卸载这些危险组件的方法:(实用于不想用①及②类此类烦琐的方法)
卸载wscript.shell对象,在cmd下或直接运行:regsvr32 /u %windir%\system32\WSHom.Ocx
卸载FSO对象,在cmd下或直接运行:regsvr32.exe /u %windir%\system32\scrrun.dll
卸载stream对象,在cmd下或直接运行: regsvr32 /s /u "C:\Program Files\Common Files\System\ado\msado15.dll"
如果想恢复的话只需要去掉 /U 即可重新再注册以上相关ASP组件例如:regsvr32.exe %windir%\system32\scrrun.dll
卸载这些危险组件的方法:(实用于不想用①及②类此类烦琐的方法)
卸载wscript.shell对象,在cmd下或直接运行:regsvr32 /u %windir%\system32\WSHom.Ocx
卸载FSO对象,在cmd下或直接运行:regsvr32.exe /u %windir%\system32\scrrun.dll
卸载stream对象,在cmd下或直接运行: regsvr32 /s /u "C:\Program Files\Common Files\System\ado\msado15.dll"
如果想恢复的话只需要去掉 /U 即可重新再注册以上相关ASP组件例如:regsvr32.exe %windir%\system32\scrrun.dll
防止海洋木马列出WIN服务器的用户和进程
禁用服务里面倒数第二个 workstation 服务,可以防止列出用户和服务
c:\
administrators 全部
system 全部
iis_wpg 只有该文件夹
列出文件夹/读数据
读属性
读扩展属性
读取权限
c:\inetpub\mailroot
administrators 全部
system 全部
service 全部
c:\inetpub\ftproot
everyone 只读和运行
c:\windows
administrators 全部
Creator owner
不是继承的
只有子文件夹及文件
完全
Power Users
修改,读取和运行,列出文件夹目录,读取,写入
system 全部
IIS_WPG 读取和运行,列出文件夹目录,读取
Users 读取和运行(此权限最后调整完成后可以取消)
C:\WINDOWS\Microsoft.Net
administrators 全部
Creator owner
不是继承的
只有子文件夹及文件
完全
Power Users
修改,读取和运行,列出文件夹目录,读取,写入
system 全部
Users 读取和运行,列出文件夹目录,读取
'www.knowsky.com
C:\WINDOWS\Microsoft.Net
administrators 全部
Creator owner
不是继承的
只有子文件夹及文件
完全
Power Users
修改,读取和运行,列出文件夹目录,读取,写入
system 全部
Users 读取和运行,列出文件夹目录,读取
C:\WINDOWS\Microsoft.Net\temporary ASP.NET Files
administrators 全部
Creator owner
不是继承的
只有子文件夹及文件
完全
Power Users
修改,读取和运行,列出文件夹目录,读取,写入
system 全部
Users 全部
c:\Program Files
Everyone 只有该文件夹
不是继承的
列出文件夹/读数据
administrators 全部
iis_wpg 只有该文件夹
列出文件/读数据
读属性
读扩展属性
读取权限
c:\windows\temp
Administrator 全部权限
System全部权限
users 全部权限
c:\Program Files\Common Files
administrators 全部
Creator owner
不是继承的
只有子文件夹及文件
完全
Power Users
修改,读取和运行,列出文件夹目录,读取,写入
system 全部
TERMINAL SERVER Users(如果有这个用户)
修改,读取和运行,列出文件夹目录,读取,写入
Users 读取和运行,列出文件夹目录,读取
c:\Program Files\Dimac(如果有这个目录)
Everyone 读取和运行,列出文件夹目录,读取
administrators 全部
c:\Program Files\ComPlus Applications (如果有)
administrators 全部
c:\Program Files\GflSDK (如果有)
administrators 全部
Creator owner
不是继承的
只有子文件夹及文件
完全
Power Users
修改,读取和运行,列出文件夹目录,读取,写入
system 全部
TERMINAL SERVER Users
修改,读取和运行,列出文件夹目录,读取,写入
Users 读取和运行,列出文件夹目录,读取
Everyone 读取和运行,列出文件夹目录,读取
c:\Program Files\InstallShield Installation Information (如果有)
c:\Program Files\Internet Explorer (如果有)
c:\Program Files\NetMeeting (如果有)
administrators 全部
c:\Program Files\WindowsUpdate
Creator owner
不是继承的
只有子文件夹及文件
完全
administrators 全部
Power Users
修改,读取和运行,列出文件夹目录,读取,写入
system 全部
c:\Program Files\Microsoft SQL(如果SQL安装在这个目录)
administrators 全部
Service 全部
system 全部
d:\ (如果用户网站内容放置在这个分区中)
administrators 全部权限
d:\FreeHost (如果此目录用来放置用户网站内容)
administrators 全部权限
SERVICE 读取与运行
从安全角度,我们建议WebEasyMail(WinWebMail)安装在独立的盘中,例如E:
E:\(如果webeasymail安装在这个盘中)
administrators 全部权限
system 全部权限
IUSR_*,默认的Internet来宾帐户(或专用的运行用户)
读取与运行
E:\WebEasyMail (如果webeasymail安装在这个目录中)
administrators 全部
system 全部权限
SERVICE全部
IUSR_*,默认的Internet来宾帐户 (或专用的运行用户)
全部权限
C:\php\uploadtemp
C:\php\sessiondata
everyone
全部
C:\php\
administrators 全部
system 全部权限
SERVICE全部
Users 只读和运行
c:\windows\php.ini
administrators 全部
system 全部权限
SERVICE全部
Users 只读和运行
修改该Clsid的值而禁用该组件,如将注册表中HKEY_CLASSES_ROOT\Scripting.FileSystemObject\CLSID的值0D43FE01-F093-11CF-8940-00A0C9054228改成0D43FE01-F093-11CF-8940-00A0C9054229(改了最后面一位),这时候的写法为:
CF-8940-00A0C9054229">
来源:骨头's blog
以下是我服务器的安全配置情况,写得没好,请没要介意.也没要拿砖头砸我
一.磁盘权限的设置
c:\
Administrators 完全控制
System 完全控制
Users 读取 读取运行 列出文件夹目录(为了让防盗链能正常运行)
Guest 拒绝所有权限.并只应用到“只有该文件夹”
C:\Documents and Settings
Administrators 完全控制
System 完全控制
C:\Documents and Settings\All Users
Administrators 完全控制
System 完全控制
C:\php
读取 读取运行 列出文件夹目录
C:\Program Files
Administrators 完全控制
System 完全控制
C:\Program Files\Common Files\System
把Everyone权限加上去,赋予 读取 读取运行 列出文件夹目录权限
C:\WINDOWS
Administrators 完全控制
System 完全控制
IIS_WPG 读取 读取运行 列出文件夹目录,并应用到“只有子文件夹及文件”
Users 读取 读取运行 列出文件夹目录,并应用到“只有该文件夹”
C:\WINDOWS\system32
Administrators 完全控制 System 完全控制
Everyone 读取 读取运行 列出文件夹目录,并应用到“只有子文件夹及文件”
搜索 cmd.exe net.exe net1.exe cacls.exe tftp.exe ftp.exe
赋予Administrators完全控制权限.并将C:\WINDOWS\ServicePackFiles\i386目录下面多余的删掉!
D盘看不到,不用管
E:\
Administrators 完全控制
E:\web
Administrators 完全控制
e:\web下面是网站目录,每个站点使用独立的匿名用户,这个不用多说了.
F:\
Administrators 完全控制
f:\web
administrators 完全控制
f:\web下面也是用户目录。。。自己设置权限去...
服务器上有2个PHP的站点.因为PHP的安全机制
设置的权限有所不同.
F:\web\www.ndsman.net
administrators 完全控制
system 完全控制
everyone 完全控制,不是继承的.点高级-把那个勾去掉
F:\web\www.ndsman.net\sb 是网站目录
administrators 完全控制
system 完全控制
www.ndsman.net 除了完全控制以外,全部赋予
F:\web\www.xzhy.cn 这个也是PHP的,设置权限如上,不再重复.
另:E:\web\IIS备份 此目录下是IIS站点配置备份.建立站点时直接导入就可,E:\2盘\bak\建立网站用户的批处理.BAT 直接运行就会自动建立网站匿名帐户.
二.系统安全设置
1.启用Windows自带防火墙,并开放80 21 3306 52013 端口.(想开什么端口自己加)
2.删除以下的注册表主键:
WScript.Shell
WScript.Shell.1
Shell.application
Shell.application.1
WSCRIPT.NETWORK
WSCRIPT.NETWORK.1
regsvr32 /u wshom.ocx回车、regsvr32 /u wshext.dll回车
3.删除没有必要的储存过程
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
(本人建议直接找对应的DLL文件删除比较保险)
4.禁用Workstation服务,防止ASP木马列出用户.
5.关闭默认共享防止LAN内IPC入侵。可以用批处理来实现.如下:
echo off
net share c$ /del
net share d$ /del
net share e$ /del
net share f$ /del
保存为bat放到C:\Documents and Settings\All Users\「开始」菜单\程序\启动 即可
6.定时重启IIS服务及SQL服务.释放资源.可以用计划任务来实现.怎么弄自己想去。
7.设置终端登陆权限,只允许授权用户登陆.开始-程序-管理工具-终端服务配置-RDP-属性-权限
Administrator
chadmin
system
完全控制,不过尽管这样还是有一定的不安全,克隆个帐户就得了.建议限制IP登陆.尽管这样还是不安全滴,人家可以映射终端端口.最好的就是把服务器搞得上没得网.用IP安全策略可以做到.
8.Serv-U改一下本地管理密码,防止本地溢出.设置一下FTP域安全性,选择允许SSL/TLS和规则会话.
OK.就照着这样设置就行了,又安全又不影响第三方软件使用.每台服务器的权限配置都不一样,不要照搬了.服务器升天我不负责.这样设置防防点小菜鸟应该足够啦.哈~
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匿名用户有读取的权限,否则人家下走你修改过的文件,照样可以分析出你的管理员名和密码。
|
|
|
|
|
 |
|
 |
 |
|