IIS作为当今流行的Web服务器之一,提供了强大的Internet和Intranet服务功能如何配置iis。如何加强IIS的安全机制,建立一个高安全性能的Web服务器,已成为IIS设置中不可忽视的重要的组成部分。IIS的安全功能是建立在Windows 2000 Server安全功能之上的。如表12-1所示的设置有助于Web站点的安全。 表1 文件系统 使用NTFS文件系统 FAT文件系统谈不上安全性 检查文件夹权限 Windows创建新的文件夹默认将“完全控制”的权限指派给“Everyone”组 检查网络驱动器的NTFS权限 Windows创建新的共享资源默认将“完全控制”的权限指派给“Everyone”组 设置“IUSR_服务器名字”账户的访问控制 有助于限制匿名用户访问服务器 将可执行文件放在单独的目录 便于指定访问权限和审核 以Windows NT的安全机制为基础 要建立高效安全的Web服务器首先需要以Windows NT的安全机制为基础。作为运行在 Windows NT操作系统环境下的IIS,其安全性也应建立在Windows NT安全性的基础之上。 1.应用NTFS文件系统 NTFS可以对文件和目录进行管理,而FAT(文件分配表)文件系统只能提供共享级的安全。建议在安装Windows NT时使用NTFS系统。 2.共享权限的修改 在默认情况下,每建立一个新的共享,其Everyone用户就能享有\"完全控制\"的共享权限,因此,在建立新共享后要立即修改Everyone默认权限。 3.为系统管理员账号更名 域用户管理器虽可限制猜测口令的次数,但这种方法对系统管理员账号却没有作用,这可能给非法用户带来攻击管理员账号口令的机会,通过域用户管理器对管理员账号更名不失为一种好办法。具体设置如下。 (1)启动\"域用户管理器\"。 (2)选中管理员账号。 (3)单击【用户】菜单下的【重命名】命令进行修改。 4.废止TCP/IP上的NetBIOS 管理员可以通过构造目标站NetBIOS名与其IP地址之间的映像,对Internet上的其他服务器进行管理,非法用户也可从中找到可乘之机。如果这种远程管理不是必需的,应立即废止(通过网络属性的绑定选项,废止NetBIOS与TCP/IP之间的绑定)。 安装时应注意的安全问题 IIS安装应注意的安全问题 1.避免安装在主域控制器上 在安装IIS之后,将在安装的计算机上生成IUSR_Computername匿名账户,该账户被添加到域用户组中,从而把应用于域用户组的访问权限提供给访问Web服务器的每个匿名用户。这不仅会给IIS带来巨大的潜在危险,而且还可能牵连整个域资源的安全。要尽可能避免把IIS安装在域控制器上,尤其是主域控制器。 2.避免安装在系统分区上 把IIS安放在系统分区上,会使系统文件与IIS同样面临非法访问,容易使非法用户侵入系统分区。 用户控制的安全性 1.匿名用户 安装IIS后产生的匿名用户IUSR_Computername(密码随机产生),其匿名访问给Web服务器带来潜在的安全性问题,应对其权限加以控制。如无匿名访问需要,可取消Web的匿名服务。具体方法如下。 (1)启动ISM(Internet Server Manager)。 (2)启动)取消其匿名访问服务。 2.一般用户 通过使用数字与字母(包括大小写)结合的口令,提高修改密码的频率,封锁失败的登录尝试及账户的生存期等方法对一般用户账户进行管理。 IIS对IP地址和域名的限制 IIS可以被设置为根据用户或工作组的IP地址或域名控制其访问Web站点、虚拟目录和单独文件。在Internet服务管理器中,选择要设置的站点,如\"默认Web站点\",单击【属性】按钮,在对话框中的\"目录安全性\"选项卡中,单击\"IP地址及域名限制\"框中的【编辑】按钮,如图1所示。 图1 设置IIS中的IP地址和域名限制 如果是给虚拟目录或服务器下面的文件配置IP地址或域名限制,方法与上面类似。为单独文件进行配置时,在MMC窗口右边选择要操作的文件,然后单击鼠标右键,从弹出的快捷菜单中选择【属性】选项,就会看到\"文件安全性\"选项卡,其余步骤完全一样。 IIS权限的设置 IIS权限的设置是在Internet服务管理器中相应的虚拟服务器、虚拟目录、目录、文件的属性中的主目录、虚拟目录、目录和文件中进行。IIS 5.0提供了两种访问权限:读取和写入权限。对于应用程序而言,有3种执行许可类别:无、纯脚本、脚本和可执行程序。如图2所示。 图2 设置IIS中某一虚拟站点的应用程序的执行许可 对于不同的资源,推荐使用不同的IIS权限。 静态Web内容:使用读取权限、无执行许可。 动态Web内容:使用读取权限、纯脚本执行许可。 脚本内容:使用读取权限、纯脚本执行许可。 可执行程序:使用读取权限、脚本和可执行程序执行许可。 数据库内容:使用读取、写入权限,无执行许可。 IIS身份验证 IIS的身份验证安全机制有4种验证方法:匿名访问、基本身份验证(密码用明文送出)、Windows域的简要验证和集成Windows验证。这些验证方法的安全级别由低到高。 匿名访问 这是IIS默认的用户账户。它的用户名是主机名,如名为bright的主机则显示为IUSR_BRIGHT。该用户不能更改密码,并且密码永不过期,隶属于Guests组。查看系统默认的安全策略,如图3所示。 图3 系统默认的安全策略 默认情况下该账户是匿名的,并且可以在本地登录,这样的设置是有很大的安全风险的,很多提升权限都是从这个账户开始的。为避免权限提升的风险,可以在验证方法中更改设置,或者更改该账户的用户名,或者禁止访问。 基本身份验证 此方式是绝大多数采用基本身份验证的情景 如果输入3次都错误的话,IIS服务器将会返回下面的错误信息:页面。但这种验证方式并不是很安全的,用户名和密码是ASCII明文,可以用Sniffer之类的工具监听到。所以它只能用于安全性要求不高的环境中。 Windows域的简要验证 此验证方式不是通用的,只有Internet Explorer 5.0以上版本才能支持此方式,并且必须是有Windows 2000域控制器的站点。它是通过Hash算法转换后发送口令,将口令作为文本文件存放在域控制器上,用来比较IIS发送的散列。该方式的安全性不是很高,一旦被人获得这个文件就能破解口令了。 集成Windows验证 如果用户是合法的Windows 域用户,登录到Windows 2000域控制器的站点,验证过程对用户而言是透明的。域控制器必须可以访问,并且只有Internet Explorer 2.0以上版本才能支持这种验证方式。以上验证方式可以综合使用。 访问权限控制 文件夹和文件的访问权限 安放在NTFS文件系统上的文件夹和文件,一方面要对其权限加以控制,对不同的用户组和用户进行不同的权限设置;另外,还可利用NTFS的审核功能对某些特定用户组成员读文件的企图等进行审核,有效地通过监视文件访问、用户对象的使用等发现非法用户进行非法活动的前兆,及时加以预防制止。具体方法如下。 (1)启动\"域用户管理器\"。 (2)单击【规则】菜单下的【审核】选项。 (3)设置\"审核规则\"。 目录的文件夹,可以通过操作Web站点属性页实现对服务除了提供NTFS文件系统提供的权限外,还提供读取权限,允许用户读取或下载目录下的程序和脚本。具体设置方法如下。 (1)启动ISM(Internet服务器管理器)。 (2)启动Web属性页并选择\"目录\"选项卡。 (3)选择)选择\"编辑属性\"中的\"目录属性\"进行设置。 端口安全性的实现 对于IIS服务,无论是站点,还是NNTP、SMTP服务等都有各自监听和接收浏览器请求的TCP端口号(Port)。一般常用的端口号为:,FTP是21,SMTP是25。用户可以通过修改端口号提高IIS服务器的安全性。如果用户修改了端口设置,只有知道端口号的用户才可以访问,但用户在访问时需要指定新端口号。 IP转发的安全性 IIS服务可提供IP数据包转发功能,此时,充当路由器角色的IIS服务器将会把从Internet接口收到的IP数据包转发到内部网中,禁用这一功能不失为提高安全性的好办法。具体设置如下。 (1)启动\"网络属性\"并选择\"协议\"选项卡。 (2)在TCP/IP属性中去掉\"路由选择\"。 SSL安全机制 IIS的身份认证除匿名访问、基本验证和Windows NT请求/响应方式外,还有一种安全性更高的认证:通过SSL(Security Socket Layer)安全机制使用数字证书。 SSL(加密套接字协议层)位于层之间,建立用户与服务器之间的加密通信,确保所传递信息的安全性。SSL是工作在公共密钥和私人密钥基础上的,任何用户都可以获得公共密钥来加密数据,但解密数据必须要通过相应的私人密钥。 使用SSL安全机制时,首先客户端与服务器建立连接,服务器把它的数字证书与公共密钥一并发送给客户端。客户端随机生成会话密钥,用从服务器得到的公共密钥对会话密钥进行加密,并把会话密钥在网络上传递给服务器。而会话密钥只有在服务器端用私人密钥才能解密,这样,客户端和服务器端就建立了一个惟一的安全通道。具体步骤如下: (1)启动ISM并打开Web站点的属性页。 (2)选择\"目录安全性\"选项卡。 (3)单击【密钥管理器】按钮。 (4)通过密钥管理器生成密钥对文件和请求文件。 (5)从身份认证权限中申请一个证书。 (6)通过密钥管理器在服务器上安装证书。 (7)激活Web站点的SSL安全性。 建立了SSL安全机制后,只有SSL允许的客户才能与SSL允许的Web站点进行通信,并且在使用URL资源定位器时,输入://,而不是安全机制的实现将增大系统开销,增加了服务器CPU的额外负担,从而降低了系统性能,在规划时建议仅考虑为高敏感度的Web目录使用。另外,SSL客户端需要IE 3.0及以上版本才能使用。 参考文献:飞思图书《网络服务器安全配置详解》