1、密 级:文档编号:项目代号:中国移动企业FTP服务器安全配置手册Version 1.0中国移动通信二零零四年十一月拟 制:审 核:批 准:会 签:标准化:版本控制版本号日期参与人员更新说明分发控制编号读者文档权限和文档关键关系1创建、修改、读取负责编制、修改、审核2同意负责本文档同意程序3标准化审核作为本项目标标准化责任人,负责对本文档进行标准化审核4读取5读取目 录1 FTP安全问题51.1 FTP概述51.2 FTP包过滤(Packet Filtering)方法51.3 匿名FTP服务61.4 FTP代理服务器61.5 FTP安全问题71.5.1 FTP安全缺点71.5.2 FTP易受攻击
2、72 IIS 5.0 FTP服务器安全配置82.1 Windows 及IIS 5.0安全配置82.1.1 Windows 安全配置82.1.2 IIS安全配置122.2 IIS 5.0 FTP服务器安全配置152.2.1 取消匿名访问功效162.2.2 启用日志统计162.2.3 正确设置用户访问权限172.2.4 启用磁盘配额172.2.5 TCP/IP访问限制192.2.6 合理设置组策略193 IIS 6.0 FTP安全配置213.1 概述213.2 系统服务213.3 安全设置223.3.1 仅安装必需 IIS 组件223.3.2 仅启用必需 Web 服务扩展223.3.3 在专用磁盘
3、卷中放置内容233.3.4 设置 NTFS 权限243.3.5 设置 IIS Web 站点权限253.3.6 配置 IIS 日志263.3.7 保护众所周知帐户安全273.3.8 保护服务帐户安全283.3.9 用 IPSec 过滤器阻断端口283.4 IIS 6.0 安全加强最好实践303.4.1 通用最好安全实践303.4.2 IIS最好安全实践304 Wu-FTP安全配置314.1 严禁匿名登录324.2 新增用户334.3 让用户只能访问本身home目录334.4. 不能存取 shell344.5 确定wu-ftpd是否存在SITE EXEC安全漏洞345 安全检验列表351 FTP安
4、全问题1.1 FTP概述FTP(File Transfer Protocol)即文件传输协议,用来从一台机器传送文件到另一台机器上。能够使用FTP来传送任何类型文件,包含二进制文件、图形文件、ASCII文本文件、PostScript打印文件、音频及视频文件等。有两种类型FTP访问,即有名和匿名FTP。有名FTP要求用户在服务器上有帐号,当她登录时她能够拥有她应该拥有一切资源。匿名FTP是为了那些在服务器上没有帐号人提供,关键是用来使用户访问部分公用资源。1.2 FTP包过滤(Packet Filtering)方法包过滤即是只基于TCP/IP包检测。FTP使用两个独立TCP连接:一个在服务器和用
5、户程序之间传输命令和结果(通常称为命令通道);另一个用来传送真实文件和目录列表(通常称为数据通道)。在服务器上,命令通道使用众所周知端口号21,数据通道为端口号20。用户程序则在命令和数据通道上分别使用大于1023端口(依据TCP/IP协议,端口对应于INTERNET应用层,不一样应用层用户程序有其缺省端口号,如FTP为20、21,HTTP为80)。在开始一个FTP连接时,用户程序首先为自己分配两个大于1023TCP端口,它使用第一个端口作为命令通道端口和服务器连接,然后发出PORT命令(通常是PORT C,C,C,C,F,F,其中C,C,C,C为用户端IP地址,F,F为第二个端口号),告诉服
6、务器它第二个作为数据通道端口号,这么服务器就能打开数据通道了。大多数FTP服务器(尤其是那些用在INTERNET上关键匿名FTP站点)和很多FTP用户程序全部支持一个用户程序打开命令通道和数据通道来连接到FTP服务器修改方法,这种方法被称之为反向方法或PASV方法。在使用反向方法时,一个FTP用户程序需要分配两个TCP端口供其使用。第一步同正常方法,但用户程序经过PASV命令替换原来PORT命令来告诉服务器用户程序第二个TCP端口。这么就能使服务器为本身数据通道分配第二个TCP端口,并通知用户程序所分配那个端口号。这时,用户程序就从它数据通道端口连接到服务器刚才通知它那个端口上。经过FTP包过
7、滤方法分析能够知道,一个TCP连接能够从防火墙外部实现,即一个外部FTP服务器会接通一个到内部用户程序数据通道连接,来响应从内部用户程序发出命令通道连接。正是这种方法,首先能够许可用户程序经过FTP代理服务器连接其它FTP服务器,其次也给网络带来了不安全性。1.3 匿名FTP服务匿名服务(AnonymousService)登录名用anonymous,而口令通常可用用户Email替换。正是这种服务方法方便了用户,但也不可避免地带来了问题,如用户登录后,往往能够取得一个可写目录(通常是/incoming),这么用户就能够经过PUT上载一个甚至是多个TXT文件,来达成其攻击该FTP服务器或其它FTP
8、服务器目标,即使很多FTP服务器全部限制匿名用户权限,如实施权,而很多FTP服务器同HTTP服务器同装在一台机器上,那么匿名用户完全能够利用该可写目录运行命令调用HTTP服务器实施。1.4 FTP代理服务器经过FTP代理服务器连接到匿名服务器,而不是直接同其连接,关键基于两种原由:其一,无法直接连接,如防火墙存在;其二,出于不被匿名服务器知晓其IP地址,或基于ATTACK,或基于匿名服务器限制用户登录(经过限制IP地址范围)。所以对于防火墙内用户来说,它必需首先运行FTP命令并经过作为主机防火墙连接,连接完成后,必需说明用户名和连接地点,在认证该地点确实许可以后,代理就和远程系统上FTP服务器
9、建立连接,用用户提供用户名开始登录。然后远程服务器提醒用户输入口令,假如口令正确则连接被许可。对于非防火墙内用户,它能够经过任意代理服务器来连接其目标服务器,并达成隐藏其地址目标。因对于目标服务器而言,其知道仅仅是代理服务器地址。1.5 FTP安全问题1.5.1 FTP安全缺点1.5.1.1 用户欺骗FTP使用标准用户名口令认证方法。这就使服务器不能可靠地确定一个用户是否她所声称那个人。 1.5.1.2 明文传输默认情况下,口令以明文方法传输。这就使攻击者经过电子窃听取得口令。FTP会话没有加密所以没有隐蔽性。 1.5.2 FTP易受攻击 1.5.2.1 FTP跳(bounce)攻击FTP跳攻
10、击目标是配置为拒绝来自指定IP地址(或IP地址掩码)连接主机。通常一个入侵者IP地址恰好在限制区域,所以她不能访问FTP服务器目录。为了克服这种限制,入侵者使用另一台机器来访问目标机器。 为了实现这种方法,入侵者向中介FTP目录写一个文件,该文件包含有连接到目标机器并取得部分文件命令。当该中介连接目标主机时,使用它自己地址(而不是入侵者地址)。所以,目标主机信任该连接请求并返回要求文件。 1.5.2.2 文件许可权限错误权限错误就是攻击者发觉目标主机上错误文件和目录权限取得特权甚至根用户访问权来达成入侵目标。 1.5.2.3 SITE EXEC漏洞SITE EXEC漏洞就是在早期wu-ftpd
11、版本许可远程用户经过向21端口提议telnet会话取得shell。为了检验有没有该漏洞,开启一个和21端口telnet对话并发出命令SITE EXEC。假如取得shell,就存在该漏洞。 2 IIS 5.0 FTP服务器安全配置2.1 Windows 及IIS 5.0安全配置2.1.1 Windows 安全配置2.1.1.1 基础要求l 确保全部磁盘分区为NTFS分区 l 操作系统、Web主目录、日志分别安装在不一样分区l 不要安装不需要协议,比如IPX/SPX, NetBIOSl 不要安装其它任何操作系统l 安装Service Pack 4l 安装最新hotfix 具体可参考微软网站: 2.
12、1.1.2 Windows 服务设置l 关闭全部不需要服务* 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)* Networ
13、k 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
14、)* Telephone Service (disable)l 在必需时严禁以下服务* SNMP service (optional)* SNMP trap (optional)* UPS (optionall 设置以下服务为自动开启* Eventlog ( required )* NT LM Security Provider (required)* RPC service (required)* WWW (required)* Workstation (leave service on: will be disabled later in the document)* MSDTC (req
15、uired)* Protected Storage (required)2.1.1.3 删除 OS/2 和 POSIX 子系统: l 删除以下目录任何键:HKEY_LOCAL_MACHINESOFTWARE MicrosoftOS/2 Subsystem for NTl 删除以下键:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSessionManagerEnvironmentOs2LibPathl 删除以下键:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSessionManagerSubSy
16、stemsOptionalHKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSessionManagerSubSystemsPosixHKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSessionManagerSubSystemsOS2l 删除以下目录:c:winntsystem32os22.1.1.4 帐号和密码策略l 确保严禁guest帐号l 将administrator更名为比较难猜帐号l 密码唯一性:统计上次 6 个密码l 最短密码期限:2l 密码最长久限:42l 最短密码长度:8l 密码复杂
17、化(passfilt.dll):启用l 用户必需登录方能更改密码:启用l 帐号失败登录锁定门限:6l 锁定后重新启用时间间隔:720分钟2.1.1.5 保护文件和目录将C:winnt, C:winntconfig, C:winntsystem32, C:winntsystem等目录访问权限做限制,限制everyone写权限,限制users组读写权限2.1.1.6 注册表部分条目标修改l 去除logon对话框中shutdown按钮将HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsNTCurrent VersionWinlogon 中ShutdownWithou
18、tLogon值设为0l 去除logon信息cashing功效将HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrent VersionWinlogon中CachedLogonsCount值设为0l 隐藏上次登陆用户名将HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrent VersionWinlogon中DontDisplayLastUserName值设为1l 限制LSA匿名访问将HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLSA中Restric
19、Anonymous值设为1l 去除全部网络共享将HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanManServerParameters中AutoShareServer值设为02.1.1.7 启用TCP/IP过滤只许可TCP端口80和443(假如使用SSL),不许可UDP端口,只许可IP Protocol 6 (TCP)。2.1.1.8 移动部分关键文件并加访问控制创建一个只有系统管理员能够访问目录,将system32目录下部分关键文件移动到此目录:xcopy.exe, wscript.exe, cscript.exe, net.exe,
20、ftp.exe, telnet.exe,arp.exe, edlin.exe,ping.exe,route.exe,at.exe,finger.exe,posix.exe,rsh.exe,atsvc.exe, qbasic.exe,runonce.exe,syskey.exe,cacls.exe, ipconfig.exe, rcp.exe, secfixup.exe, nbtstat.exe, rdisk.exe, debug.exe, regedt32.exe, regedit.exe, , netstat.exe, tracert.exe, nslookup.exe, rexec.exe
21、, cmd.exe2.1.1.9 安装防病毒软件2.1.1.10 使用Hisecweb.inf安全模板来配置该模板配置基础 Windows 系统安全策略。 l 将该模板复制到 %windir%securitytemplates 目录。 l 打开“安全模板”工具,查看这些设置。 l 打开“安全配置和分析”工具,然后装载该模板。 l 右键单击“安全配置和分析”工具,然后从上下文菜单中选择“立即分析计算机”。 l 等候操作完成。 l 查看结果,如有必需就更新该模板。 l 右键单击“安全配置和分析”工具,然后从上下文菜单中选择“立即配置计算机”。2.1.2 IIS安全配置2.1.2.1 关闭并删除默认
22、站点: l 默认FTP站点 l 默认Web站点l 管理Web站点2.1.2.2 建立自己站点和系统不在一个分区,如D:wwwroot3。建立 E:Logfiles目录,以后建立站点时日志文件均在此目录,确保此目录上访问控制权限是: Administrators(完全控制)System(完全控制)。2.1.2.3 删除IIS部分目录l IISHelp C:winnthelpiishelp l IISAdmin C:system32inetsrviisadmin l MSADC C:Program FilesCommon FilesSystemmsadc l 删除C:inetpub 2.1.2.4
23、 删除无须要IIS映射和扩展IIS 被预先配置为支持常见文件名扩展如 .asp 和 .shtm 文件。IIS 接收到这些类型 文件请求时,该调用由 DLL 处理。假如您不使用其中一些扩展或功效,则应删除该映射,步骤以下: l 打开 Internet 服务管理器: l 选择计算机名,点鼠标右键,选择属性: l 然后选择编辑 l 然后选择主目录, 点击配置 l 选择扩展名 .htw, .htr,.idc,.ida,.idq和.printer,点击删除 l 假如不使用server side include,则删除.shtm .stm 和 .shtml 2.1.2.5 禁用父路径 :“父路径”选项许可
24、您在对诸如 MapPath 函数调用中使用“.”。在默认情况下,该选项处于启用状态,应该禁用它。 禁用该选项步骤以下: l 右键单击该 Web 站点根,然后从上下文菜单中选择“属性”。 l 单击“主目录”选项卡。 l 单击“配置”。 l 单击“应用程序选项”选项卡。 l 取消选择“启用父路径”复选框。 2.1.2.6 在虚拟目录上设置访问控制权限 主页使用文件根据文件类型应使用不一样访问控制列表: l CGI (.exe, .dll, .cmd, .pl) l Everyone (X) l Administrators(完全控制) l System(完全控制) l 脚本文件 (.asp) l
25、Everyone (X) l Administrators(完全控制) l System(完全控制) l include 文件 (.inc, .shtm, .shtml) l Everyone (X) l Administrators(完全控制) l System(完全控制) l 静态内容 (.txt, .gif, .jpg, .html) l Everyone (R) l Administrators(完全控制) l System(完全控制) 在创建Web站点时,没有必需在每个文件上设置访问控制权限,应该为每个文件类型创建一个新目录,然后在每个目录上设置访问控制权限、许可访问控制权限传给各个
26、文件。 比如,目录结构可为以下形式: l D:wwwrootmyserverstatic (.html) l D:wwwrootmyserverinclude (.inc) l D:wwwrootmyserver script (.asp) l D:wwwrootmyserver executable (.dll) l D:wwwrootmyserver images (.gif, .jpeg) 2.1.2.7 启用日志统计 确定服务器是否被攻击时,日志统计是极其关键。应使用 W3C 扩展日志统计格式,步骤以下: l 打开 Internet 服务管理器: l 右键单击站点,然后从上下文菜单中选
27、择“属性”。 l 单击“Web 站点”选项卡。 l 选中“启用日志统计”复选框。 l 从“活动日志格式”下拉列表中选择“W3C 扩展日志文件格式”。 l 单击“属性”。 l 单击“扩展属性”选项卡,然后设置以下属性: n 用户 IP 地址 n 用户名 n 方法 n URI 资源 n HTTP 状态 n Win32 状态 n 用户代理 n 服务器 IP 地址 n 服务器端口2.2 IIS 5.0 FTP服务器安全配置使用IIS5.0架设FTP服务器默认设置其实存在很多安全隐患,很轻易成为黑客们攻击目标。为了加强IIS FTP服务器安全性,需要做部分设置。2.2.1 取消匿名访问功效默认情况下,W
28、indows 系统FTP服务器是许可匿名访问,即使匿名访问为用户上传、下载文件提供方便,但却存在极大安全隐患。用户不需要申请正当账号,就能访问FTP服务器,甚至还能够上传、下载文件,尤其对于部分存放关键资料FTP服务器,很轻易出现泄密情况,所以应该取消匿名访问功效。取消匿名访问功效方法是:右键点击“默认FTP站点”项,在右键菜单中选择“属性”,接着弹出默认FTP站点属性对话框,切换到“安全账号”标签页,取消“许可匿名连接”前勾选(图2-1),最终点击“确定”按钮,这么用户就不能使用匿名账号访问FTP服务器了,必需拥有正当账号。图2-1 严禁匿名访问2.2.2 启用日志统计FTP服务器日志统计着
29、全部用户访问信息,如访问时间、用户机IP地址、使用登录账号等,这些信息对于FTP服务器稳定运行含有很关键意义,一旦服务器出现问题,就能够查看FTP日志,找到故障所在,立即排除。所以一定要启用FTP日志统计。启用日志统计方法是:在FTP站点属性对话框中,切换到“FTP站点”标签页,确保“启用日志统计”选项被选中。2.2.3 正确设置用户访问权限每个FTP用户账号全部含有一定访问权限,但对用户权限不合理设置,也能造成FTP服务器出现安全隐患。如服务器中DOC文件夹,只许可DOCUSER账号对它有读、写、修改、列表权限,严禁其它用户访问,但系统默认设置,还是许可其它用户对DOC文件夹有读和列表权限,
30、所以必需重新设置该文件夹用户访问权限。设置方法是:右键点击DOC文件夹,在弹出菜单中选择“属性”,然后切换到“安全”标签页,首先删除Everyone用户账号,接着点击“添加”按钮,将DOCUSER账号添加到名称列表框中,然后在“权限”列表框中选中修改、读取及运行、列出文件夹目录、读取和写入选项,最终点击“确定”按钮。2.2.4 启用磁盘配额FTP服务器磁盘空间资源是宝贵,所以要对每位FTP用户使用磁盘空间进行限制。下面以DOCUSER用户为例,将其限制为只能使用100M磁盘空间。在资源管理器窗口中,右键点击DOC文件夹所在硬盘盘符,在弹出菜单中选择“属性”,接着切换到“配额”标签页(图2-2)
31、,选中“启用配额管理”复选框,激活“配额”标签页中全部配额设置选项,为了不让一些FTP用户占用过多服务器磁盘空间,一定要选中“拒绝将磁盘空间给超出配额限制用户”复选框。图2-2 限制FTP存放空间然后在“为该卷上新用户选择默认配额限制”框中选择“将磁盘空间限制为”单选项,接着在后面栏中输入100,磁盘容量单位选择为“MB”,然后进行警告等级设置,在“将警告等级设置为”栏中输入“96”, 容量单位也选择为“MB”,这么就完成了默认配额设置。另外,还要选中“用户超出配额限制时统计事件”和“用户超出警告等级时统计事件”复选框,方便将配额告警事件统计到Windows日志中。点击配额标签页下方“配额项”
32、按钮,打开磁盘配额项目对话框,接着点击“配额新建配额项”,弹出选择用户对话框,选中DOCUSER用户后,点击“确定”按钮,接着在“添加新配额项”对话框中为DOCUSER用户设置配额参数,选择“将磁盘空间限制为” 单选项,在后面栏中输入“100”,接着在“将警告等级设置为”栏中输入“96”,它们磁盘容量单位为“MB”,最终点击“确定”按钮,完成磁盘配额设置,这么DOCUSER用户就只能使用100 MB磁盘空间,超出96MB就会发出警告。2.2.5 TCP/IP访问限制为了确保FTP服务器安全,能够拒绝一些IP地址访问。在默认FTP站点属性对话框中,切换到“目录安全性”标签页,选中“授权访问”单选
33、项(图2-3),然后在“以下所列除外”框中点击“添加”按钮,弹出“拒绝以下访问”对话框,这里能够拒绝单个IP地址或一组IP地址访问,以单个IP地址为例,选中“单机”选项,然后在“IP地址”栏中输入该机器IP地址,最终点击“确定”按钮。这么添加到列表中IP地址全部不能访问FTP服务器了。图2-3 阻止该IP访问FTP2.2.6 合理设置组策略经过对组策略项目标修改,也能够增强FTP服务器安全性。在Windows 系统中,进入到“控制面板管理工具”,运行当地安全策略工具。2.2.6.1 审核账户登录事件在当地安全设置窗口中,依次展开“安全设置当地策略审核策略”,然后在右侧框体中找到“审核账户登录事
34、件”项目(图2-4),双击打开该项目,在设置对话框中选中“成功”和“失败”这两项,最终点击“确定”按钮。该策略生效后,FTP用户每次登录全部会被统计到日志中。图2-4 统计用户登录信息2.2.6.2 增强账号密码复杂性部分FTP账号密码设置过于简单,很轻易被破解。为了提升FTP服务器安全性,必需强制用户设置复杂账号密码。在当地安全设置窗口中,依次展开“安全设置账户策略密码策略”,在右侧框体中找到“密码必需符合复杂性要求”项,双击打开后,选中“已启用”单选项,最终点击“确定”按钮。然后,打开“密码长度最小值”项,为FTP账号密码设置最短字符限制。2.2.6.3 账号登录限制对FTP服务器一个攻击
35、方法是使用黑客工具,反复登录FTP服务器,来猜测账号密码。所以应该对账号登录次数进行限制。依次展开“安全设置账户策略账户锁定策略”,在右侧框体中找到“账户锁定阈值”项,双击打开后,设置账号登录最大次数,假如超出此数值,账号会被自动锁定。接着打开“账户锁定时间”项,设置FTP账号被锁定时间,账号一旦被锁定,超出这个时间值,才能重新使用。3 IIS 6.0 FTP安全配置3.1 概述Windows Server IIS 服务器安全设置模板来自“Windows Server Security Guide”,其网址为:(英文)。为了在抵制恶意用户和攻击者过程中占据主动,默认情况下,IIS 不安装在 W
36、indows Server 系列产品上。IIS 最初以高度安全“锁定”模式中安装。比如,默认情况下,IIS 最初仅提供静态内容。诸如 Active Server Pages (ASP)、ASP.NET、服务器端包含 (SSI)、Web Distributed Authoring and Versioning (WebDAV) 公布及 Microsoft FrontPage Server Extensions 等功效仅在管理员启用它们后才起作用。能够经过 Internet 信息服务管理器(IIS 管理器)中 Web 服务扩展节点启用这些功效和服务。IIS 管理器含有图形化用户界面 (GUI),可
37、用来方便地对 IIS 进行管理。它包含用于文件和目录管理资源,能够对应用程序池进行配置,而且含有安全性、性能、和可靠性方面很多特征。接下来部分具体介绍了多种安全性强化设置,实施这些设置可增强 Intranet 中存放 HTML 内容 IIS 服务器安全性。不过,为确保 IIS 服务器一直处于安全状态,还应实施安全监控、检测和响应等步骤。3.2 系统服务为了让 IIS 向 Windows Server 中添加 Web 服务器功效,则必需启用以下三种服务。确保这些服务被配置为自动开启。l HTTP SSL假如 HTTP SSL 服务停止,IIS 将无法实施 SSL 功效。禁用此服务将造成任何明确依
38、靠它服务全部无法实现。l IIS Admin 服务 “IIS Admin 服务”许可对 IIS 组件进行管理,比如文件传输协议 (FTP)、应用程序池、Web 站点、Web 服务扩展,和网络新闻传输协议 (NNTP) 和简单邮件传输协议 (SMTP) 虚拟服务器。“IIS Admin 服务”必需运行,方便让 IIS 服务器能够提供 Web、FTP、NNTP 和 SMTP 服务。假如禁用此服务,则无法配置 IIS,而且对站点服务请求将不会成功。l 万维网公布服务 “万维网公布服务”经过 IIS 管理单元提供网络连通性和网站管理。“万维网公布服务”必需运行,方便让 IIS 服务器经过 IIS 管理
39、器提供网络连通性和管理。3.3 安全设置安装 Windows Server 和 IIS 以后,默认情况下,IIS 仅传输静态 Web 内容。当 Web 站点和应用程序包含动态内容,或需要一个或多个附加 IIS 组件时,每个附加 IIS 功效必需逐一单独启用。不过,在该过程中必需谨慎,以确保将每个 IIS 服务器受攻击面降至最小。假如Web 站点只包含静态内容而无需其它任何 IIS 组件,这时,默认 IIS 配置足以将您环境中 IIS 服务器受攻击面降至最小。3.3.1 仅安装必需 IIS 组件除“万维网公布服务”之外,IIS6.0 还包含其它组件和服务,比如 FTP 和 SMTP 服务。经过双
40、击“控制面板”上“添加/删除程序”来开启 Windows 组件向导应用程序服务器,以安装和启用 IIS 组件和服务。安装 IIS 以后,必需启用 Web 站点和应用程序所需全部必需 IIS 组件和服务。应该仅启用 Web 站点和应用程序所需必需 IIS 组件和服务。启用无须要组件和服务会增加 IIS 服务器受攻击面。3.3.2 仅启用必需 Web 服务扩展很多运行于 IIS 服务器上网站和应用程序含有超出静态页面范围扩展功效,包含生成动态内容能力。经过 IIS 服务器提供功效来产生或扩展任何动态内容,全部是经过使用 Web 服务扩展来实现。IIS 6.0 中增强安全功效许可用户单独启用或禁用
41、Web 服务扩展。在一次新安装以后,IIS 服务器将只传输静态内容。可经过 IIS 管理器中 Web 服务扩展节点来启用动态内容功效。这些扩展包含 ASP.NET、SSI、WebDAV 和 FrontPage Server Extensions。启用全部 Web 服务扩展可确保和现有应用软件最大可能兼容性。不过,这可能带来部分安全性风险,因为当全部扩展被启用时,同时也启用了您环境下 IIS 服务器所不需要功效,这么 IIS 受攻击面就会增加。为了尽可能降低 IIS 服务器受攻击面,只应该在 IIS 服务器上启用必需 Web 服务扩展。3.3.3 在专用磁盘卷中放置内容IIS 会将默认 Web
42、站点文件存放到 inetpubwwwroot,其中 是安装 Windows Server 操作系统驱动器。应该将组成 Web 站点和应用程序全部文件和文件夹放置到 IIS 服务器专用磁盘卷中。将这些文件和文件夹放置到 IIS 服务器一个专用磁盘卷 不包含操作系统磁盘卷 有利于预防目录遍历攻击。目录遍历攻击是指攻击者对在 IIS 服务器目录结构之外一个文件发送请求。比如,cmd.exe 在于 System32 文件夹中。攻击者可能请求访问以下位置:.Windowssystemcmd.exe,企图调用命令提醒假如 Web 站点内容在一个单独磁盘卷上,这种类型目录遍历攻击将无法成功,原因有二。首先,
43、cmd.exe 权限已经作为 Windows Server 基础结构一部分进行了重设,从而将对它访问限制在很有限用户群中。其次,完成该更改以后,cmd.exe 不再和 Web 根目录处于同一磁盘卷,而现在没有任何已知方法可经过使用这种攻击来访问在不一样驱动器上命令。除了安全性考虑之外,将站点和应用程序文件和文件夹放置在一个专用磁盘卷中使诸如备份和恢复这么管理任务变得愈加轻易。而且,将这种类型内容放在一个分开专用物理驱动器中有利于降低系统分区中磁盘争用现象,而且改善磁盘整体访问性能。3.3.4 设置 NTFS 权限Windows Server 将检验 NTFS 文件系统权限,以确定用户或进程对特
44、定文件或文件夹含有访问权限类型。应该分配对应 NTFS 权限,许可或拒绝特定用户对 IIS 服务器上站点访问。NTFS 访问权限应该和 Web 访问权限协同使用,而不是替换 Web 权限。NTFS 权限只影响那些已经被许可或被拒绝访问站点和应用程序内容帐户。Web 权限则影响全部访问站点或应用程序用户。假如站点权限和 NTFS 权限在某个文件夹或目录上发生冲突,限制性更强设置将生效。对于不许可匿名访问站点和应用程序,匿名帐户访问将被明确拒绝。当没有经过身份验证用户访问系统资源时,就是匿名访问。匿名帐户包含内置“Guest”帐户、“Guests”组和“IIS Anonymous”帐户。另外,除了
45、 IIS 管理员之外,对其它任何用户全部应该清除全部写权限。下表提供了相关 NTFS 权限部分提议,这些权限将应用于 IIS 服务器上不一样文件类型。不一样文件类型能够被组织在不一样文件夹中,以简化应用 NTFS 权限过程。表 3-1:NTFS 权限文件类型提议 NTFS 权限CGI 文件(.exe、.dll、.cmd、.pl)Everyone(实施)Administrators(完全控制)System(完全控制)脚本文件 (.asp)Everyone(实施)Administrators(完全控制)System(完全控制)包含文件(.inc、.shtm、.shtml)Everyone(实施)A
46、dministrators(完全控制)System(完全控制)静态内容(.txt、.gif、.jpg、.htm、.html)Everyone(只读)Administrators(完全控制)System(完全控制)3.3.5 设置 IIS Web 站点权限IIS 将检验 Web 站点权限,以确定在 Web 站点中可能发生操作类型,比如许可脚本源访问或许可文件夹浏览。您应该为 Web 站点分配权限,方便深入确保 IIS 服务器上站点在本指南定义三种环境下安全性。Web 站点权限可和 NTFS 权限结合使用。它们可配置给特定站点、文件夹和文件。和 NTFS 权限不一样,Web 站点权限影响试图访问 IIS 服务器站点每个人。Web 站点权限能够经过使用 IIS 管理器管理单元得到应用。下表列举了 IIS 6.0 支持 Web 站点权限,而且提供了