安全性与IIS_Windows教程
不过,确保你数据完整性仍是一个必须认真对待的关键性安全问题。IIS凭借丰富而又强大的验证、访问控制和审核功能可以保证数据的完整性,因为它以WINDOWS NT SERVER作系统为基础。此外,它还支持安全插接层SSL,它通过对IIS和支持SSL的所有浏览器之间的对话进行加密来保证安全通信更加保密。
黑客们知道大多数WEB和FTP网站都允许匿名访问。这些网站常常错误配置,这样就存在安全漏洞。下面介绍须采取哪些措施才能保证保证IIS使你的网络和数据完全避免黑客入侵。
一、利用现有的WINDOWS NT安全性能来保护IIS ISS通过WINDOWS NT安全模型提供安全性,也就说,安全帐户管理器数据库中定义的用户帐户和组将确定一旦用户接入IIS机器,他们能进行什么操作。你不仅要核查现有的帐户权限和许可权,并且要限制匿名访问使用的帐户权限和许可权,这非常重要。
记录IIS的所有服务程序都支持广泛的记录功能。记录功能很重要,因为它能用来监视可疑的活动,从而决定应当保留什么、应当取消什么,以便进行容量规划。
启动记录功能很容易,每项服务的事件都共同记录在同一个公用文件中。若要启动记录功能,请打开IIS MANEGER,双击你要启动其记录功能的服务器,显示PROPERTIES对话框。接着单击LOGGING标签,将弹出一个对话框。该标签的用法相当直接,你只须单击ENABLE LOGGING选项,然后你选择是记录到一个文本文件,还是记录到SQL数据库,并确定日志文件多长时间更新一次。
提示当你第一次安装服务器时,要设置为DAILY LOGGING(日志),这样你可以每天看到结果。过一段时间后,你再选择最合适的记录方式。
ADVANCED选项通过单击SERVICE PROPERTIED对话框的ADVANCED标签,IIS还支持简单过滤功能。你可使用ADVANCED OPTIONS标签来限制或允许某些IP地址对Web服务器的访问。在弹出的ADVANCED标签中,激活By default all computer will be granted access(缺省时,所有计算机将获得访问权)你可以使用ADD钮将应当拒绝访问的某些特定的IP地址范围输入进来。
或者,如果你想强制执行严格的安全保护,你可以选择By Default all computer will be den access(缺省时,所有的计算机将被拒绝访问),然后根据应当能访问这台机器的IP地址确定主机表。这是一个功能强大而且价值较高的工具,有助于确保你网站的安全,所以不应忽视。
二、IIS Advanced安全性能与Exchange Server一样,Internet信息服务器提供Advanced安全性能,使你通信绝对安全。它们由SSL(安全插接层)2.0版和3.0版以及PCT(保密通信技术)1.0组成。SSL可对TCP/IP通信进行数据加密、服务器验证和邮件集成功能。
安全插接层安全插接层(SSL)是一个由Netscape通信公司开发的协议,并提交环球网联盟(W3C)作为保证Internet通信安全的标准。当支持SSL的一台客户机(Internet Explorer2.0和3.x和Netscape 3.x)与支持SSL的服务器连接时,在TCP/IP连接时就出现“信号交换的交接关系”来进行验证,以确定在通信中将实施哪一级安全保护。
在建立连接后,SSL接着对流经使用中的应用协议的数据进行加密和解密。所有请示和响应信息都应该加密,其中包括客户机下在请示的统一资源定位符(URL)、其它形式的数据(如你的地址或食用卡号码)、任何验证信息(用户名和口令)以及所有由服务器返回到客户机的数据。
SSL是位于应用协议(如HTTP)之下,SMTP位于连接协议TCP/IP之上。MICROSOFT INTERNET信息服务器支持超文本传输协议保密(HTTPS)访问方式。尽管SSL能提供实际不可破译的加密功能,但SSL加密传输的速度要低于非加密传输。因此,为了防止你整个WEB网站的性能下降,你可以考虑只把SSL作为虚拟的文件夹用来处理高度机密信息,如提交的包含信用卡信息的表格。
你可以在你WEB网站的根目录(\InetPub\Wwwroot是缺省值)或在一个或多个虚拟文件夹中启动SSL安全功能。一旦SSL配置好和启动后,只有支持SSL的客户机能与支持SSL的WWW公文夹进行通信交流。
在Web服务器上启动SSL安全性能,需要进行以下几步工作:
1、使用密钥管理器来生成一个密钥对文件和一个请求文件。
2、从一个认证机构获得一个证书。
3、在你的服务器上安装新获得的证书。
4、激活WEB服务文件夹中的SSL安全功能。
对于保密和公用内容,微软公司建议你使用公开的目录。比如,c:\InetPub\Wwwroot\Secure和C:\InetPub\Wwwroot\Public。
应注意以下几点:
(1)为IIS生成一个密钥对时,在任何域中不要使用逗号,原因是逗号被解释为字段的结尾。它们会在没有警告的情况下产生无效请求。
(2)如果你拥有多台具有IIS的虚拟服务器功能的Web服务器在安装你的证书时,要确定具体服务器的IP地址,否则系统创建的所有虚拟服务都适用同一个证书。
(3)如果你启动SSL,任何指向支持SSL的WWW文件夹中文档的URL必须使用http://,而不是在URL中的http://。使用在URL中的http://的任何链路不支持安全文件夹。
IIS的一般性安全提示你使用IIS随意向INTERNET发布信息时,要确保网络安全性。除了我们以前讲座过后IIS功能外,你还要做到以下各点:
(1)为系统分区和各项IIS服务程序生成分开的区,这样黑客无法轻易地从某项服务程序的某个漏洞对整个机器访问。
(2)对机器的所有分区使用NTFS,要保证用户权限设置正确。
(3)将IIS服务器放置于其自己的域中,并与你的帐户建立一种单向委托关系。如果黑客能得到某个有效帐户的信息,那个帐户也无法对你的用户域进行访问。
(4)为各项INTERNET服务使用单独帐户(如果你计划运行的不止是Web服务器的话),这使得跟踪用户的活动相当容易。
(5)核查,然后再三核查为指定进行匿名访问的帐户分配的权限和许可权。需要给用户分配最小的许可权,通常这是读许可权。
(6)只在你IIS机器上存储非机密信息,并将信息放置在防火墙。这样,如果信息安全性遭到破坏,黑客仍必须穿越防火墙。
(7)在服务器上使用WINDOWS NT SERVER的TCP/IP过滤功能,只允许连接到你需要支持IIS服务的端口。比如,如果你只想运行Web服务器只须启动端口80。
(8)如果用户利用非匿名帐户对服务器进行访问,务必通过加密口令进行验证。
三、安全性与WEB服务器Web服务器是IIS中一个强有力的功能全面的工具,它优于其他同类产品。它的性能得到优化。且作为WINDOWS NT SERVER下的一项服务运行时,能为各种规模的网络提供快速、方便、安全的WEB出版功能。
(一)如何保护Web服务器的安全呢?如果你计划建立WEB网站,要确保你WEB网站及其内容的安全以及你网络及其资源的安全,除了我们曾经提到过的安全措施外,你还要采取其它相应的手段。
**注意**由于IIS提供的三种服务配置起来非常相似,故我们只详细介绍Web服务器的配置,接着只说明Ftp服务器和Gopher服务器的差异。
1、用户和口令验证明首先你需要了解匿名访问的严重后果,并采取预防措施来确保你为匿名访问创建的帐户拥有适当的许可权。若要设置用户对你的WEB服务器进行访问的类型,请在IIS MANAGER中双击WWW,调出你的WEB服务器再双击WEB服务器,就会显示出WWW SERVICE PROPERTIES对话框。在对话框中,你可以看到,设置Web服务器服务程序可以使用多种选项。对于安装的大多数的IIS而言,缺省选项最好。然而,有两种关键的设置将决定用户对WEB网站的访问等级:匿名登录和口令验证。
如果你希望允许大众进行访问,一定要确保你同意匿名访问。按照缺省设置,当IIS安装好后,在你的用户数据库就会创建一个新用户帐户,其名字为IUSR_,后接已安装好的服务器名。举例说明:如果服务器名为SAMUEL-1,新用户帐户则为IUSR_SAMUE-1。当帐户创建好,它被赋予有限的访问权,并增加到域用户、客人用户和EVERYONE组中。
此外,IUSR_帐户被赋予在本地登录的权限(LOGON LOCALLY)。所有WEB用户都必须具有这种权限,原因是他们的请求被传送至Web服务器服务程序,该服务程序利用他们的帐户去登录,接着允许WINDOWS NT分配相应的访问权。
如果你希望所有用户按照特定的用户帐户和口令得到验证,你仅仅清除Anonymous Logon(匿名登录)选项即可。那将要求各用户在访问服务器的资源前输入有效的用户ID和口令。如果你能启动启示功能,你就能查看到谁正访问Web服务器以及他们所进行的操作。
另一项决定你网站安全性的重要设置是你想使用的口令验证类型,这里我们不再深入探讨。为了实现最大的安全性,你可以激活Windows NT Challenge/Response选项,它在传输信息前对你的用户ID和口令进行加密,从而保证帐户信息在网络安全传输。(遗憾的是只有Microsoft Internet Explorer 2.0及2.0以上版本才支持这种功能。)
2、虚拟目录为确保你网站的安全性,配置WEB服务器可以看到的目录以及相应的访问层次也是很重要的。当你第一次安装IIS时,按照缺省设置,它会自行创建一个叫做InetPub的目录(安装老版本的IIS则创建InetPub),接着为其提供的INTERNET服务生成根目录。Web服务器的根目录缺省为wwwroot,它应当是你主页所在位置。接着你可以使用Directories标签来增加存储额外内容的新目录。
3、Web服务器安全提示如果你正运行Web服务器,尽管你已根据以前所讨论过的内容采取了预防措施,也许仍有些安全漏洞有待于你填补。以下列出当提供WEB服务时,你应当采取的一般措施:
*停用.bat和.cmd文件的映射功能。如果黑客们拿到这些Web服务器上的可执行文件的话,他们就可运行这些Web文件。你通过取消对脚本程序的所有目录的阅读许可权,就可以停用某些文件夹映射功能。
*总是将你的脚本程序和数据存储在不同的目录,务必使包含脚本程序的目录只拥有执行许可权。
*禁止使用Directory Browsing Allowed(允许目录浏览)。这一功能启动后会给出一个浏览器,该浏览器含有某个目录中的超文本文件列表,从而使黑客能篡改目录中的文件。
*避免使用Remote Virtual Directories(远程虚拟目录)。务必将IIS所有的可执行文件以及数据安装在同一台机器上,并利用NTFS来保护。当用户试图从远程目录访问文档时,总是使用输入到属性页上的用户名和口令,这就有可能绕过访问控制列表。*当编写和使用CGI脚本程序时,一定要小心。有经验的黑客也许会利用编写拙劣的CGI脚本程序来对你的系统进行访问。
*牢记特权最小的原则,如果你计划只运行Web服务器,那么请只激活Web服务器主机的端口80。
*全面测试你的Web服务器——设法发现并弥补任何漏洞。最好的方法是,让可靠而且内行的同事设法破坏你网络的安全性。
*想了解额外的情况,请上网www.ncsa.com/webcert/sgl_site.html去查看NCSA Web Site Certification Program文档,寻求使你的Web服务器安全的灵丹妙药。
四、安全性与FTP服务器Ftp服务器是唯一一项允许用户通过INTERNET将文件传输至你服务器的IIS服务程序。设置FTP安全性能、用户和口令验证与Web服务器大致相似。但是有一点值得你**注意**:用户名和口令将以明文(非加密)形式传输至Ftp服务器服务程序,这意味着如果使用网络嗅探器就可以捕捉到这一信息,从而破坏网络的安全!
在你允许大众进行访问时,一定要熟悉FTP Service Properties页的Current Session钮。它告诉你哪个用户与Ftp服务器相连,他们何时连接,以及他们已连接多长时间。
虚拟目录设置Ftp服务器的目录与设置Web服务器服务程序十分类似,一定要保证用户不能访问FTPRoot目录之外的目录,并要正确设置FTP目录的访问许可。
FTP服务器安全提示运行Ftp服务器时,为保证安全你应当了解的以下事项:
1、谨记用户可以修改Ftp服务器的目录。一定要确保他们无法进入FTPRoot目录以外的目录,同时要使用NTFS来保证你服务器的安全。
2、避免使用远程虚拟目录。当用户度图从远程目录访问文档时,总是要求其提供输入到属性页的用户名和口令,这就有可能绕过访问控制表表。
3、一定要启动记录功能,查找可疑活动,如在日志和事件查看器中查找没有成功的登录4、如果你只计划运行Ftp服务器,只启动FTP主机的端口20和端口21。
5、全面测试你的Ftp服务器,并设法找到任何漏洞。你还可以让一个可靠的内行的同事设法打入系统。
五、安全性和Gopher服务器保护Gopher服务器与保护FTP服务程序和Web服务程序很类似,差别在于Gopher只允许匿名登录。