服务器安全设置

1.系统盘和站点放置盘必须设置为NTFS格式,方便设置权限.

2.系统盘和站点放置盘除administrators 和system的用户权限全部去除.

clip_p_w_picpath002[6]

3.启用windows自带防火墙,只保留有用的端口,比如远程和Web,Ftp(3389,80,21)等等,有邮件服务器的还要打开25和130端口.
clip_p_w_picpath004[6]

clip_p_w_picpath006[6]
clip_p_w_picpath008[6]

4.安装好SQL后进入目录搜索 xplog70 然后将找到的三个文件改名或者删除.
clip_p_w_picpath010[6]

5.更改sa密码为你都不知道的超长密码,在任何情况下都不要用sa这个帐户.

clip_p_w_picpath012[6]

6.改名系统默认帐户名并新建一个Administrator帐户作为陷阱帐户,设置超长密码,并去掉所有用户组.(就是在用户组那里设置为空即可.让这个帐号不属于任何用户组)同样改名禁用掉Guest用户.
clip_p_w_picpath014[6]

7.配置帐户锁定策略(在运行中输入gpedit.msc回车,打开组策略编辑器,选择计算机配置-Windows设置-安全设置-账户策略-账户锁定策略,将账户设为“三次登陆无效”,“锁定时间30分钟”,“复位锁定计数设为30分钟”。)
clip_p_w_picpath016[6]

8.在安全设置里 本地策略-安全选项 将
网络访问:可匿名访问的共享 ;
网络访问:可匿名访问的命名管道 ;
网络访问:可远程访问的注册表路径 ;
网络访问:可远程访问的注册表路径和子路径 ;
以上四项清空.

clip_p_w_picpath018[6]

9.在安全设置里 本地策略-用户权限分配通过终端服务拒绝登陆 加入
ASPNET
Guest
IUSR_*****
IWAM_*****
NETWORK SERVICE
SQLDebugger
(****表示你的机器名,注意不要添加进user组和administrators组 添加后,无法远程登陆了.)

clip_p_w_picpath020[6]

10.去掉默认共享,将以下文件存为reg后缀,然后执行导入即可.
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters]

"AutoShareServer"=dword:00000000

"AutoSharewks"=dword:00000000

clip_p_w_picpath022[6]

11.更改本地安全策略的审核策略

策略更改 成功 失败

登录事件 成功 失败

对象访问 失败

特权使用 失败

系统事件 成功 失败

目录服务访问 失败

账户登录事件 成功 失败

账户管理 成功 失败

12. 禁用不需要的和危险的服务,以下列出服务都需要禁用.
Alerter 发送管理警报和通知

Computer Browser:维护网络计算机更新

Distributed File System: 局域网管理共享文件

Distributed link tracking client 用于局域网更新连接信息

Error reporting service 发送错误报告

Remote Procedure Call (RPC) Locator RpcNs*远程过程调用 (RPC)

Remote Registry 远程修改注册表

Removable storage 管理可移动媒体、驱动程序和库

Remote Desktop Help Session Manager 远程协助

Routing and Remote Access 在局域网以及广域网环境中为企业提供路由服务

Messenger 消息文件传输服务
Net Logon 域控制器通道管理

NT LM Security support provide telnet服务和Microsoft Serch用的

Print Spooler 打印服务

telnet telnet服务

Workstation 泄漏系统用户名列表

13.更改有可能会被提权利用的文件运行权限,找到以下文件,将其安全设置里除administrators用户组全部删除,重要的是连system也不要留.
net.exe

net1.exe

cmd.exe

tftp.exe

netstat.exe

regedit.exe

at.exe

attrib.exe

cacls.exe

format.com

c.exe 特殊文件 有可能在你的计算机上找不到此文件.

在搜索框里输入
"net.exe","net1.exe","cmd.exe","tftp.exe","netstat.exe","regedit.exe","at.exe","attrib.exe","cacls.exe","format.com","c.exe" 点击搜索 然后全选 右键 属性 安全

clip_p_w_picpath024[6]

