Hi!请登陆

服务器的安全配置技巧总结

2020-10-27 49 10/27

下面我就结合自己的经验和教训总结一下服务器安全设置的一些技巧和方法.

一、操作系统的安装

我这里说的操作系统以Windows 2000为例,高版本的Windows也有类似功能.
格式化硬盘时候,必须格式化为NTFS的,绝对不要使用FAT32类型.
C盘为操作系统盘,D盘放常用软件,E盘网站,格式化完成后立刻设置磁盘权限,C盘默认,D盘的安全设置为Administrator和System完全控制,其他用户删除,E盘放网站,如果只有一个网站,就设置Administrator和System完全控制,Everyone读取,如果网站上某段代码必须完成写操作,这时再单独对那个文件所在的文件夹权限进行更改.  
还有:

net.exe #NET命令
cmd.exe #CMD 懂电脑的都知道咯~
tftp.exe
netstat.exe
regedit.exe #注册表啦大家都知道
at.exe
attrib.exe
cacls.exe #ACL用户组权限设置,此命令可以在NTFS下设置任何文件夹的任何权限!偶入侵的时候没少用这个....(:
format.exe #不说了,大家都知道是做嘛的

大家都知道ASP木马吧,有个CMD运行这个的,这些如果都可以在CMD下运行,估计别的没啥,format下估计就哭了(:这些文件都设置只允许administrator访问.)
系统安装过程中一定本着最小服务原则,无用的服务一概不选择,达到系统的最小安装,在安装IIS的过程中,只安装最基本必要的功能,那些不必要的危险服务千万不要安装,例如:FrontPage 2000服务器扩展,Internet服务管理器(HTML),FTP服务,文档,索引服务等等.

二、网络安全配置

网络安全最基本的是端口设置,在"本地连接属性",点"Internet协议(TCP/IP)",点"高级",再点"选项"-"TCP/IP筛选".仅打开网站服务所需要使用的端口,配置界面如下图.
进行如下设置后,从你的服务器将不能使用域名解析,因此上网,但是外部的访问是正常的.这个设置主要为了防止一般规模的DDOS攻击.

三、安全模板设置

运行MMC,添加独立管理单元"安全配置与分析",导入模板basicsv.inf或者securedc.inf,然后点"立刻配置计算机",系统就会自动配置"帐户策略"、"本地策略"、"系统服务"等信息,一步到位,不过这些配置可能会导致某些软件无法运行或者运行出错.
四、WEB服务器的设置
以IIS为例,绝对不要使用IIS默认安装的WEB目录,而需要在E盘新建立一个目录.然后在IIS管理器中右击主机->属性->WWW服务 编辑->主目录配置->应用程序映射,只保留asp和asa,其余全部删除.

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站点→属性-网站-在启用日志记录下点击属性
6.如果使用的是2000可以使用iislockdown来保护IIS,在2003运行的IE6.0的版本不需要.

五、ASP的安全

在IIS系统上,大部分木马都是ASP写的,因此,ASP组件的安全是非常重要的.
ASP木马实际上大部分通过调用Shell.Application、WScript.Shell、WScript.Network、FSO、Adodb.Stream组件来实现其功能,除了FSO之外,其他的大多可以直接禁用.
WScript.Shell组件使用这个命令删除:

regsvr32 WSHom.ocx /u

WScript.Network组件使用这个命令删除:

regsvr32 wshom.ocx /u

Shell.Application可以使用禁止Guest用户使用shell32.dll来防止调用此组件.使用命令:

cacls C:\WINNT\system32\shell32.dll /e /d guests

禁止guests用户执行cmd.exe的命令是:

cacls C:\WINNT\system32\Cmd.exe /e /d guests

FSO组件的禁用比较麻烦,如果网站本身不需要用这个组件,那么就通过:

RegSrv32 scrrun.dll /u

命令来禁用吧.
或者
第一种:用:

RegSrv32 /u C:\WINDOWS\SYSTEM\scrrun.dll

来注销该组件.此方法过于狠毒,属于同归于尽的方法,大家都没得用,是下招.
第二种:修改Progid的值,在ASP里调用组件的方式通常是:

