IIS安全性配置,如何加固外网上的IIS服务器安全

作者: 澳门金莎娱乐网站  发布:2019-07-07

关于IIS服务器的安全主要包括六步:

    最近,和朋友们在聊及ASP.NET程序的安全性没有JAVA高,IIS(Internet Infomartion Server)的存在很多漏洞(以及新型蠕虫,例如Code Red 和Nimda),安全得不到保障。针对IIS的安全性查了些资料,发现IIS的安全性曾被普遍关注。权威人士以及Microsoft公司的竞争对手花了大量精力仔细检查并批评了IIS安全功能。Gartner调查公司甚至更进一步建议被Code Red和Nimda攻击过的公司应完全放弃使用IIS。

1、使用安全配置向导(Security Configuration Wizard)来决定web服务器所需的最小功能,然后禁止其他不需要的功能。具体地说,它能帮你

    安全漏洞和病毒问题并不只涉及到IIS用户。事实上,第一个有记载的Internet蠕虫在1987年就被发布了,它主要是针对Unix系统,并且利用了缓冲区溢出问题。根据CERT Coordination Center(计算机应急处理协调中心)的2001年度报告:BIND(Berkeley Internet Name Domain)的多个漏洞都是其中最严重的安全漏洞。包括OpenLinux2.3、RedHat Linux、True64 UNIX、AIX 5L、HP-UX 1li、SGI、SUN Solaris、FREEBSD、NetBSD、OpenBSD在内的大多数操作系统受到了它的影响。然而IIS没有受到影响,这是因为Microsoft的DNS的实现方式并不基于BIND。根据CERT Coordination Center报告,第二严重的安全漏洞是sadmind/IIS 蠕虫,它会影响IIS和Sun Solaris系统。

1>禁止不需要的服务

    安全漏洞也涉及到Open Source产品。已有大量的安全表明黑客一直在设法及更新型开放代码系统的安全,其中包括Apache Software Foundation的一个公用服务器。

2>堵住不用的端口

    IIS吸引了众多注意力,因为它是继Apache网站服务器之后被最广泛使用的Web服务器之一,所以Microsoft的产品理所当然地要接受大量的安全性检查。

3>至于打开的端口,对可以访问的地址和其他安全做进一步的限制

    大多数的IIS安全漏洞可以被合适的服务包和补丁程序修补好。本文我们将研究如何使用IIS易受攻击的风险最小化,以及如何使用ASP.NET的设置选项使其安全性最大化。

4>如果可行,禁止不需要的IIS的web扩展

一、安全性和服务器的基础结构

5>减小对SMB,LAN Manager,和LDAP协议的显露

    同其他事情一样,没有百分之百安全的系统或应用程序。安全性是一个过程,而非终极目标,要求我们不懈地努力。

6>定义一个高信噪比的对策

    一般认为典型的Windows Web应用程序的基础结构由许多组件组成,包括一个路由器、防火墙、负载平衡与群集技术、操作系统以及IIS。

2、把网站文件放在一个非系统分区(partition)上,防止directory traversal的缺陷,对内容进行NTFS权限稽查(Audit)。

图片 1 

3、对自己的系统定期做安全扫描和稽查,在别人发现问题前尽早先发现自己的薄弱处。

     其中的每一个组件都在保护服务器基础结构的安全方面起到相应的作用。例如:在网络通信到达web服务器以前,防火墙会过滤诸如端口、包和协议的网络通信量。假定我们的Web站点打算使用HTTP和HTTPS,并且已经堵住了除80和443以外的所有端口。虽然我们可能在防火墙内关上除80和443以外的所有端口,而且这样做会大大地增加其安全性,但是站点仍然不一定是安全的。设置每一个组件并使其安全性最大化,这一点很重要。

4、定期做日志分析,寻找多次失败的登陆尝试,反复出现的404,401,403错误,不是针对你的网站的请求记录等。

二、计划的安全性

5、如果使用IIS 6的话,使用Host Headers ,URL扫描,实现自动网站内容和IIS Metabase的Replication,对IUSR_servername帐号户使用标准的名称等。

像应用程序开发一样,安全性包含许多阶段,如计划、实现、测试和监控:

