照单全收 增强Windows IIS安全性
·将服务器放置在物理上安全的地方。
·不要在域名控制器上安装IIS服务器。
·不要安装打印机。
·在一个服务器上使用两个网络接口,一个用于管理,另一个用于网络。
·安装服务包、补丁和hotfix。
·在服务器上运行IISLockdown。
·安装和设置URLScan。
·保证服务器远程管理的安全并且设置加密、低会话超时和账户关闭。
·关闭不必要的Windows服务。
·确保服务使用最低权限账户运行。
·关闭FTP、SMTP和NNTP服务,如果这些服务不需要的话。
·关闭Telnet服务。
·关闭ASP.NET状态服务,如果你的应用程序不使用这个服务的话。
·关闭webDAV,如果应用程序不使用它的话。如果需要的话,要保证webDAV的安全。(参见应用指南:如何创建一个安全的webDAV发布目录,网址:support.microsoft.com)
·不要安装数据访问组件,除非有具体的需求。
·不要安装HTML版本的互联网服务管理器。
·不要安装微软索引服务器,除非有需要。
·不要安装微软FrontPage服务器扩展,除非有需要。
·增强TCP/IP栈。
·关闭NetBIOS和SMB(关闭端口137、138、139和445)。
·重新设置回收站和页文件系统数据政策。
·对CMOS设置进行加密。
·加密物理媒介(软驱、CD-ROM光驱等等)。
账户
·从服务器上删除不使用的账户。
·关闭Windows Guest账户。
·重新命名管理员账户并且设置一个强口令。
·关闭IUSR_MACHINE账户,如果应用程序不使用这个账户的话。
·创建一个客户最低权限的匿名账户,如果应用程序需要匿名访问的话。
·不要向匿名账户提供向Web内容目录写入的权限,或者允许它执行命令行工具。
·如果你托管多个Web应用程序,为每一个Web应用程序配置一个单独的匿名用户账户。
·将ASP.NET处理账户设置为最低权限。(这种情况仅适用于如果你不使用默认的ASP.NET账户。这是一个最低权限的账户)
·对服务器强制执行强大的账户和口令政策。
·限制远程登录。(从每一个人的用户群中删除"从这个网络访问这个计算机"的用户权限。)
·管理元之间不共享账户。
·关闭无效会话(匿名登录)。
·账户委托需要批准。
·不允许用户和管理员共享账户。
·在一个管理员组不要创建二个以上的账户。
·要求管理员在本地登录,或者保证远程管理解决方案的安全。
文件和目录
·使用多个磁盘或者分区卷,不要在作为操作系统文件夹的同一个硬盘分区上安装Web服务器主页目录。
·在NTFS分区上存储文件和目录。
·将网站内容放在非系统NTFS分区上。
·创建一个新的站点,关闭默认的站点。
·把登录文件放在非系统NTFS分区上,但是,不要与网站内容放在同一个分区上。
·限制全员组(不允许访问WINNTsystem32或者Web目录)。
·保证Web站点根目录拒绝匿名互联网账户写入ACE。
·保证内容目录拒绝匿名互联网账户写入ACE。
·删除远程IIS管理应用程序(WINNTSystem32InetsrvIISAdmin)。
·删除资源工具、实用软件和SDK。
·删除样本应用程序(WINNTHelpIISHelp, InetpubIISSamples)。
·删除头文件内容位置的IP地址。
共享
·删除全部不必要的共享(包括默认的管理共享)。
·限制访问需要的共享(全员组没有访问共享)。
·删除管理的共享(C$和Admin$),如果不需要的话(微软管理服务器和微软操作管理器需要这些共享)。
端口
·把面向互联网的端口限制到80端口(和443端口,如果使用SSL的话)。
·加密内部网通讯(例如使用SSL),或者限制内部网通讯,如果你没有加密的数据中心基础设施的话。
注册
·限制远程注册访问。
·保证SAM安全(HKLMSystemCurrentControlSetControlLSANoLMHash)。这仅适用于单独的服务器。
审查和记录
·审查失败的登录企图。
·转移和加密IIS记录文件。
·根据应用程序安全需求以适当的文件尺寸设置记录文件。
·定期存档和分析记录文件。
·审查对Metabase.bin文件的访问。
·设置IIS以便进行W3C扩展的记录文件格式审查。
·阅读support.microsoft.com网站上有关如何使用SQL服务器分析Web记录的文章。
站点和虚拟目录
·在非系统分区上放置Web站点。
·关闭"父目录"设置。
·删除
- 文件传输选FTP还是FTPS(06-25)
- Backup Manager FTP服务器信息泄露漏洞 (08-26)
- 为FTP穿上SSL装甲 客户端也能支持SSL(10-16)