首页 > 服务&支持 > 技术大讲堂

 
网站WEB服务器安全设置文档 2010-04-13

1,    一台好的服务器到手后首先是给系统打全所有的补丁,推荐使用360safe漏洞修复,下载速度快,自动安装,自动屏蔽微软的黑屏补丁。这里是我从360安全卫士中剥离出来的绿色版()。
2,    网站设置:新建一个webusers用户组,为每一个网站建立独立用户,设置属于webusers组,选择“用户不能更改密码”和“密码永不过期”两个选项。

IIS中网站目录设置:
(一)在IIS网站根目录“属性”中:“主目录”-“配置”-“选项”-选择“启动父目录”
(二)在IIS网站根目录“属性”中:“主目录”-“配置”-“映射”-只保留需要的asp或者php等映射,其余的全部删除
(三)在IIS网站根目录“属性”中:“网站”-“高级“-“添加”-“主机头值“中输入网站域名 
(四)在IIS网站根目录“属性”中:“文档”-添加index.html,default.asp 
(五)在IIS网站数据库目录“属性”中:“主目录”-对本地路径的目录全不选择,执行权限设置为“无”,数据库目录在这里可以设置一个花招那就是建立虚拟目录,这样可以避免数据库文件的泄露。比如我的网站的数据库相对路径为../test/test.asp,那么我可以在与wwwroot同一目录下建立一个目录xunidata,同时把数据库文件放在此文件夹中,建立虚拟目录test指向xunidata目录,给予xunidata目录的网站匿名用户读取和写入的权限,同时去掉上级目录的此匿名用户权限,这样的话除非能够猜到xunidata目录名,不然即使中了网马找到数据库也要费一番功夫。

(六)在IIS网站上传目录“属性”中:“主目录”-对本地路径的目录只选择“读取”,执行权限设置为“无”
(七)在IIS网站根目录“属性”中:“主目录”-对本地路径的目录只选择“读取”,执行权限设置为“纯脚本”  
(八)在IIS网站根目录“属性”中:“目录安全性”-“身份验证与访问控制”-“启用匿名访问”,查找选择相应的用户,输入先前建立用户时设定的密码。

3,文件系统中网站目录安全设置: 
网站根目录:在“安全”中添加相应独立用户,只给予“读取”权限

上传目录:可读取,可写入
数据库目录:可读取,可写入

4,文件系统目录安全设置:
除给系统所在分区设置为不继承父权限外,其它分区都设置为继承父权限,并只赋予Administrators和System完全控制权。
(一)C:\Documents and Settings
C:\program files 
以上目录只给予Administrators和System完全控制权。

(二)C:\windows
C:\WINDOWS\temp
C:\WINDOWS\system32\inetsrv
这些目录默认安全属性,temp目录需要写入权限,否则用到access的网站可能运行不了。
(三)C:\WINDOWS\system32\config 
C:\WINDOWS\system32\LogFiles
C:\WINDOWS\system32\dllcache 
C:\WINDOWS\system32\drivers
去掉这些目录users组的权限
(四)C:\WINDOWS\ServicePackFiles
删除此目录
 
