安全指南.docx
- 文档编号:28709792
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:81
- 大小:531.40KB
安全指南.docx
《安全指南.docx》由会员分享,可在线阅读,更多相关《安全指南.docx(81页珍藏版)》请在冰豆网上搜索。
安全指南
安全指南
保护Web服务器
更新日期:
2004年04月12日
本页内容
本模块内容
目标
适用范围
如何使用本模块
概述
威胁与对策
确保Web服务器安全的方法
IIS和.NETFramework安装注意事项
安装建议
确保Web服务器安全的步骤
步骤1:
修补程序和更新程序
步骤2:
IISLockdown
步骤3:
服务
步骤4:
协议
步骤5:
帐户
步骤6:
文件和目录
步骤7:
共享
步骤8:
端口
步骤9:
注册表
步骤10:
审核和日志记录
步骤11:
站点和虚拟目录
步骤12:
脚本映射
步骤13:
ISAPI筛选器
步骤14:
IIS元数据库
步骤15:
服务器证书
步骤16:
Machine.Config
步骤17:
代码访问安全性
安全Web服务器快照
保持安全
远程管理
简化并自动设置安全性
小结
其他资源
本模块内容
Web服务器位于宿主基础结构的前端。
它直接连接到Internet,负责接收来自客户端的请求、创建动态Web页并对请求的数据作出响应。
安全的Web服务器可为宿主环境提供可靠的基础,其配置在Web应用程序的整体安全方面起重要作用。
但是,如何确保Web服务器安全呢?
确保Web服务器安全的挑战之一就是要明确自己的目标。
只有明白了何谓安全的Web服务器,您就可以了解如何为此应用所需的配置设置。
本模块提供了一种系统且可重复的方法,您可以使用它成功配置安全的Web服务器。
模块还介绍了一种确保Web服务器安全的方法,该方法将服务器的配置划分为十二个安全区域。
每一安全区域都由一系列高级操作步骤组成。
这些步骤都是模块化的,介绍了将方法付诸实施的途径。
返回页首
目标
使用本模块可以实现:
•
了解何谓安全的Web服务器。
•
使用已证明正确的方法确保Web服务器安全。
•
了解在默认情况下Windows2000Server中IIS的完整安装和.NETFramework的安装内容。
•
了解安全Web服务器中可禁用的服务。
•
安全配置Web服务器,包括操作系统协议、帐户、文件、目录、共享、端口、注册表、审核和日志记录。
•
安全配置Web服务器应用程序(本例是IIS)组件,包括Web站点、虚拟目录、脚本映射、ISAPI筛选器、元数据库和服务器证书。
•
安全配置.NETFramework设置,包括Machine.config文件和代码访问安全性。
•
针对远程管理安装并使用安全的终端服务。
•
了解解决常见Web服务器威胁(包括配置处理、拒绝服务、XX的访问、随意代码执行、特权提升、病毒、蠕虫和特洛伊木马)的常用对策。
返回页首
适用范围
本模块适用于下列产品和技术:
•
MicrosoftWindowsServer2000和2003
•
Microsoft.NETFramework1.1和ASP.NET1.1
•
MicrosoftInternet信息服务(IIS)5.0和6.0
返回页首
如何使用本模块
为了充分理解本模块内容,您应:
•
阅读模块2威胁与对策。
这有助于您更广泛地了解Web应用程序的潜在威胁。
•
使用快照。
安全Web服务器快照部分列出并说明了安全Web服务器的属性。
它反映了来自各种源(包括客户、行业专家和内部Microsoft开发与支持小组)的输入。
在配置服务器时,请参考快照表。
•
使用检查表。
本指南“检查表”部分的检查表:
保护Web服务器提供了一份可打印的作业帮助,可将它用作快速参考。
使用基于任务的检查表可快速评估必需的步骤,然后帮助您逐步完成各个步骤。
•
使用“如何”部分。
本指南“如何”部分包括了下列指导性文章:
•
如何:
使用URLScan
•
如何:
使用Microsoft基准安全分析器
•
如何:
使用IISLockdown
返回页首
概述
究竟怎样的Web服务器才算安全?
确保Web服务器安全的挑战之一就是明确您的目标。
只有明白了何谓安全的Web服务器,您就可以了解如何为此应用所需的配置设置。
本模块提供了一种系统且可重复的方法,您可以使用它成功配置安全的Web服务器。
本模块首先回顾了影响Web服务器的最常见威胁。
然后,使用上述观点创建相应的方法。
最后,模块将这种方法付诸实施,并逐步说明如何提高Web服务器的安全性。
尽管基本方法可跨不同技术复用,但本模块的重点是如何保证运行MicrosoftWindows2000操作系统并驻留Microsoft.NETFramework的Web服务器的安全。
返回页首
威胁与对策
由于攻击者可远程攻击,Web服务器常常是攻击对象。
如果了解Web服务器的威胁并努力制定相应的对策,您可以预见很多攻击,进而阻止日渐增加的攻击者。
Web服务器的主要威胁是:
•
配置处理
•
拒绝服务
•
XX的访问
•
随意代码执行
•
特权提升
•
病毒、蠕虫和特洛伊木马
图16.1汇总了目前流行的攻击和常见漏洞。
图16.1
Web服务器主要威胁和常见漏洞
配置处理
配置处理或主机枚举是一种收集Web站点相关信息的探测过程。
攻击者可利用这些信息攻击已知的薄弱点。
漏洞
致使服务器容易受到配置处理攻击的常见漏洞包括:
•
不必要的协议
•
打开的端口
•
Web服务器在横幅中提供配置信息
攻击
常见的配置处理攻击包括:
•
端口扫描
•
Ping扫射(pingsweep)
•
NetBIOS和服务器消息块(SMB)枚举
对策
有效的对策有,阻止所有不必要的端口、阻止Internet控制消息协议(ICMP)通信、禁用不必要的协议(如NetBIOS和SMB)。
拒绝服务
如果服务器被泛滥的服务请求所充斥,则出现拒绝服务攻击。
此时的威胁是,Web服务器因负荷过重而无法响应合法的客户端请求。
漏洞
导致拒绝服务攻击增加的可能漏洞包括:
•
薄弱的TCP/IP堆栈配置
•
未修补的服务器
攻击
常见的拒绝服务攻击包括:
•
网络级SYNflood(同步攻击)
•
缓冲区溢出
•
使用来自分布式位置的请求淹没Web服务器
对策
有效的对策有,强化TCP/IP堆栈,以及始终将最新的软件修补程序和更新程序应用于系统软件。
XX的访问
如果权限不合适的用户访问了受限的信息或执行了受限的操作,则出现XX的访问。
漏洞
导致XX访问的常见漏洞包括:
•
薄弱的IISWeb访问控制(包括Web权限)
•
薄弱的NTFS权限
对策
有效的对策有,使用安全的Web权限、NTFS权限和.NETFramework访问控制机制(包括URL授权)。
随意代码执行
如果攻击者在您的服务器中运行恶意代码来损害服务器资源或向下游系统发起其他攻击,则出现代码执行攻击。
漏洞
可导致恶意代码执行的漏洞包括:
•
薄弱的IIS配置
•
未修补的服务器
攻击
常见的代码执行攻击包括:
•
路径遍历
•
导致代码注入的缓冲区溢出
对策
有效的对策有,配置IIS拒绝带有“../”的URL(防止路径遍历)、使用限制性访问控制列表(ACL)锁定系统命令和实用工具、安装新的修补程序和更新程序。
特权提升
如果攻击者使用特权进程帐户运行代码,则出现特权提升攻击。
漏洞
导致Web服务器易受特权提升攻击的常见漏洞包括:
•
过度授权进程帐户
•
过度授权服务帐户
对策
有效的对策有,使用特权最少的帐户运行进程、使用特权最少的服务和用户帐户运行进程。
病毒、蠕虫和特洛伊木马
恶意代码有几种变体,具体包括:
•
病毒。
即执行恶意操作并导致操作系统或应用程序中断的程序。
•
蠕虫。
可自我复制并自我维持的程序。
•
特洛伊木马。
表面上有用但实际带来破坏的程序。
在很多情况下,恶意代码直至耗尽了系统资源,并因此减慢或终止了其他程序的运行后才被发现。
例如,“红色代码”就是危害IIS的臭名昭著的蠕虫之一,它依赖ISAPI筛选器中的缓冲区溢出漏洞。
漏洞
导致易受病毒、蠕虫和特洛伊木马攻击的常见漏洞包括:
•
未修补的服务器
•
运行不必要的服务
•
使用不必要的ISAPI筛选器和扩展
对策
有效的对策有,提示应用程序安装最新的软件修补程序、禁用无用的功能(如无用的ISAPI筛选器和扩展)、使用特权最少的帐户运行进程来减小危害发生时的破坏范围。
返回页首
确保Web服务器安全的方法
为了确保Web服务器的安全,必须应用很多配置设置来减少服务器受攻击的漏洞。
但究竟在何处开始、何时才算完成呢?
最佳的方法是,对必须采取的预防措施和必要配置的设置进行分类。
通过分类,您可以从上到下系统安排保护过程,或选择特定的类别完成特定的步骤。
配置类别
本模块的安全方法都归入图16.2所示的类别。
图16.2
Web服务器配置类别
分类基本原理如下:
•
修补程序和更新程序
很多安全威胁是由广泛发布和众所周知的漏洞引起的。
在很多情况下,如果发现了新漏洞,成功利用该漏洞发起攻击的探测代码将在几小时内公布在Internet中。
如果不修补并更新服务器,便为攻击者和恶意代码提供了机会。
因此,修补并更新服务器软件是保护Web服务器的第一项重要步骤。
•
服务
对于有能力探测服务的特权和功能,并进而访问本地Web服务器或其他下游服务器的攻击者来说,服务是最主要的漏洞点。
如果某服务不是Web服务器必需的,请不要在服务器中运行它。
如果服务是必需的,请确保服务安全并进行维护。
考虑监视所有的服务来确保可用性。
如果服务软件不安全,您又需要该服务,请尝试寻找一种可替代它的安全服务。
•
协议
避免使用本身不安全的协议。
如果无法避免使用这些协议,请采取相应的措施提供安全的身份验证和通信。
例如使用IPSec策略。
不安全的明文协议有Telnet、邮局协议(POP3)、简单邮件传输协议(SMTP)和文件传输协议(FTP)。
•
帐户
帐户可向计算机授予经身份验证的访问权限,因此必须审核。
用户帐户的用途是什么?
有怎样的访问权限?
是否属于可作为攻击目标的常见帐户?
是否属于可泄露(并因此一定要包含在内)的服务帐户?
使用最少的特权来配置帐户,避免特权提升的可能性。
删除所有不需要的帐户。
使用强密码策略缓解强力攻击和字典攻击,然后对失败的登录进行审核和报警。
•
文件和目录
使用有限的NTFS权限(仅允许访问必需的Windows服务和用户帐户)确保所有文件和目录安全。
使用Windows审核可检测出何时出现可疑的或XX的操作。
•
共享
删除所有不必要的文件共享,包括默认管理共享(如果不需要它们)。
使用有限的NTFS权限确保剩余共享的安全。
尽管共享不直接展示在Internet中,但如果服务器存在漏洞,提供有限和安全共享的防御策略可减轻风险。
•
端口
在服务器中运行的服务可侦听特定端口,从而响应传入请求。
定期审核服务器的端口可确保不安全或不必要的服务无法在您的Web服务器中激活。
如果检测出活动的端口,但它不是管理员打开的,表明一定存在XX的访问和安全漏洞。
•
注册表
很多与安全有关的设置都保存在注册表中,因此必须保护注册表。
您可应用有限的WindowsACL并阻止远程注册表管理来做到这一点。
•
审核和日志记录
审核是一种重要的工具,主要作用是确定入侵者、进行中的攻击和已发生攻击的证据。
请结合Windows和IIS审核功能来配置Web服务器的审核。
事件日志和系统日志可帮助您解决安全问题。
•
站点和虚拟目录
站点和虚拟目录直接展示在Internet中。
尽管安全的防火墙配置和防御性ISAPI筛选器(如IISLockdown工具附带的URLScan)可阻止对受限配置文件或程序可执行文件的请求,但还是建议您使用深层的防御策略。
重新将站点和虚拟目录分配到非系统分区,然后使用IISWeb权限进一步限制访问。
•
脚本映射
如果删除可选文件扩展名的所有不必要IIS脚本映射,可防止攻击者对处理这些文件类型的ISAPI扩展中的任何Bug加以利用。
不使用的扩展名映射常常被忽略,而它们正代表了主要的安全漏洞。
•
ISAPI筛选器
攻击者已成功利用ISAPI筛选器中的漏洞。
请从Web服务器中删除不必要的ISAPI筛选器。
•
IIS元数据库
IIS元数据库可维护IIS配置设置。
必须确保正确配置与安全相关的设置,确保使用强化的NTFS权限来访问元数据库文件。
•
Machine.config
Machine.config文件保存了应用于.NETFramework应用程序(包括ASP.NETWeb应用程序)的计算机级配置设置。
修改Machine.config中的设置可确保将安全的默认值应用于服务器中安装的所有ASP.NET应用程序。
•
代码访问安全性
限制代码访问安全性策略设置可确保下载自Internet或Intranet的代码没有权限,因此无法执行。
返回页首
IIS和.NETFramework安装注意事项
在确保Web服务器安全以前,必须先知道安装IIS和.NETFramework后在Windows2000服务器中出现的组件。
本节说明了安装哪些组件。
IIS安装了哪些组件?
IIS安装了很多服务、帐户、文件夹和Web站点。
有些组件是Web应用程序所不用的,如果不在服务器中删除,可能导致服务器易受攻击。
表16.1列出了在Windows2000Server系统中完整安装IIS(选定所有组件)后创建的服务、帐户和文件夹。
表16.1:
IIS安装默认值
项目
详细信息
默认值
服务
IISAdminService(管理Web和FTP服务)
WorldWideWebPublishingService
FTPPublishingService
SimpleMailTransportProtocol(SMTP)
NetworkNewsTransportProtocol(NNTP)
安装
安装
安装
安装
安装
帐户和组
IUSR_MACHINE(匿名Internet用户)
IWAM_MACHINE(进程外ASPWeb应用程序;不用在ASP.NET应用程序中,除了在域控制器中运行的ASP.NET应用程序;您的Web服务器不应是域控制器)
添至Guest组
添至Guest组
文件夹
%windir%\system32\inetsrv(IIS程序文件)
%windir%\system32\inetsrv\iisadmin(用于远程管理IIS的文件)
%windir%\help\iishelp(IIS帮助文件)
%systemdrive%\inetpub(Web、FTP和SMTP根文件夹)
Web站点
默认Web站点–端口80:
%SystemDrive%\inetpub\wwwroot
管理Web站点–端口3693:
%SystemDrive%\System32\inetsrv\iisadmin
允许匿名访问
仅限本地计算机和管理员访问
.NETFramework安装了哪些组件?
如果在驻留IIS的服务器中安装.NETFramework,.NETFramework将注册ASP.NET。
作为该过程的一部分,系统将创建一个名为ASPNET的特权最少的本地帐户。
这将运行ASP.NET工作进程(aspnet_wp.exe)和会话状态服务(aspnet_state.exe),后者可用于管理用户会话状态。
注意:
在运行Windows2000和IIS5.0的服务器计算机中,所有ASP.NETWeb应用程序都运行在ASP.NET工作进程的单个实例中,由应用程序域提供隔离。
在WindowsServer2003中,IIS6.0借助应用程序池提供进程级隔离。
表16.2显示了.NETFramework版本1.1默认安装的服务、帐户和文件夹。
表16.2:
.NETFramework安装默认值
项目
详细信息
默认值
服务
ASP.NETStateService:
为ASP.NET提供进程外会话状态支持。
手动启动
帐户和组
ASPNET:
运行ASP.NET工作进程(Aspnet_wp.exe)和会话状态服务(Aspnet_state.exe)的帐户。
添至Users组
文件夹
%windir%\Microsoft.NET\Framework\{版本}
\1033
\ASP.NETClientFiles
\CONFIG
\MUI
\TemporaryASP.NETFiles
ISAPI扩展
Aspnet_isapi.dll:
处理ASP.NET文件类型的请求。
将请求转发给ASP.NET工作进程(Aspnet_wp.exe)。
ISAPI筛选器
Aspnet_filter.dll:
仅用于支持无cookie的会话状态。
在Inetinfo.exe(IIS)进程内部运行。
应用程序映射
ASAX、ASCX、ASHX、ASPX、AXD、VDISCO、REM、SOAP、CONFIG、CS、CSPROJ、VB、VBPROJ、WEBINFO、LICX、RESX、RESOURCES
\WINNT\Microsoft.NET\Framework\{版本}Aspnet_isapi.dll
返回页首
安装建议
在默认情况下,Windows2000Server安装程序将安装IIS。
但建议不要将IIS作为操作系统安装的一部分来安装,最好是日后更新并修补了基本操作系统之后再安装。
安装了IIS之后,必须重新应用IIS修补程序并强化IIS配置,确保IIS接受完整的保护。
只有这样,将服务器连接到网络中才安全。
IIS安装建议
如果要安装并配置新的Web服务器,请执行如下操作步骤概述。
•
构建新的Web服务器
1.
安装Windows2000Server,但IIS不作为操作系统安装的一部分。
2.
将最新的ServicePack和修补程序应用于操作系统。
(如果要配置多个服务器,请参阅本节后面的“在基本安装中包括ServicePack”。
)
3.
使用控制面板中的“添加/删除程序”单独安装IIS。
如果不需要以下服务,安装IIS时不要安装它们:
•
文件传输协议(FTP)服务器
•
MicrosoftFrontPage®2000ServerExtensions
•
Internet服务管理器(HTML)
•
NNTP服务
•
SMTP服务
•
可视InterDevRAD远程部署支持
注意:
通过在完全修补和更新的操作系统中安装IIS,可阻止攻击利用已修补的现有漏洞(如NIMDA)。
.NETFramework安装建议
不要在生产服务器中安装.NETFramework软件开发工具包(SDK)。
SDK包含了很多服务器不需要的实用工具。
一旦攻击者获取了服务器的访问权限,便可利用其中的部分工具帮助发起其他攻击。
正确的做法是,安装可重新分发的软件包。
要获取该软件包,可访问M的.NETFramework站点,其网址为
在基本安装中包括ServicePack
如果要构建多个服务器,可将ServicePack直接并入您的Windows安装。
ServicePack包括一个名为Update.exe的程序,作用是将ServicePack与您的Windows安装文件组合在一起。
•
要将ServicePack与Windows安装组合在一起,请执行下列操作:
1.
下载最新的ServicePack。
2.
使用-x选项启动ServicePack安装程序,从ServicePack中提取Update.exe,如下所示:
w3ksp3.exe-x
3.
将ServicePack与Windows安装源集成,方法是使用-s选项运行update.exe(传递Windows安装的文件夹路径),如下所示:
update.exe-sc:
\YourWindowsInstallationSource
有关详细信息,请参阅MSDN文章“CustomizingUnattendedWin2KInstallations”,网址是
返回页首
确保Web服务器安全的步骤
下面几节将指导您完成保护Web服务器的过程。
这些内容使用了本模块确保Web服务器安全的方法一节中介绍的配置类别。
每个高级步骤都包含了一项或多项确保特定区域或功能安全的操作。
步骤1
修补程序和更新程序
步骤10
审核和日志记录
步骤2
IISLockdown
步骤11
站点和虚拟目录
步骤3
服务
步骤12
脚本映射
步骤4
协议
步骤13
ISAPI筛选器
步骤5
帐户
步骤14
IIS元数据库
步骤6
文件和目录
步骤15
服务器证书
步骤7
共享
步骤16
Machine.config
步骤8
端口
步骤17
代码访问安全性
步骤9
注册表
返回页首
步骤1:
修补程序和更新程序
使用最新的ServicePack和修补程序更新服务器。
必须更新并修补所有的Web服务器组件,包括Windows2000(以及IIS)、.NETFramework和Microsoft数据访问组件(MDAC)。
在本步骤中,您要执行以下操作:
•
检测并安装必需的修补程序和更新程序
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 安全 指南