web服务器安全配置方法
公司的WEB服务器为例子,谈谈在windows2003下怎么配置一个安全的
WEB服务器
一、 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默认共享
首先编写如下内容的批处理文件:
@echo off
net share C$ /del
net share D$ /del
net share E$ /del
net share F$ /del
net share admin$ /del
以上文件的内容用户可以根据自己需要进行修改。保存为delshare.bat,存放到系统所在文件夹下的system32GroupPolicyUserScriptsLogon目录下。然后在开始菜单→运行中输入gpedit.msc,
回车即可打开组策略编辑器。点击用户配置→Windows设置→脚本(登录/注销)→登录(如图3)。
本帖包含图片附件:
在出现的“登录 属性”窗口中单击“添加”,会出现“添加脚本”对话框,在该窗口的“脚本名”栏中输入delshare.bat,然后单击“确定”按钮即可(如图4)。
本帖包含图片附件:
重新启动计算机系统,就可以自动将系统所有的隐藏共享文件夹全部取消了,这样就能将系统安全隐患降低到最低限度。
2、禁用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 设置→安全设置→本地策略→安全选项”,在右侧窗口中找到“网络访问:可远程访问的注册表路径”,然后在打开的窗口中,将可远程访问的注册表路径和子路径内容全部设置为空即可。
五、关闭不必要的端口
对于个人用户来说安装中默认的有些端口确实是没有什么必要的,关掉端口也就是关闭无用的服务。139端口是NetBIOS协议所使用的端口,在安装了TCP/IP 协议的同时,NetBIOS 也会被作为默认设置安装到系统中。139端口的开放意味着硬盘可能会在网络中共享;网上黑客也可通过NetBIOS知道你的电脑中的一切!在以前的Windows版本中,只要不安装Microsoft网络的文件和打印共享协议,就可关闭139端口。但在Windows Server 2003中,只这样做是不行的。如果想彻底关闭139端口,具体步骤如下:
鼠标右键单击“网络邻居”,选择“属性”,进入“网络和拨号连接”,再用鼠标右键单击“本地连接”,选择“属性”,打开“本地连接 属性”页
然后去掉“Microsoft网络的文件和打印共享”前面的“√”,
接下来选中“Internet协议(TCP/IP)”,单击“属性”→“高级”→“WINS”,把“禁用TCP/IP上的NetBIOS”选中,即任务完成
于个人用户来说,可以在各项服务属性设置中设为“禁用”,以免下次重启服务也重新启动,端口也开放了。
假如你的电脑中还装了IIS,你最好重新设置一下端口过滤。步骤如下:选择网卡属性,然后双击“Internet协议(TCP/IP)”,在出现的窗口中单击“高级”按钮,会进入“高级TCP/IP设置”窗口,接下来选择“选项”标签下的“TCP/IP 筛选”项,点“属性”按钮,会来到“TCP/IP 筛选”的窗口,在该窗口的“启用TCP/IP筛选(所有适配器)”前面打上“√”,然后根据需要配置就可以了。如果你只打算浏览网页,则只开放TCP端口80即可,所以可以在“TCP端口”上方选择“只允许”,然后单击“添加”按钮,输入80再单击“确定”即可
六、杜绝非法访问应用程序
Windows Server 2003是一种服务器操作系统,为了防止登陆到其中的用户,随意启动服务器中的应用程序,给服务器的正常运行带来不必要的麻烦,我们很有必要根据不同用户的访问权限,来限制。
他们去调用应用程序。实际上我们只要使用组策略编辑器作进一步的设置,即可实现这一目的,具体步骤如下:
打开“组策略编辑器”的方法为:依次点击“开始→运行”,在“运行”对话框中键入“gpedit.msc”命令并回车,即可打开“组策略编辑器”窗口。然后依次打开“组策略控制台→用户配置→管理模
板→系统”中的“只运行许可的Windows应用程序”并启用此策略
然后点击下面的“允许的应用程序列表”边的“显示”按钮,弹出一个“显示内容”对话框,在此单击“添加”按钮来添加允许运行的应用程序即可