5,    特殊文件安全属性
(一)C:\WINDOWS\regedit.exe
C:\WINDOWS\system32\net.exe
C:\WINDOWS\system32\net1.exe
C:\WINDOWS\system32\cmd.exe
C:\WINDOWS\system32\tftp.exe
C:\WINDOWS\system32\ftp.exe
C:\WINDOWS\system32\netstat.exe
C:\WINDOWS\system32\at.exe
C:\WINDOWS\system32\attrib.exe
C:\WINDOWS\system32\cacls.exe
C:\WINDOWS\system32\format.com
C:\WINDOWS\system32\wscript.exe
C:\WINDOWS\system32\shell.dll
C:\WINDOWS\system32\wshext.dll
C:\WINDOWS\system32\shell32.dll(Shell.Application)
C:\WINDOWS\system32\wshom.ocx(WScript.Shell, WScript.Network)
只给以上文件Administrator完全控制权,更彻底的是全部备份并替换成假文件。
(二)C:\WINDOWS\explorer.exe
去掉此文件的users组的权限,这样即使被添加用户但没有被加入administrators组的话,登陆后无权访问Explorer.exe马上注销。
(三)C:\WINDOWS\system32\inetsrv\metabase.xml(IIS配置文件)
只给Administrators和System完全控制权
6,修改文件
(一)C:\WINDOWS\system32\ login.cmd:
在末尾添加
echo This is my home, you are not welcome! Bye.
Exit 
(二)C:\WINDOWS\system32\inetsrv\metabase.xml:
修改网站文件上传和下载限制 
ASPMaxRequestEntityAllowed(上传默认是200k即204800,建议20480000)
AspBufferingLimit(下载文件大小建议512000000)
7,服务设置
自动服务项

禁用服务项

8,组策略安全设置
(一)运行中输入“gpedit.msc“,计算机配置-windows设置-安全设置-本地策略-安全选项,
网络访问: 可匿名访问的共享:清空,COMCFG、DFS$
网络访问: 可匿名访问的命名管道:清空,COMNAP、COMNODE、SQL\QUERY、SPOOLSS、netlogon、lsarpc、samr、browser
网络访问: 可远程访问的注册表路径:清空
System\CurrentControlSet\Control\ProductOptions、System\CurrentControlSet\Control\Server Applications
Software\Microsoft\Windows NT\CurrentVersion
网络访问: 可远程访问的注册表路径和子路径:清空
System\CurrentControlSet\Control\Print\Printers
System\CurrentControlSet\Services\Eventlog
Software\Microsoft\OLAP Server
Software\Microsoft\Windows NT\CurrentVersion\Print
Software\Microsoft\Windows NT\CurrentVersion\Windows
System\CurrentControlSet\Control\ContentIndex
System\CurrentControlSet\Control\Terminal Server
System\CurrentControlSet\Control\Terminal Server\UserConfig
System\CurrentControlSet\Control\Terminal Server\DefaultUserConfiguration
Software\Microsoft\Windows NT\CurrentVersion\Perflib
System\CurrentControlSet\Services\SysmonLog
帐户: 重命名管理员帐户:重命名你的管理账号,建议用中文
帐户: 重命名来宾帐户:重命名一个中文名字,比如你丫找死啊,大爷地盘你快滚等


(二)计算机配置-windows设置-安全设置-本地策略-用户权限分配,
拒绝通过终端服务登录 加入 
ASPNET
Guests
IUSR_*****
IWAM_*****
NETWORK SERVICE
(****表示你的机器名,不要添加进user组和administrators组,否则将无法远程登陆)
(三)计算机配置-windows设置-安全设置-本地策略-策略审核
审核策略更改        成功 失败
审核登录事件        成功 失败
审核对象访问        失败
审核目录服务访问    失败
审核权限使用        失败
审核系统事件        成功 失败
审核帐户登录事件    成功 失败
审核帐户管理      成功 失败
(四)计算机配置-windows设置-安全设置-账户策略-账户锁定策略
帐户锁定阈值  3
帐户锁定时间  30
复位帐户锁定计数器   30
(五)计算机配置-管理模板-系统
关闭自动播放  已启用   所有驱动器
 