以上这点是最最重要的一点了,也是最最方便减少被提权和被破坏的可能的防御方法了.

14.后备工作,将当前服务器的进程抓图或记录下来,将其保存,方便以后对照查看是否有不明的程序。将当前开放的端口抓图或记录下来,保存,方便以后对照查看是否开放了不明的端口。当然如果你能分辨每一个进程,和端口这一步可以省略。

> SQL权限设置

1、一个数据库,一个帐号和密码,比如建立了一个数据库,只给PUBLIC和DB_OWNER权限,SA帐号基本是不使用的,因为SA实在是太危险了.

2、更改 sa 密码为你都不知道的超长密码,在任何情况下都不要用 sa 这个帐户.

3、Web登录时经常出现"[超时,请重试]"的问题

如果安装了 SQL Server 时,一定要启用“服务器网络实用工具”中的“多协议”项。

4、将有安全问题的SQL扩展存储过程删除. 将以下代码全部复制到"SQL查询分析器"

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

恢复的命令是

EXEC sp_addextendedproc 存储过程的名称,@dllname =存储过程的dll,例如:恢复存储过程xp_cmdshell

EXEC sp_addextendedproc xp_cmdshell,@dllname =xplog70.dll,注意,恢复时如果xplog70.dll已删除需要copy一个。

use master

exec sp_addextendedproc xp_cmdshell,'xp_cmdshell.dll'

exec sp_addextendedproc xp_dirtree,'xpstar.dll'

exec sp_addextendedproc xp_enumgroups,'xplog70.dll'

exec sp_addextendedproc xp_fixeddrives,'xpstar.dll'

exec sp_addextendedproc xp_loginconfig,'xplog70.dll'

exec sp_addextendedproc xp_enumerrorlogs,'xpstar.dll'

exec sp_addextendedproc xp_getfiledetails,'xpstar.dll'

exec sp_addextendedproc sp_OACreate,'odsole70.dll'

exec sp_addextendedproc sp_OADestroy,'odsole70.dll'

exec sp_addextendedproc sp_OAGetErrorInfo,'odsole70.dll'

exec sp_addextendedproc sp_OAGetProperty,'odsole70.dll'

exec sp_addextendedproc sp_OAMethod,'odsole70.dll'

exec sp_addextendedproc sp_OASetProperty,'odsole70.dll'

exec sp_addextendedproc sp_OAStop,'odsole70.dll'

exec sp_addextendedproc xp_regaddmultistring,'xpstar.dll'

exec sp_addextendedproc xp_regdeletekey,'xpstar.dll'

exec sp_addextendedproc xp_regdelete,'xpstar.dll'

exec sp_addextendedproc xp_regenums,'xpstar.dll'

exec sp_addextendedproc xp_regread,'xpstar.dll'

exec sp_addextendedproc xp_regremovemultistring,'xpstar.dll'

exec sp_addextendedproc xp_regwrite,'xpstar.dll'

>> 卸载删除具有CMD命令功能的危险组件

WSHOM.OCX对应于WScript.Shell组件

HKEY_CLASSES_ROOT\WScript.Shell\

HKEY_CLASSES_ROOT\WScript.Shell.1\

添加IUSR用户完全拒绝权限

Shell32.dll对应于Shell.Application组件

HKEY_CLASSES_ROOT\Shell.Application\

HKEY_CLASSES_ROOT\Shell.Application.1\

添加IUSR用户完全拒绝权限

regsvr32 /u C:\Windows\System32\wshom.ocx

regsvr32 /u C:\Windows\System32\shell32.dll

WSHOM.OCXx和Shell32.dll这两个文件只给Administrator完全权限

一、先关闭不需要的端口

我比较小心,先关了端口。只开了3389、21、80、1433,有些人一直说什么默认的3389不安全,对此我不否认,但是利用的途径也只能一个一个的穷举爆破,你把帐号改了密码设置为十五六位,我估计他要破上好几年,哈哈!办法:本地连接--属性--Internet协议(TCP/IP)--高级--选项--TCP/IP筛选--属性--把勾打上,然后添加你需要的端口即可。PS一句:设置完端口需要重新启动!