6、总的web架构的设计思路:别把你的外网web服务器放在内网的活动目录(Active Directory)里,别用活动目录帐号运行IIS匿名认证,考虑实时监测,认真设置应用池设置,争取对任何活动做日志记录,禁止在服务器上使用Internet Explorer等。

1.应该在应用程序设计阶段之前就启动安全性的计划阶段,而且应当考虑应用程序安全性的所有方面。

您正在阅读:技巧:如何加固外网上的IIS服务器安全

2.安全性的实现阶段要实现安全性----包括开发应用程序和设置服务器或应用环境中的安全性设置----如创建用户帐户和角色、删除或禁用非法帐户等

  1. 数据库服务器安全权限的控制策略
  2. 网管秘笈:如何轻松搞定服务器管理
  3. 通过Linux操作系统引导CD排除服务器故障

3.设置完安全性之后,安全性的测试阶段要进行应用程序的测试,而且要保证应用程序的功能合理并且有足够的权限与外部资源连接,诸如连接一个数据库或一个服务器主机的中间层组件。

1、使用安全配置向导(Security Configuration Wizard)来决定web服务器所需的最小功能,然后禁止其他不需要的...

4.可以将安全性的监视阶段看作是一个展示和支持的阶段,负责支持已经被实现了的安全性,并且监视对安全性有损害的任何可能的攻击或入侵。

三、保护IIS

我们应在计划阶段甚至应在安装操作系统和IIS之前就启动IIS的安全性。在安装、设置操作系统和IIS之前,我们应该自问一下将如何使用服务器。例如我们应该问以下这类问题:

1.服务器将以何种形式存在:是Internet Web应用程序还是内部网Web应用程序

2.如何使用IIS:是每台服务器使用单独Web应用程序,还是共享主机Web应用程序

3.支持何种身份验证:匿名用户还是验证用户

4.要支持SSL(Secure Socket Layer,安全套接字层)吗

5.IIS服务器要担当FTP和NNTP主机吗

6.IIS服务器要支持SMTP服务吗

7.允许用户在Web服务器上创建、修改和删除文件吗

8.服务器要与其他的服务器相互配合吗

9.需要安装哪些服务?例如需要在服务器上安装FTP服务吗

10.需要打开哪些端口?例如:如果打算实现FTP服务,那么我们就必须打开21端口

11.如果设置IIS目录和文件?要创建和禁止哪些用户帐户

12.需要在IIS服务器上安装WebDev 和 Microsoft FrontPage扩展吗

一旦我们提供了这些问题的答案,我们就能开始确定如何设置服务器。例如:如果我们知道在服务器上不打算使用NNTP(网络新闻传输协议)、FTP和SMTP服务,那么就可以删除或者停止这些服务,这样就将会减少攻击的可能性。

要按照以下几个基本步骤保护IIS,并且禁用您不打算使用的功能,包括:

图片 2为Web站点和虚拟目录分配适当的Access Control List(访问控制列表,ACL)

图片 3禁用或者删除所有的示例应用程序

图片 4删除IIS的Admin虚拟目录和不用的脚本映射

图片 5为IIS日志文件和授权登录设置适当的ACL

3.1 设置Access Control List

设置ACL是保护IIS的第一个步骤。针对不同类型的文件,我们既可以设置Windows ACL又可以设置基于IIS的ACL。这允许我们可以根据文件类型对特殊用户授予相应类型的权限。

可以有很多种不同的方法来管理ACL,但是对于特殊用户访问特定目录,最直接的一个管理方法是简单地访问特定目录的“属性”对话框,选择“共享”选项卡,并且单击“权限”按钮,打开当前目录的权限设置对话框进行用户和权限设置。

 

图片 6

图片 7

我们应该试着允许用户只能访问他们需要那些资源,而不能再访问其他更多的资源。针对特殊文件类型的权限设置。

文件类型

Access Control List(访问控制列表)

诸如.asp、.aspx、.ascx等脚本文件类型。 Internet Guest Account(Execute)
Everyone(Execute)
System(Full Control)
Administrators(Full Control)
包括文件(.inc、.shtm以及.shtml) Internet Guest Account(Read only)
Everyone(Read only)
System(Full Control)
Administrators(Full Control)
静态文件(.htm、.html、.gif、.jpg、.jpeg、.txt、.doc、.pdf等) Internet Guest Account(Read only)
Everyone(Read only)
System(Full Control)
Administrators(Full Control)
可执行的CGI类型文件(.cgi、.dll、.cmd以及.pl) Internet Guest Account(Execute)
Everyone(Execute)
System(Full Control)
Administrators(Full Control)

