作者:盛福深、胡杰华
摘自赛迪网
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及以上版本才能使用。
