如何用IIS建立高安全性Web服务器来源:WWW.CNSAFE.NET
IIS(Internet Information Server)作为当今流行的Web服务器之一,提供了强大的Internet和Intranet服务功能,如何加强IIS的安全机制,建立一个高安全性能的Web服务器,已成为IIS设置中不可忽视的重要组成部分。
本文将通过以下两个方面来阐述加强IIS安全机制的方法。
一、 以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.安装时应注意的安全问题
(1)避免安装在主域控制器上
在安装IIS之后,将在安装的计算机上生成IUSR_Computername匿名账户,该账户被添加到域用户组中,从而把应用于域用户组的访问权限提供给访问Web服务器的每个匿名用户,这不仅给IIS带来巨大的潜在危险,而且还可能牵连整个域资源的安全,要尽可能避免把IIS安装在域控制器上,尤其是主域控制器。
(2)避免安装在系统分区上
把IIS安放在系统分区上,会使系统文件与IIS同样面临非法访问,容易使非法用户侵入系统分区。
2.用户控制的安全性
(1)匿名用户
安装IIS后产生的匿名用户IUSR_Computername(密码随机产生),其匿名访问给Web服务器带来潜在的安全性问题,应对其权限加以控制。如无匿名访问需要,可取消Web的匿名服务。具体方法:
①启动ISM(Internet Server Manager);
②启动WWW服务属性页;
③取消其匿名访问服务。
(2)一般用户
通过使用数字与字母(包括大小写)结合的口令,提高修改密码的频率,封锁失败的登录尝试以及账户的生存期等对一般用户账户进行管理。
3.登录认证的安全性
IIS服务器提供对用户三种形式的身份认证。
匿名访问:不需要与用户之间进行交互,允许任何人匿名访问站点,在这三种身份认证中的安全性是最低的。
基本(Basic)验证:在此方式下用户输入的用户名和口令以明文方式在网络上传输,没有任何加密,非法用户可以通过网上监听来拦截数据包,并从中获取用户名及密码,安全性能一般。
Windows NT请求/响应方式:浏览器通过加密方式与IIS服务器进行交流,有效地防止了窃听者,是安全性比较高的认证形式。这种方式的缺点是只有IE3.0及以上版本才支持。
4.访问权限控制
(1)文件夹和文件的访问权限:安放在NTFS文件系统上的文件夹和文件,一方面要对其权限加以控制,对不同的用户组和用户进行不同的权限设置;另外,还可利用NTFS的审核功能对某些特定用户组成员读文件的企图等方面进行审核,有效地通过监视如文件访问、用户对象的使用等发现非法用户进行非法活动的前兆,及时加以预防制止。具体方法:
①启动“域用户管理器”;
②启动“规则”选单下的“审核”选项;
③设置“审核规则”。
(2)WWW目录的访问权限:已经设置成Web目录的文件夹,可以通过操作Web站点属性页实现对WWW目录访问权限的控制,而该目录下的所有文件和子文件夹都将继承这些安全性。WWW服务除了提供NTFS文件系统提供的权限外,还提供读取权限,允许用户读取或下载WWW目录中的文件;执行权限,允许用户运行WWW目录下的程序和脚本。具体设置方法:
①启动ISM(Internet服务器管理器);
②启动Web属性页并选择“目录”选项卡;
③选择WWW目录;
④选择“编辑属性”中的“目录属性”进行设置。
5.IP地址的控制
IIS可以设置允许或拒绝从特定IP发来的服务请求,有选择地允许特定节点的用户访问服务,你可以通过设置来阻止除指定IP地址外的整个网络用户来访问你的Web服务器。具体设置:
(1) 启动ISM(Internet服务器管理器);
(2) 启动Web属性页中“高级”选项卡;
(3) 进行指定IP地址的控制设置。
6.端口安全性的实现
对于IIS服务,无论是WWW站点、FTP站点,还是NNTP、SMTP服务等都有各自监听和接收浏览器请求的TCP端口号(Post),一般常用的端口号为:WWW是80,FTP是21,SMTP是25,你可以通过修改端口号来提高IIS服务器的安全性。如果你修改了端口设置,只有知道端口号的用户才可以访问,但用户在访问时需要指定新端口号。
7.IP转发的安全性
IIS服务可提供IP数据包转发功能,此时,充当路由器角色的IIS服务器将会把从Internet接口收到的IP数据包转发到内部网中,禁用这一功能不失为提高安全性的好办法。具体设置如下:
(1) 启动“网络属性”并选择“协议”选项卡;
(2) 在TCP/IP属性中去掉“路由选择”。
8.SSL安全机制
IIS的身份认证除了匿名访问、基本验证和Windows NT请求/响应方式外,还有一种安全性更高的认证:通过SSL(Security Socket Layer)安全机制使用数字证书。
SSL(加密套接字协议层)位于HTTP层和TCP层之间,建立用户与服务器之间的加密通信,确保所传递信息的安全性。SSL是工作在公共密钥和私人密钥基础上的,任何用户都可以获得公共密钥来加密数据,但解密数据必须要通过相应的私人密钥。使用SSL安全机制时,首先客户端与服务器建立连接,服务器把它的数字证书与公共密钥一并发送给客户端,客户端随机生成会话密钥,用从服务器得到的公共密钥对会话密钥进行加密,并把会话密钥在网络上传递给服务器,而会话密钥只有在服务器端用私人密钥才能解密,这样,客户端和服务器端就建立了一个惟一的安全通道。具体步骤如下:
(1) 启动ISM并打开Web站点的属性页;
(2) 选择“目录安全性”选项卡;
(3) 单击“密钥管理器”按钮;
(4) 通过密钥管理器生成密钥对文件和请求文件;
(5) 从身份认证权限中申请一个证书;
(6) 通过密钥管理器在服务器上安装证书;
(7) 激活Web站点的SSL安全性。
建立了SSL安全机制后,只有SSL允许的客户才能与SSL允许的Web站点进行通信,并且在使用URL资源定位器时,输入https:// ,而不是http:// 。
SSL安全机制的实现,将增大系统开销,增加了服务器CPU的额外负担,从而降低了系统性能,在规划时建议仅考虑为高敏感度的Web目录使用。另外,SSL客户端需要使用IE 3.0及以上版本才能使用。