注意:

在典型的ASP中,许多人不愿意在包括文件中放任何代码,这是因为用户可以直接向包含文件提出请求,获得对代码的访问权限。

默认状态下,FTP(C:inetpubftproot)和SMTP(C:inetpubmailroot)文件夹授予Everyone组Full Control(完全控制)权限。是否需要改变权限取决于应用程序的要求。例如:如果我们打算为Everyone和Internet Guest Account帐户提供Write权限,那么明确的做法是将这些文件夹移到与IIS Server所在卷不同的其他卷上,而且要强制Windows的磁盘配额限制向这些目录中写入的数据量。这样,如果有人获得对这些文件夹的访问权限,他们也不能上传大量的信息(上传大量的信息会耗尽服务器上的所有可用磁盘空间,从而使服务器变得不稳定或者降低服务器的整体性能)。

    我们应该禁用Directory Browsing选项。这样将会阻止黑客导航到带有危险工具的目录。如果您不打算使用CGI应用程序,那么选择Scripts only选项提供Execute权限。

图片 8 

3.2 禁用父路径浏览

父路径浏览允许您在调用MapPath功能时使用".."浏览系统文件。默认状态下,该选项是被允许的。您应当禁用它,因为它能让黑客访问那些我们不想让他们访问的目录。可以按照以下步骤禁用该选项:

 图片 9右击Web站点或者需要保护的虚拟目录,并且选择“属性”选项。

 图片 10 单击“主目录”选项卡并且选择“配置”按钮。

 图片 11 单击“选项”选项卡,取消"启用父路径"复选框。

图片 12

3.3 删除IIS示例

当安装IIS时,随之会提供一些可用来示范安装和应用该技术的示例应用程序。建议删除产品服务器上的这些IIS示例的做法是非常明智的。这些示例使服务器易于受到攻击,因为黑客将知道存放它们的位置并且知道怎样利用它们发动一次攻击。

IIS 示例                            虚拟目录

IIS示例                             IISSamples

IIS文档                             IISHelp

数据访问                           MSADC

IIS4服务器包括IISADMPWD虚拟目录,它允许用户重置windows口令。如果您已经从IIS4升级到IIS5就可以不用删除IISADMPWD虚拟目录(现在用IIS6、7的比较多)。

3.4 禁用不用的COM组件

  对于许多Web应用程序并不需要在服务器上安装每一个COM组件。应用删除File System Object 等不用的COM组件,因为它们可能被用来攻击服务器。我们可以使用Regsvr32实用程序加上/u 命令行开关来取消注册COM组件。

**3.5 启用日志记录**

    用日志来记录IIS收到的HTTP请求是一个很好的设置选项,因为日志记录使我们能验证服务器在任意给定的时间正在做什么事情,包括我们设置好的安全方案正在如何运转。

    我们可以用IIS MMC启动日志记录。启动IIS MMC,并单击web站点或者您想要启用日志记录的虚拟目录,然后右击目录节点并且选择“属性”选项,打开对应的属性对话框。在web site标签内启用“启用日志记录”复选框。在启用日志记录时要确信您选择了IIS MMC Extented Log File Format(W3C扩展日志格式)选项,而且要启用下列选项来筛选Extended Properties标签。

图片 13

 Client IP Address

 User Name

 Method

 URI Stem

 HTTP Status

 Win32 Status

 User Agent

 Server IP Address

 Server Port

  这些日志项会提供所有发向IIS请求的消息。IIS日志文件可能会受到攻击。或者黑客甚至可能试图删除IIS日志文件以便隐藏他们一起在搞的破坏。因此通过正确设置ACL来保护IIS日志是非常重要的。需要确保在%systemroot%system32LogFiles产生的IIS日志文件拥有下列ACL:这将阻止黑客删除IIS日志文件和掩盖他们的行踪。

 Administrator (Full Control)

 System (Full Control)

本文由金沙澳门官网发布于澳门金莎娱乐网站,转载请注明出处:IIS安全性配置,如何加固外网上的IIS服务器安全

关键词: 金沙澳门官网