clip_p_w_picpath026[6]

clip_p_w_picpath027[6]

当然大家也可以更改远程连接端口方法:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE \ SYSTEM\ Current ControlSet \ Control \ Terminal Server\WinStations\RDP-Tcp]
"PortNumber"=dword:00002683

clip_p_w_picpath029[6]

保存为.REG文件双击即可!更改为9859,当然大家也可以换别的端口,直接打开以上注册表的地址,把值改为十进制的输入你想要的端口即可!重启生效!

还有一点,在2003系统里,用TCP/IP筛选里的端口过滤功能,使用FTP服务器的时候,只开放21端口,在进行FTP传输的时候,FTP 特有的Port模式和Passive模式,在进行数据传输的时候,需要动态的打开高端口,所以在使用TCP/IP过滤的情况下,经常会出现连接上后无法列出目录和数据传输的问题。所以在2003系统上增加的Windows连接防火墙能很好的解决这个问题,不推荐使用网卡的TCP/IP过滤功能。

clip_p_w_picpath030[6]

做FTP下载的用户看仔细,如果要关闭不必要的端口,在\system32\drivers\etc\services中有列表,记事本就可以打开的。如果懒的话,最简单的方法是启用WIN2003的自身带的网络防火墙,并进行端口的改变。功能还可以!

Internet 连接防火墙可以有效地拦截对Windows 2003服务器的非法***,防止非法远程主机对服务器的扫描,提高Windows 2003服务器的安全性。同时,也可以有效拦截利用操作系统漏洞进行端口***的病毒,如冲击波等蠕虫病毒。如果在用Windows 2003构造的虚拟路由器上启用此防火墙功能,能够对整个内部网络起到很好的保护作用。

ASP***Webshell的安全防范解决办法

--------------------------------------------------------------------------------

注意:本文所讲述之设置方法与环境:适用于Microsoft Windows 2000 Server/Win2003 SERVER IIS5.0/IIS6.0

1、首先我们来看看一般ASP***、Webshell所利用的ASP组件有那些?我们以海洋***为列:

shellStr="Shell"

applicationStr="Application"

if cmdPath="wscriptShell"

set sa=server.createObject(shellStr&"."&applicationStr)

set streamT=server.createObject("adodb.stream")

set domainObject = GetObject("WinNT://.")

以上是海洋中的相关代码,从上面的代码我们不难看出一般ASP***、Webshell主要利用了以下几类ASP组件:

① WScript.Shell (classid:72C24DD5-D70A-438B-8A42-98424B88AFB8)

② WScript.Shell.1 (classid:F935DC22-1CF0-11D0-ADB9-00C04FD58A0B)

③ WScript.Network (classid:093FF999-1EA0-4079-9525-9614C3504B74)

④ WScript.Network.1 (classid:093FF999-1EA0-4079-9525-9614C3504B74)

⑤ FileSystem Object (classid:0D43FE01-F093-11CF-8940-00A0C9054228)

⑥ Adodb.stream (classid:{00000566-0000-0010-8000-00AA006D2EA4})

⑦ Shell.applicaiton....

hehe,这下我们清楚了危害我们WEB SERVER IIS的最罪魁祸首是谁了!!开始操刀,come on...

2:解决办法:

① 删除或更名以下危险的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

④ 关于Webshell中利用set domainObject = GetObject("WinNT://.")来获取服务器的进程、服务以及用户等信息的防范,大家可以将服务中的Workstation[提供网络链结和通讯]即Lanmanworkstation服务停止并禁用即可。此处理后,Webshell显示进程处将为空白。

3 按照上1、2方法对ASP类危险组件进行处理后,用阿江的asp探针测试了一下,“服务器CPU详情”和“服务器操作系统”根本查不到,内容为空白的。再用海洋测试Wsript.Shell来运行cmd命令也是提示Active无法创建对像。大家就都可以再也不要为ASP***危害到服务器系统的安全而担扰了