vps主机的安全设置至关重要,下面详细介绍了一台vps服务器的安全设置方法:
禁止默认共享
方法一:建立一个记事本,填上以下代码。保存为*.bat并加到启动项目中
net share c$ /del
net share d$ /del
net share e$ /del
net share f$ /del
net share ipc$ /del
net share admin$ /del
方法二:修改注册表,(注意修改注册表前一定要先备份一下注册表,备份方法。在 运行>regedit,选择 文件》导出 ,取个文件名,导出即可,如果修改注册表失败,可以找到导出的注册表文件双击运行即可。)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
新建 “DWORD值”值名为 “AutoShareServer” 数据值为“0”
数据库安全管理
防止access数据库被下载
在IIS属性 ——主目录——配置——映射——应用程序扩展那里添加。mdb文件的应用解析。注意这里的选择的D LL不要选择asp.dll,找一个映射里面不使用的dll文件。
另外。对于sql数据库建议卸载扩展存储过程xp_cmdshell
xp_cmdshell是进入操作系统的最佳捷径,是数据库留给操作系统的一个大后门。请把它去掉。使用这个SQL语句:
use master
sp_dropextendedproc ‘xp_cmdshell’
如果你需要这个存储过程,请用这个语句也可以恢复过来。
sp_addextendedproc ‘xp_cmdshell’, ‘xpsql70.dll
vps主机组件管理
最危险的组件是WSH和Shell,因为它可以运行你硬盘里的EXE等程序,比如它可以运行提升程序来提升SERV-U权限甚至用SERVU来运行更高权限的系统程序。
谨慎决定是否卸载一个组件
组件是为了应用而出现的,而不是为了不安全而出现的,所有的组件都有它的用处,所以在卸载一个组件之前,你必须确认这个组件是你的网站程序不需要的,或者即使去掉也不关大体的。否则,你只能留着这个组件并在你的ASP程序本身上下工夫,防止别人进来,而不是防止别人进来后SHELL。
比如,FSO和XML是非常常用的组件之一,很多程序会用到他们。WSH组件会被一部分主机管理程序用到,也有的打包程序也会用到。
卸载最不安全的组件
最简单的办法是直接卸载后删除相应的程序文件。将下面的代码保存为一个.BAT文件,( 以下均以 WIN2000 为例,如果使用2003,则系统文件夹应该是 C:\WINDOWS\ )
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
改名不安全组件
需要注意的是组件的名称和Clsid都要改,并且要改彻底了。下面以Shell.application为例来介绍方法。
打开注册表编辑器【开始→运行→regedit回车】,然后【编辑→查找→填写Shell.application→查找下一个】,用这个方法能找到两个注册表项:“{13709620-C279-11CE-A49E-444553540000}”和“Shell.application”。为了确保万无一失,把这两个注册表项导出来,保存为 .reg 文件。
比如我们想做这样的更改
13709620-C279-11CE-A49E-444553540000 改名为 13709620-C279-11CE-A49E-444553540001
Shell.application 改名为 Shell.application_VPS
那么,就把刚才导出的.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_VPS.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_VPS”
[HKEY_CLASSES_ROOT\Shell.Application_VPS]
@=”Shell Automation Service”
[HKEY_CLASSES_ROOT\Shell.Application_VPS\CLSID]
@=”{13709620-C279-11CE-A49E-444553540001}”
[HKEY_CLASSES_ROOT\Shell.Application_VPS\CurVer]
@=”Shell.Application_VPS.1″
把这个保存为一个.reg文件运行。
关闭139、445端口
①控制面板-网络-本地链接-属性(这里勾选取消”网络文件和打印机共享”)-tcp/ip协议属性-高级-WINS-Netbios设置-禁用Netbios,即可关闭139端口.
②关闭445端口(注意修改注册表前一定要先备份一下注册表,备份方法。在 运行>regedit,选择 文件》导出 ,取个文件名,导出即可,如果修改注册表失败,可以找到导出的注册表文件双击运行即可。)
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\netBT\Parameters
新建 “DWORD值”值名为 “SMBDeviceEnabled” 数据为默认值“0”
防止列出用户组和系统进程
设置方法:【开始→程序→管理工具→服务】,找到Workstation,停止它,禁用它。
防止Serv-U权限提升
其实,注销了Shell组件之后,侵入者运行提升工具的可能性就很小了,但是prel等别的脚本语言也有shell能力,为防万一,还是设置一下为好。
用Ultraedit打开ServUDaemon.exe查找Ascii:LocalAdministrator,和#l@$ak#.lk;0@P,修改成等长度的其它字符就可以了,ServUAdmin.exe也一样处理。
另外注意设置Serv-U所在的文件夹的权限,不要让IIS匿名用户有读取的权限,否则人家下走你修改过的文件,照样可以分析出你的管理员名和密码。
利用ASP漏洞攻击的常见方法及防范
一般情况下,黑客总是瞄准论坛等程序,因为这些程序都有上传功能,他们很容易的就可以上传ASP木马,即使设置了权限,木马也可以控制当前站点的所有文件了。另外,有了木马就然后用木马上传提升工具来获得更高的权限,我们关闭shell组件的目的很大程度上就是为了防止攻击者运行提升工具,作为管理员,我们首先要检查我们的ASP程序,做好必要的设置,防止网站被黑客进入。