9,    操作系统自带组件安全设置
当网站不需要使用一些组件时,可以删除系统自带的一些ASP组件,比如WSH和Shell就是比较危险的2个组件,FSO请慎重选择是否删除。 
(一)    如果想让这2个组件失效,可以在注册表中删除或者修改以下项及相关classid值
WScript.Shell
WScript.Shell.1
WScript.Network
WScript. Network.1
Shell.application
Shell.application.1
在注册表中搜索“Shell.application”,所有的值就会出现在下面3个键值下
HKEY_CLASSES_ROOT\Shell.Application
HKEY_CLASSES_ROOT\Shell.Application.1
HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540000}
(二)    如果想来个彻底,那就可以卸载删除组件对象,可以建立一个a.bat文件
regsvr32 /u %windir%\system32\wshom.ocx
regsvr32 /u %windir%\system32\shell32.dll
regsvr32 /u %windir%\system32\scrrun.dll
运行之, 重启,建一个b.bat
del %windir%\system32\shell32.dll
del %windir%\system32\wshom.ocx
del %windir%\system32\ scrrun.dll
运行之,即可彻底卸载删除WScript.Shell, WScript.Network,Shell.application和File System Object组件。
10,  Urlscan设置
对于非法字符的过滤,限制下载文件格式等,可以架设urlscan来增强IIS的安全性,详情可以参考我的这篇博文 

11,Ftp设置
对于Serv-U 6.4.0.6FTP服务器,
第一,首先肯定是给软件加上强壮的密码。
第二,为防止被嗅探建议使用SSL加密协议来传输

第三,给重要的网站ftp加上IP过滤

别忘了,一定给你自己登陆的IP开启允许。
12,  端口设置 
一般的端口限制是通过windows自带的防火墙和TCP/IP筛选来进行端口的设置,但是考虑到服务器一般还是需要一个防火墙来防护,那么这些完全可以在防火墙中来完成,这里推荐国产的风云防火墙,兼有自定义规则和主防功能的风云是一款不可多得免费产品。
开启80,3389,21或者990等端口

通行和限制一般应用程序

打开局域网ARP防护,防止嗅探

启动防火墙密码

13,监控设置
监控程序当然是具有文件监控,注册表监控,程序监控和网络监控的最好了,如果具有了网络监控那么防火墙也可以撤了。具备前3项监控的免费HIPS软件我推荐国产的非常优秀的EQ。安装好Eqsecure2008后可以去官方论坛下载一个服务器用的规则,然后结合自己的服务器情况,和网站的各个目录相结合,给予数据库和上传目录写入和修改的权限,其它目录限制一切权限。当然记得给EQ设置密码。  
 
对于远程登陆管理的用户,风云防火墙和魔法盾存在这样一个严重的问题,那就是当你远程登陆操作完后会注销退出,这时候风云和EQ也会随之退出,那么你的电脑将得不到保护。解决这个问题的办法很简单,就是使风云的主程序以系统服务方式运行,这样注销后就可以继续保护服务器了。
第一个方法:使用Instsrv.exe和Srvany.exe来添加程序为系统服务,详情可以参考这篇文章,
第二个办法:使用刘湘源写的XYNTService.exe,这个程序可以非常简单的让你把程序加入到系统服务中。设置和下载可以看看下面2篇文章


大致流程是:安装风云,设置好防御规则,设置软件管理密码,去掉程序自启动,把XYNTService.exe的配置文件设置好,安装风云为服务,重启系统风云就在后台工作了,想停止风云就把它的服务改为手动,重启系统,风云就可以运行在前台了;安装EQ,设置好规则,设置管理密码,去掉程序的自启动,安装好XYNTService.exe,手动启动服务,EQ就在后台静静的工作了。如果在前台启动了EQ,注销前需要手动启动EQ服务,不然注销时EQ服务就自动停止了。
 
 
参考文献:


 

 
感谢熙雅发现文章中的错误:
(三)计算机配置-windows设置-安全设置-本地策略-用户权限分配
应当为 
(三)计算机配置-windows设置-安全设置-本地策略-策略审核
如果因为这个错误有困扰您的地方,请多担待!



关于我们   客服中心   合作伙伴   加入我们   客户案例   联系我们     网站地图
版权所有 © 丽水捷点信息技术有限公司   互联网经营许可证:浙ICP备11026201号-1