Set 对象名=Server. CreateObject("Progid")

这时候我们就可以通过修改注册表中的Progid值从达到禁用该组件的方法.在 开始-运行中敲入regedit,然后找到HKEY_CLASSES_ROO T\Scripting.FileSystemObject,这时候我们就可以更改该Progid的值了,如改成Scripting.FileSystemObject8.这样在ASP页里就这样调用了:

<%@ Language=Vbscript%>
<%
Set Fs=Server.CreateObject("Scripting.FileSystemObject8")
%>

(如果你前面没有调用过该组件的话,则无须重启,就可以看到效果了,否则请重启后看效果.)
这时候我们看看还是用原来的调用方法的结果:

<%@ Language=Vbscript%>
<%
Set Fs=Server.CreateObject("Scripting.FileSystemObject")
%>

这时候的运行结果为:

服务器对象 错误 'ASP 0177 : 800401f3'
Server.CreateObject 失败
/aspimage/testfile2.asp, 行3
800401f3

(OK,达到我们的要求)
该方法由于本人迟了两步,结果就让别人抢着回答了,这样极大的刺激了我,结果就产生了第三种方法.
第三种:细心的高手们会想,既然能通过修改Progid值来禁用该组件,那Clsid是否也可以来修改呢?(OK,你想得和我一样)我们知道,除了CreateObject方法以外,也可以使用一般的<object>标注建立一个组件,我们可以在ASP里面使用HTM L的<object>标注,以便在网页中加入一个组件.方法是:

<object runat=server id=fs1 scope=page progid="Scripting.FileSystemObject"></object>

Runat表示是在服务端执行,Scope表示组件的生命周期,可以选用Session,Appl ication或page(表示当前页面,也可缺省)
这种写法对我们没用,还有一种写法是:

<object runat=server id=fs1 scope=page classid="clsid:clsid的值"></object>

我们也可以通过修改该Clsid的值而禁用该组件,如将注册表中HKEY_CLASSES_RO OT\Scripting.FileSystemObject\CLSID的值0D43FE01-F093-11CF-8940-00A0C90 54228改成0D43FE01-F093-11CF-8940-00A0C9054229(改了最后面一位),这时候的写法为:

<object runat=server id=fs1 scope=page classid="clsid:0D43FE01-F093-11CF-8940-00A0C9054229"></object>

看运行结果,没问题,OK.这时候我们再用

<object runat=server id=fs1 scope=page classid="clsid:0D43FE01-F093-11CF-8940-00A0C9054228"></object>

这时候就出错了.(
另外,使用微软提供的URLScan Tool这个过滤非法URL访问的工具,也可以起到一定防范作用.当然,每天备份也是一个好习惯.

八、其它

1.系统升级、打操作系统补丁,尤其是IIS 6.0补丁、SQL SP3a补丁,甚至IE 6.0补丁也要打.同时及时跟踪最新漏洞补丁;
2.停掉Guest 帐号、并给guest 加一个异常复杂的密码,把Administrator改名或伪装!
3.隐藏重要文件/目录
可以修改注册表实现完全隐藏:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ Current-Version\Explorer\Advanced\Folder\Hi-dden\SHOWALL,鼠标右击 "CheckedValue",选择修改,把数值由1改为0.
4.启动系统自带的Internet连接防火墙,在设置服务选项中勾选Web服务器.
5.防止SYN洪水攻击.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
#新建DWORD值,名为SynAttackProtect,值为2

6.禁止响应ICMP路由通告报文

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet\ Services\Tcpip\Parameters\Interfaces\interface
#新建DWORD值,名为PerformRouterDiscovery 值为0.

7.防止ICMP重定向报文的攻击

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
#将EnableICMPRedirects 值设为0

8.不支持IGMP协议

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
#新建DWORD值,名为IGMPLevel 值为0.

9.禁用DCOM:
运行中输入Dcomcnfg.exe.回车,单击"控制台根节点"下的"组件服务".打开"计算机"子文件夹.

Tag:

相关推荐