发布网友 发布时间:2022-04-21 20:54
共4个回答
热心网友 时间:2023-07-05 20:50
如何用IIS建立高安全性Web服务器
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及以上版本才能使用。
提高IIS的安全性
--------------------------------------------------------------------------------
中华企业信息港 加入时间 2002-5-23 13:56:00 阅读:2482
自动滚屏(右键暂停)
概要:使用IIS的省缺设置就象把你屋子的钥匙给了别人,本文教你如何把门锁上。
没有任何系统是100%安全的,系统漏洞会不断地发现,这是因为黑客和系统管理员一样也在整天看着新闻组,收集着这方面的信息。黑与反黑之间的战斗会永远进行下去。
如果你采用IIS的省缺设置,那你在这场较量中就已经处于下风。Windows NT省缺下被安装为一个开放的服务器,即使是菜鸟hacker也能得手。但只要你做下面几个简单步骤,情况就会有很大改善。虽不敢说攻无不克,至少可以保护你的数据不象小克的拉链门一样世人皆知。
一个安全的系统要有多层保护。一般的计算机系统有三层保护,物理层,网络层,文件系统。物理层就是保护好计算机硬件本身,硬盘,软盘不被偷走,这就不用我多说了。网络层是要保护与Internet和本地LAN的网络连接,主要是靠防火墙和端口的存取权限设置。最里面的是文件系统,这也是大多数攻击的目标。下面我们主要也就讲这方面。
省缺设置的问题
NT省缺设置成一个开放系统,文件系统是几乎完全没有安全设置的,网络上的任何用户都可以读写删除其中的文件。这主要原因是NT中大量使用了 Everyone 组(更可怕是省缺给 full权限),理论上,地球上任何用户都属于everyone组。相比之下,NetWare就设置为一个封闭的系统,安全性就好很多。为什么Microsoft要做这种蠢事?原因可能是给最大权限可以减少许多因为权限问题带来的技术支持电话吧。
IIS同样也有很多问题。安装IIS时,系统建立一个前缀是IWAM_(早期版本是IUSR_)的帐户,该帐户属于Guest组,能够存取Guest组和Everyone组权限下的所有文件。在省缺安装下,90%的系统文件可以被该用户访问。
看来解决方法就是删除所有的everyone组权限了,但实际上这样做行不通。因为IIS不仅要存取HTML文件,还会调用s cript和ActiveX控件,还涉及到DLL的执行,全部取消Everyone组权限会使系统出现这样那样的问题。所以要使用一些系统安全工具来一步步做。
系统安全工具
熟悉以下NT系统自带的安全工具是很重要的:
User Manager(usrmgr.exe)
IIS 4.0: Microsoft management console (MMC.EXE)
IIS 3.0: Internet service manager (INETMGR.EXE)
Registry editor (REGEDT32.EXE)
(介绍省略,不相信你没用过)
Command line ACL editor (CACLS.EXE)
这个工具可能知道的人不多,也是NT自带,用于管理access control list(ACL)。
Control panel, system applet
该工具用于管理系统环境变量。
步骤一:使用专用的Web组
1 用user manager建立一个名为WWW的本地组
2 将IWAM_账号从Guests组中删除,加入WWW组
3 赋予WWW组“access this computer from the network”权限,让IIS能执行一个本地登录操作
4 重起WWW服务
5 在Web根目录下执行命令行操作:
CACLS
\*.* /T /E /C /G WWW:R
参数 Meaning
\*.* Web根目录。在 With IIS 4.0 中通常是 C:\Inetpub\WWWRoot.
/T 作用于所有的目录和子目录
/E 编辑ACL,不是替换
/C 有错误停止执行.
/G WWW:R 赋予WWW组Read权限
这样Web目录下的所有文件都承认WWW组的读权限了。别忘了在其他包含Web内容的目录下执行这个命令(主要是虚拟目录)
步骤二:删除Everyone组
完成以上操作后,Internet用户只能看所允许的文件了。但这还不够,因为everyone组还存在,现在需要将everyone组从计算机中的所有文件中清除出去。
但清除everyone组不象想象的那么简单。省缺下,许多Microsoft DLL文件在ACL中之只列了everyone组。如果一杆子打到底,这些DLL文件就无人可以访问了。因为一删除everyone组,ACL就空了,空的ACL意味着任何访问者都没有权限。执行以下命令:
CACLS C:\*.* /T /E /C /G Users:F /R Everyone
参数 Meaning
/G Users:F 赋予Users组所有权限
/R Everyone 取消Everyone组所有权限
这样可以保证ACL中不为空。然而这样做带来两个问题:本机完全开放给本地网络;变动太多的系统文件权限。最好的方法其实是找出那些文件只有everyone组权限,不幸地是WindowsNT没有提供该功能,但有一些第三方工具能做到这个功能。(原文中没有提到到底是哪些工具)如果有这些工具的话,该命令改为:
CACLS C:\*.* /T /E /C /R Everyone
步骤三:处理数据库
如果你的系统包括数据库或ActiveX,例如搜索引擎,guest book什么的,那还需要执行步骤三。对于guest book,执行:
CACLS /T /E /C /G WWW:C
参数 Meaning
/G WWW:C 赋予 WWW 组change权限.
这时,你可能会发现从Web上还是无法更新guest book,甚至连数据库读操作都无法执行。如果出现这种情况,你一定是使用了ODBC连接数据库。问题就出在ODBC的临时文件。当ODBC 建立时,系统会建立一个临时文件记录锁定信息等。省缺情况下,这些文件是存放在system32目录下。Internet用户是没有在该目录下写和创建的权限的。比较好的解决办法是指定另一个Internet用户有权限的目录来存放ODBC临时文件。在Control Panel的system applet中加入以下系统变量
变量
TEMP %SystemDrive%\TEMP
TMP %SystemDrive%\TEMP
然后给该目录授权:
CACLS C:\TEMP\*.* /E /C /G WWW:F
然后重启机器。
步骤四:ActiveX 部件
如果使用ASP去连结数据库,还会有问题。ASP使用ActiveX部件ADO 去访问数据库。一个ASP连结数据库的典型语法是:
var DBConn = Server.CreateObject('ADODB.Connection');
ADODB.Connection是一个Program ID,实际上是一个文件。在实际使用中要被翻译成实际的地址以便调用。这个信息被记录在注册表的 HKEY_CLASSES_ROOT 段中。现在明白要改什么了吗?就是要给ADODB.Connection所在目录加上WWW组的读权限。用Regedit去找到该目录吧。
祝贺你
你现在已经使你的系统安全很多了。但记住,hacker会不断寻找新漏洞来攻破你的系统,所以这种安全性设置只是与hacker进行的第一场战役。
什么是 Internet Information Server(IIS)?
Microsoft IIS 是允许在公共Intranet或Internet上发布信息的Web服务器。Internet Information Server通过使用超文本传输协议(HTTP)传输信息。还可配置Internet Information Server 以提供文件传输协议(FTP)和gopher服务。FTP服务允许用户从Web节点或到Web节点传送文件。gopher服务为定位文档使用菜单驱动协议。HTTP协议已经尽可能地代替了gopher协议。
热心网友 时间:2023-07-05 20:51
IIS信息服务,用来建立服务器的.
热心网友 时间:2023-07-05 20:51
nternet Information Server是允许在公共Intranet或Internet上发布信息的Web服务器。
热心网友 时间:2023-07-05 20:52
intent信息服务。。