WEB 服务器软件配置和安全配置方案
一、系统的安装
1、按照Windows2003安装光盘的提示安装,默认情况下2003没有把IIS6.0安装在系统里面。
2、IIS6.0的安装
开始菜单—>控制面板—>添加或删除程序—>添加/删除Windows组件
应用程序 ———ASP.NET(可选)
|——启用网络 COM+ 访问(必选)
|——Internet 信息服务(IIS)———Internet 信息服务管理器(必选)
|——公用文件(必选)
|——万维网服务———Active Server pages(必选)
|——Internet 数据连接器(可选)
|——WebDAV 发布(可选)
|——万维网服务(必选)
|——在服务器端的包含文件(可选)
然后点击确定—>下一步安装。
3、系统补丁的更新
点击开始菜单—>所有程序—>Windows Update
按照提示进行补丁的安装。
4、备份系统
用GHOST备份系统。
5、安装常用的软件
例如:杀毒软件、解压缩软件等;安装之后用GHOST再次备份系统。
二、系统权限的设置
1、磁盘权限
系统盘及所有磁盘只给 Administrators 组和 SYSTEM 的完全控制权限
系统盘\Documents and Settings 目录只给 Administrators 组和 SYSTEM 的完全控制权限
系统盘\Documents and Settings\All Users 目录只给 Administrators 组和 SYSTEM 的完全控制权限
系统盘\Inetpub 目录及下面所有目录、文件只给 Administrators 组和 SYSTEM 的完全控制权限
系统盘\Windows\System32\cacls.exe、cmd.exe、net.exe、net1.exe 文件只给 Administrators 组和 SYSTEM 的完全控制权限
2、本地安全策略设置
开始菜单—>管理工具—>本地安全策略
A、本地策略——>审核策略
审核策略更改 成功 失败
审核登录事件 成功 失败
审核对象访问 失败
审核过程跟踪 无审核
审核目录服务访问 失败
审核特权使用 失败
审核系统事件 成功 失败
审核账户登录事件 成功 失败
审核账户管理 成功 失败
B、本地策略——>用户权限分配
关闭系统:只有Administrators组、其它全部删除。
通过终端服务拒绝登陆:加入Guests、User组
通过终端服务允许登陆:只加入Administrators组,其他全部删除
C、本地策略——>安全选项
交互式登陆:不显示上次的用户名 启用
网络访问:不允许SAM帐户和共享的匿名枚举 启用
网络访问:不允许为网络身份验证储存凭证 启用
网络访问:可匿名访问的共享 全部删除
网络访问:可匿名访问的命 全部删除
网络访问:可远程访问的注册表路径 全部删除
网络访问:可远程访问的注册表路径和子路径 全部删除
帐户:重命名来宾帐户 重命名一个帐户
帐户:重命名系统管理员帐户 重命名一个帐户
3、禁用不必要的服务
开始菜单—>管理工具—>服务
Print Spooler
Remote Registry
TCP/IP NetBIOS Helper
Server
以上是在Windows Server 2003 系统上面默认启动的服务中禁用的,默认禁用的服务如没特别需要的话不要启动。
4、启用防火墙
桌面—>网上邻居—>(右键)属性—>本地连接—>(右键)属性—>高级—>(选中)Internet 连接防火墙—>设置
把服务器上面要用到的服务端口选中
例如:一台WEB服务器,要提供WEB(80)、FTP(21)服务及远程桌面管理(3389)
在“FTP 服务器”、“WEB服务器(HTTP)”、“远程桌面”前面打上对号
如果你要提供服务的端口不在里面,你也可以点击“添加”铵钮来添加,具体参数可以参照系统里面原有的参数。
然后点击确定。注意:如果是远程管理这台服务器,请先确定远程管理的端口是否选中或添加。
三、 Windows 2003安全配置
■. 确保所有磁盘分区为NTFS分区
■. 操作系统、Web主目录、日志分别安装在不同的分区
■. 不要安装不需要的协议,比如IPX/SPX, NetBIOS?
■. 不要安装其它任何操作系统
■. 安装所有补丁(用瑞星安全漏洞扫描下载)
■. 关闭所有不需要的服务
* Alerter (disable)
* ClipBook Server (disable)
* Computer Browser (disable)
* DHCP Client (disable)
* Directory Replicator (disable)
* FTP publishing service (disable)
* License Logging Service (disable)
* Messenger (disable)
* Netlogon (disable)
* Network DDE (disable)
* Network DDE DSDM (disable)
* Network Monitor (disable)
* Plug and Play (disable after all hardware configuration)
* Remote Access Server (disable)
* Remote Procedure Call (RPC) locater (disable)
* Schedule (disable)
* Server (disable)
* Simple Services (disable)
* Spooler (disable)
* TCP/IP Netbios Helper (disable)
* Telephone Service (disable)
■. 账号和密码策略
1) 保证禁止guest账号
2) 将administrator改名为比较难猜的账号
3) 密码唯一性:记录上次的 6 个密码
4) 最短密码期限:2
5) 密码最长期限:42
6) 最短密码长度:8
7) 密码复杂化(passfilt.dll):启用
8) 用户必须登录方能更改密码:启用
9) 账号失败登录锁定的时限:6
10)锁定后重新启用的时间间隔:720分钟
■.保护文件和目录
将C:\winnt, C:\winnt\config, C:\winnt\system32, C:\winnt\system等目录的访问权限做限制,限制everyone的写权限,限制users组的读写权限
■.注册表一些条目的修改
1) 去除logon对话框中的shutdown按钮
将HKEY_LOCAL_MACHINE\SOFTWARE
\Microsoft\Windows NT\Current Version\Winlogon\中
ShutdownWithoutLogon REG_SZ 值设为0
2) 去除logon信息的cashing功能
将HKEY_LOCAL_MACHINE\SOFTWARE
\Microsoft\Windows NT\Current Version\Winlogon\中
CachedLogonsCount REG_SZ 值设为0
4)限制LSA匿名访问
将HKEY_LOCAL_MACHINE\SYSTEM
\CurrentControlSet\Control\LSA中
RestriCanonymous REG_DWORD 值设为1
5) 去除所有网络共享
将HKEY_LOCAL_MACHINE\SYSTEM
\CurrentControlSet\Services\LanManServer\Parameters\中
AutoShareServer REG_DWORD 值设为0
四、IIS的安全配置
■. 关闭并删除默认站点:
默认FTP站点
默认Web站点
管理Web站点
■. 建立自己的站点,与系统不在一个分区,如
D:\wwwroot3. 建立 E:\Logfiles 目录,以后建立站点时的日志文件均位于此目录,确保此目录上的访问控制权限是: Administrators(完全控制)System(完全控制)
■. 删除IIS的部分目录:
IISHelp C:\winnt\help\iishelp
IISAdmin C:\system32\inetsrv\iisadmin
MSADC C:\Program Files\Common Files\System\msadc\
删除 C:\\inetpub
■. 删除不必要的IIS映射和扩展:
IIS 被预先配置为支持常用的文件名扩展如 .asp 和 .shtm 文件。IIS 接收到这些类型的文件请求时,该调用由 DLL 处理。如果您不使用其中的某些扩展或功能,则应删除该
映射,步骤如下:
选择计算机名,点鼠标右键,选择属性:
然后选择编辑
然后选择主目录, 点击配置
选择扩展名 \.htw\,\.htr\,\.idc\,\.ida\,\.idq\和\.printer\,点击删除
如果不使用server side include,则删除\.shtm\ \.stm\ 和 \.shtml\
■. 禁用父路径 :
“父路径”选项允许您在对诸如 MapPath 函数调用中使用“..”。在默认情况下,该选项
处于启用状态,应该禁用它。
禁用该选项的步骤如下:
右键单击该 Web 站点的根,然后从上下文菜单中选择“属性”。
单击“主目录”选项卡。
单击“配置”。
单击“应用程序选项”选项卡。
取消选择“启用父路径”复选框。
■. 在虚拟目录上设置访问控制权限
主页使用的文件按照文件类型应使用不同的访问控制列表:
CGI (.exe, .dll, .cmd, .pl)
Everyone (X)
Administrators(完全控制)
System(完全控制)
脚本文件 (.asp)
Everyone (X)
Administrators(完全控制)
System(完全控制)
include 文件 (.inc, .shtm, .shtml)
Everyone (X)
Administrators(完全控制)
System(完全控制)
静态内容 (.txt, .gif, .jpg, .html)
Everyone (R)
Administrators(完全控制)
System(完全控制)
在创建Web站点时,没有必要在每个文件上设置访问控制权限,应该为每个文件类型创建一个新目录,然后在每个目录上设置访问控制权限、允许访问控制权限传给各个文件。
例如,目录结构可为以下形式:
D:\wwwroot\myserver\static (.html)
D:\wwwroot\myserver\include (.inc)
D:\wwwroot\myserver \script (.asp)
D:\wwwroot\myserver \executable (.dll)
D:\wwwroot\myserver\images (.gif, .jpeg)
■. 启用日志记录
确定服务器是否被攻击时,日志记录是极其重要的。
应使用 W3C 扩展日志记录格式,步骤如下:
打开 Internet 服务管理器:
右键单击站点,然后从上下文菜单中选择“属性”。
单击“Web 站点”选项卡。
选中“启用日志记录”复选框。
从“活动日志格式”下拉列表中选择“W3C 扩展日志文件格式”。
单击“属性”。
单击“扩展属性”选项卡,然后设置以下属性:
* 客户 IP 地址
* 用户名
* 方法
* URI 资源
* HTTP 状态
* Win32 状态
* 用户代理
* 服务器 IP 地址
* 服务器端口
五、删除Windows Server 2003默认共享 和禁用IPC连接
IPC$(Internet Process Connection)是共享“命名管道”的资源,它是为了让进程间通信而开放的命名管道,通过提供可信任的用户名和口令,连接双方计算机即可以建立安全的通道并以此通道进行加密数据的交换,从而实现对远程计算机的访问。它是Windows NT/2000/XP/2003特有的功能,但它有一个特点,即在同一时间内,两个IP之间只允许建立一个连接。NT/2000/XP/2003在提供了ipc$功能的同时,在初次安装系统时还打开了默认共享,即所有的逻辑共享(c$,d$,e$……)和系统目录winnt或windows(admin$)共享。所有的这些,微软的初衷都是为了方便管理员的管理,但也为简称为IPC入侵者有意或无意的提供了方便条件,导致了系统安全性能的降低。在建立IPC的连接中不需要任何黑客工具,在命令行里键入相应的命令就可以了,不过有个前提条件,那就是你需要知道远程主机的用户名和密码。打开CMD后输入如下命令即可进行连接:net use\ipipc$ password /user:usernqme。我们可以通过修改注册表来禁用IPC连接。打开注册表编辑器。找到如下组建HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa中的restrictanonymous子键,将其值改为1即可禁用IPC连接
六、清空远程可访问的注册表路径
大家都知道,Windows 2003操作系统提供了注册表的远程访问功能,只有将远程可访问的注册表路径设置为空,这样才能有效的防止黑客利用扫描器通过远程注册表读取计算机的系统信息及其它信息.
打开组策略编辑器,依次展开“计算机配置→Windows 设置→安全设置→本地策略→安全选项”,在右侧窗口中找到“网络访问:可远程访问的注册表路径”,然后在打开的窗口中,将可远程访问的注册表路径和子路径内容全部设置为空即可(如图7)。
七、关闭不必要的端口
对于个人用户来说安装中默认的有些端口确实是没有什么必要的,关掉端口也就是关闭无用的服务。139端口是NetBIOS协议所使用的端口,在安装了TCP/IP 协议的同时,NetBIOS 也会被作为默认设置安装到系统中。139端口的开放意味着硬盘可能会在网络中共享;网上黑客也可通过NetBIOS知道你的电脑中的一切!在以前的Windows版本中,只要不安装Microsoft网络的文件和打印共享协议,就可关闭139端口。但在Windows Server 2003中,只这样做是不行的。如果想彻底关闭139端口,具体步骤如下:
鼠标右键单击“网络邻居”,选择“属性”,进入“网络和拨号连接”,再用鼠标右键单击“本地连接”,选择“属性”,打开“本地连接 属性”页(如图8),
然后去掉“Microsoft网络的文件和打印共享”前面的“√”(如图9),
接下来选中“Internet协议(TCP/IP)”,单击“属性”→“高级”→“WINS”,把“禁用TCP/IP上的NetBIOS”选中,即任务完成(如图10)!
对于个人用户来说,可以在各项服务属性设置中设为“禁用”,以免下次重启服务也重新启动,端口也开放了。
假如你的电脑中还装了IIS,你最好重新设置一下端口过滤。步骤如下:选择网卡属性,然后双击“Internet协议(TCP/IP)”,在出现的窗口中单击“高级”按钮,会进入“高级TCP/IP设置”窗口,接下来选择“选项”标签下的“TCP/IP 筛选”项,点“属性”按钮,会来到“TCP/IP 筛选”的窗口,在该窗口的“启用TCP/IP筛选(所有适配器)”前面打上“√”,然后根据需要配置就可以了。如果你只打算浏览网页,则只开放TCP端口80即可,所以可以在“TCP端口”上方选择“只允许”,然后单击“添加”按钮,输入80再单击“确定”即可
八、杜绝非法访问应用程序
Windows Server 2003是一种服务器操作系统,为了防止登陆到其中的用户,随意启动服务器中的应用程序,给服务器的正常运行带来不必要的麻烦,我们很有必要根据不同用户的访问权限,来限制。
他们去调用应用程序。实际上我们只要使用组策略编辑器作进一步的设置,即可实现这一目的,具体步骤如下:
打开“组策略编辑器”的方法为:依次点击“开始→运行”,在“运行”对话框中键入“gpedit.msc”命令并回车,即可打开“组策略编辑器”窗口。然后依次打开“组策略控制台→用户配置→管理模板→系统”中的“只运行许可的Windows应用程序”并启用此策略.
然后点击下面的“允许的应用程序列表”边的“显示”按钮,弹出一个“显示内容”对话框,在此单击“添加”按钮来添加允许运行的应用程序即可
九、设置和管理账户
1、系统管理员账户最好少建,更改默认的管理员帐户名(Administrator)和描述,密码最好采用数字加大小写字母加数字的上档键组合,长度最好不少于14位。
2、新建一个名为Administrator的陷阱账号,为其设置最小的权限,然后随便输入组合的最好不低于20位的密码
3、将Guest账户禁用并更改名称和描述,然后输入一个复杂的密码,当然现在也有一个DelGuest的工具,也许你也可以利用它来删除Guest账户,但我没有试过。
4、在运行中输入gpedit.msc回车,打开组策略编辑器,选择计算机配置-Windows设置-安全设置-账户策略-账户锁定策略,将账户设为“三次登陆无效”,“锁定时时间间隔60分钟”,“复位锁定计数设为30分钟”。
5、在安全设置-本地策略-安全选项中将“不显示上次的用户名”设为启用
6、在安全设置-本地策略-用户权利分配中将“从网络访问此计算机”中只保留Internet来宾账户、启动IIS进程账户。如果你使用了Asp.net还要保留Aspnet账户。
7、创建一个User账户,运行系统,如果要运行特权命令使用Runas命令。
十、网络服务安全管理
1、禁止C$、D$、ADMIN$一类的缺省共享
2、 解除NetBios与TCP/IP协议的绑定
3、关闭不需要的服务,以下为建议选项
Computer Browser:维护网络计算机更新,禁用
Distributed File System: 局域网管理共享文件,不需要禁用
Distributed linktracking client:用于局域网更新连接信息,不需要禁用
Error reporting service:禁止发送错误报告
Microsoft Serch:提供快速的单词搜索,不需要可禁用
NTLMSecuritysupportprovide:telnet服务和Microsoft Serch用的,不需要禁用
PrintSpooler:如果没有打印机可禁用
Remote Registry:禁止远程修改注册表
Remote Desktop Help Session Manager:禁止远程协助
十一、打开相应的审核策略
在运行中输入gpedit.msc回车,打开组策略编辑器,选择计算机配置-Windows设置-安全设置-审核策略在创建审核项目时需要注意的是如果审核的项目太多,生成的事件也就越多,那么要想发现严重的事件也越难当然如果审核的太少也会影响你发现严重的事件,你需要根据情况在这二者之间做出选择。
推荐的要审核的项目是:
登录事件 成功失败
账户登录事件成功 失败
系统事件 成功失败
策略更改 成功失败
对象访问 失败
目录服务访问失败
特权使用 失败
十二、其它安全相关设置
1、隐藏重要文件/目录
2、启动系统自带的Internet连接防火墙,在设置服务选项中勾选Web服务器。
3、防止SYN洪水攻击
4. 禁止响应ICMP路由通告报文
5. 防止ICMP重定向报文的攻击
6. 不支持IGMP协议
7、禁用DCOM:
十三、配置 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的版本不需要。
7、使用UrlScan
但如果你在服务器运行ASP.NET程序,并要进行调试你需打开要%WINDIR%\System32\Inetsrv\URLscan
文件夹中的URLScan.ini 文件,然后在UserAllowVerbs节添加debug谓词,注意此节是区分大小写的。
如果你的网页是.asp网页你需要在DenyExtensions删除.asp相关的内容。
如果你的网页使用了非ASCII代码,你需要在Option节中将AllowHighBitCharacters的值设为1
在对URLScan.ini 文件做了更改后,你需要重启IIS服务才能生效,快速方法运行中输入iisreset
如果你在配置后出现什么问题,你可以通过添加/删除程序删除UrlScan。
8、利用WIS (Web Injection Scanner)工具对整个网站进行SQL Injection 脆弱性扫描.
十四、配置Sql服务器
1、System Administrators 角色最好不要超过两个
2、如果是在本机最好将身份验证配置为Win登陆
3、不要使用Sa账户,为其配置一个超级复杂的密码
4、删除以下的扩展存储过程格式为:
use master
sp_dropextendedproc '扩展存储过程名'
xp_cmdshell:是进入操作系统的最佳捷径,删除
访问注册表的存储过程,删除
Xp_regaddmultistring Xp_regdeletekey Xp_regdeletevalue Xp_regenumvalues
Xp_regread Xp_regwrite Xp_regremovemultistring
OLE自动存储过程,不需要删除
Sp_OACreate Sp_OADestroy Sp_OAGetErrorInfo Sp_OAGetProperty
Sp_OAMethod Sp_OASetProperty Sp_OAStop
5、隐藏 SQL Server、更改默认的1433端口
右击实例选属性-常规-网络配置中选择TCP/IP协议的属性,选择隐藏 SQL Server 实例,并改原默认的1433端口。
十五、如果只做服务器,不进行其它操作,使用IPSec
1、管理工具—本地安全策略—右击IP安全策略—管理IP筛选器表和筛选器操作—在管理IP筛选器表选项下点击
添加—名称设为Web筛选器—点击添加—在描述中输入Web服务器—将源地址设为任何IP地址——将目标地址设为我的IP地址——协议类型设为Tcp——IP协议端口第一项设为从任意端口,第二项到此端口80——点击完成——点击确定。
2、再在管理IP筛选器表选项下点击
添加—名称设为所有入站筛选器—点击添加—在描述中输入所有入站筛选—将源地址设为任何IP地址——将目标地址设为我的IP地址——协议类型设为任意——点击下一步——完成——点击确定。
3、在管理筛选器操作选项下点击添加——下一步——名称中输入阻止——下一步——选择阻止——下一步——完成——关闭管理IP筛选器表和筛选器操作窗口
4、右击IP安全策略——创建IP安全策略——下一步——名称输入数据包筛选器——下一步——取消默认激活响应原则——下一步——完成
5、在打开的新IP安全策略属性窗口选择添加——下一步——不指定隧道——下一步——所有网络连接——下一步——在IP筛选器列表中选择新建的Web筛选器——下一步——在筛选器操作中选择许可——下一步——完成——在IP筛选器列表中选择新建的阻止筛选器——下一步——在筛选器操作中选择阻止——下一步——完成——确定
6、在IP安全策略的右边窗口中右击新建的数据包筛选器,点击指派,不需要重启,IPSec就可生效.
十七、如何配置一台坚固安全的win2003服务器
1)确定你要用它来干什么,需要开什么服务,什么是不必要的,没用地就别装(像Index什么的),不必要的服务全都可以关掉。
在控制面版=>管理=>工具中,自己看着办,如下服务是一定要禁止的:
Remote Registry Service
RunAs Service
Task Scheduler
Telnet
Windows Time
其他不必要的服务可以设为手动方式。
SNMP Service和SNMP Trap Service最好也关掉,要用的话,把管理公共字改掉。
2)打补丁。
确定你打上了Win2k SP2;
3)IIS配置。
1,在IIS管理器中,去处所有不必要的扩展关联(基本上除了ASP/ASA等几个必要的和CGI之类的外,其他都可以去掉) 有可能的话,可以安装一个SecureIIS,还是有一定效果的。
2,校验ftp权限,差不多就自己看着办吧,不要被人家tag就可以了~_*
4)MSSQL。
首先,记得一定要加一个难记得密码,不然就什么都完了。
然后记得升级SQL 7.0 SP2和SQL 2k SP1.
5)Terminal Server。
打了SP2基本就没太大问题,只要你的系统不是没密码..........
高级部分:
1)类防火墙限制。
这需要我们打开MS的IPSEC服务,然后选择 网络设置=>网络界面 属性=> TCP/IP =>高级 =>选项
简单一点的话,就用TCP/IP筛选,确定指开放那些端口,比如80,1433等等(可惜开放ftp服务的话,经常会乱开端口的,难以确定);
要求高级的话,自己定义一个IPSEC策略,可以精确的过滤例如某种ICMP类型等等...可以做到水泄不通哦,不要到时候你自己也进不去了就好~_*
2)NetBIOS设置。
历史以来,netbios是仅次于IIS的winnt安全问题最多的服务,简直就是后门打开。
至少做这样一条设置:注册表编辑
Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous = 1
可以禁止IPC$空用户连接,防止信息泄漏和其他更严重的安全问题。
3)Terminal Server加强。
注册表编辑:HKEY_LOCAL_ MACHINESOFTWAREMicrosoft\ WindowsNT\CurrentVersion\Winlogon\Don‘t Display Last User Name=1
可以让别人在ts中看不到你上次登录的用户名,有安全了一点点(记住,别人获取你的信息越少,你就越安全)
4)系统文件目录权限检查。
基本的策略,可以在文件属性中修改,避免有everyone完全控制的目录,大部分文件最好禁止everyone写,甚至读。
对于系统的重要文件和目录,例如system32等等,可以用Win2k Resouece Kit中的一个工具xacls详细的加强访问控制。
5)预防信息监测和DOS 攻击
必要的话,打开RSAS或者自己添加一个IPSEC安全策略,过滤掉ICMP Echo和Redrict类型,这样别人ping你就不会有反映,而如果ping不通的话,可能别人就此罢手了~_* 而且缺省配置下,很多的漏洞扫描器ping不通就不扫了,西西。(当然啦,如果你有更强的防火墙,哪就更好)
一定程度的DoS预防:
在注册表HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters中更改以下值可以帮助你防御一定强度的DoS攻击
SynAttackProtect REG_DWORD 2
EnablePMTUDiscovery REG_DWORD 0
NoNameReleaseOnDemand REG_DWORD 1
EnableDeadGWDetect REG_DWORD 0
KeepAliveTime REG_DWORD 300,000
PerformRouterDiscovery REG_DWORD 0
EnableICMPRedirects REG_DWORD 0
十八、Win 2003中提高FSO的安全性
ASP提供了强大的文件系统访问能力,可以对服务器硬盘上的任何文件进行操作,这给学校网站的安全带来巨大的威胁
ASP提供了强大的文件系统访问能力,可以对服务器硬盘上的任何文件进行读、写、复制、删除、改名等操作,这给学校网站的安全带来巨大的威胁。现在很多校园主机都遭受过FSO木马的侵扰。但是禁用FSO组件后,引起的后果就是所有利用这个组件的ASP程序将无法运行,无法满足客户的需求。如何既允许FileSystemObject组件,又不影响服务器的安全性呢(即:不同虚拟主机用户之间不能使用该组件读写别人的文件)?以下是笔者多年来摸索出来的经验:
第一步是有别于Windows 2000设置的关键:右击C盘,点击“共享与安全”,在出现在对话框中选择“安全”选项卡,将Everyone、Users组删除,删除后如果你的网站连ASP程序都不能运行,请添加IIS_WPG组(图1),并重启计算机。
经过这样设计后,FSO木马就已经不能运行了。如果你要进行更安全级别的设置,请分别对各个磁盘分区进行如上设置,并为各个站点设置不同匿名访问用户。下面以实例来介绍(假设你的主机上E盘Abc文件夹下设Abc.com站点):
1. 打开“计算机管理→本地用户和组→用户”,创建Abc用户,并设置密码,并将“用户下次登录时须更改密码”前的对号去掉,选中“用户不能更改密码”和“密码永不过期”,并把用户设置为隶属于Guests组。
2. 右击E:\Abc,选择“属性→安全”选项卡,此时可以看到该文件夹的默认安全设置是“Everyone”完全控制(视不同情况显示的内容不完全一样),删除Everyone的完全控制(如果不能删除,请点击[高级]按钮,将“允许父项的继承权限传播”前面的对号去掉,并删除所有),添加Administrators及Abc用户对本网站目录的所有安全权限。
3. 打开IIS管理器,右击Abc.com主机名,在弹出的菜单中选择“属性→目录安全性”选项卡,点击身份验证和访问控制的[编辑],弹出图2所示对话框,匿名访问用户默认的就是“IUSR_机器名”,点击[浏览],在“选择用户”对话框中找到前面创建的Abc账户,确定后重复输入密码。
十九、建议
如果你按本方案去操作,建议每做一项更改就测试一下服务器,如果有问题可以马上撤消更改。而如果更改的项数多,才发现出问题,那就很难判断问题是出在哪一步上了。
二十、运行服务器记录当前的程序和开放的端口
1、将当前服务器的进程抓图或记录下来,将其保存,方便以后对照查看是否有不明的程序。
2、将当前开放的端口抓图或记录下来,保存,方便以后对照查看是否开放了不明的端口。当然如果你能分辨每一个进程,和端口这一步可以省略。
联系客服