远程管理IIS网站
2016-11-26
同 Apache、Tomcat等 网络服务器软件相比,Microsoft的 IIS(Internet Information Server)具有安装方便、使用配置简单的特点,在网络上使用得非常广泛,许多网站都是基于IIS建立的。为了保证网站的正常运行,需要经常对其进行维护和管理。通常大家都是采用FTP方式对网站文件进行维护。不过,这需要另外架设FTP服务器,进行FTP账户的创建和配置操作,增加了网络运维的工作量。另外,一旦FTP账户密码被黑客破译,就会对整个网站带来威胁。其实,我们完全可以打破常规,采用更加安全高效的方法,对IIS网站进行远程管理操作。
图1 添加所需的角色
使用WebDAV远程管理网站
除了使用FTP等传统手段来管理Web网站外,还可以使用WebDAV(Web Distributed Authoring and Versioning)来对网站进行维护。WebDAV扩展了HTTP 1.1协议的功能,允许拥有合适权限的用户,通过浏览器等工具,来远程管理网站中WebDAV文件夹中的文件,可以用来维护网站中的网页文件等内容,相比FTP来说,其安全性更高,使用起来更加方便。
本例中服务器上安装的是Windows Server 2008 R2,客户机使用的Windows 7。首先需要在IIS组件中安装了“URL授权”和“WebDAV发布”对象。如果没有的话,需要在服务器管理器窗口左侧选择“角色→Web服务器(IIS)”项,在右侧点击“添加角色服务”连接,在选择角色服务窗口(如图1)中的“常见HTTP功能”分支下选择“WebDAV发布”项,在“安全性”分支下选择“URL授权”项,之后点击下一步按钮,按照提示完成以上角色的安装操作。
在IIS信息服务管理窗口(如图2)左侧的“网站”节点下选择合适的站点(例如“Default Web Site”等),在窗口中部双击“WebDAV创作规则”项,在窗口右侧列表中点击“启用WebDAV”链接,激活WebDAV服务。
图2 IIS信息服务管理窗口
图3 添加创作规则
点击“添加创作规则”链接,在弹出窗口(如图3)中的“允许访问”栏中选择“全部内容”项,在“允许访问此内容”栏中选择“指定的用户”项,输 入“administrator”账户名,在“权限”栏中选择“读取”、“源”、“写入”等项,授予Administrator账户对所有内容拥有读取写入等权限,点击“确定”按钮,保存规则信息。在IIS信息服务管理窗口选择目标站点,在窗口中部双击“身份验证”项,在身份验证界面中的“Windows身份验证”栏中选择“已启用”项。如果启用了“基本身份验证”项,那么WebDAV客户端就需要使用HTTPS协议来连接WebDAV网站。
为了让客户端可以顺利连接WebDAV网站,必须依靠WebDAV Redirector组件的支持方可。WebDAV Redirector是架构在WebDAV协议上的远程文件系统,允许客户端访问WebDAV网站服务器中的文件,如同访问普通的文件服务器一样。在Windows XP/7等各版本的Windows中,其实已经内置了WebDAV Redirector组件,不过要想让其正常运作,必须开启WebClient服务。在命令提示符窗口中执行“sc start webclient”命令,就可以启动该服务。其实,当Windows 7客户端在连接WebDAV网站时,服务器上的WebClient服务会自动启动。注意,在Windows 2008 Server R2中默认并没有安装WebDAV Redirector,为此可以在服务器管理器中启动功能添加向导界面,在选择功能窗口中选择“桌面体验”项,来安装WebDAV Redirector。
当服务器端启用和配置好WebDAV Redirector各项参数后,在客户端上就可以执行连接操作。例如,在Windows 7桌面上的“网络”图标的右键菜单中点击“映射网络驱动器”项,在弹出窗口中的“驱动器”列表中选择合适的盘符,在“文件夹”栏中输入目标网站地址(例如“http://www.xxx.com/”等)。注意,如果目标网站采用的验证方法为基本身份验证,就需要使用“https://www.xxx.com/”之 类 的HTTPS链接。点击“完成”按钮,在登录窗口中输入账户名(本例为“administrator”)和密码,点击连接按钮,就可以连接到WebDAV网站中。
之后在资源管理器左侧的“计算机”节点下会出现映射成功后得到的网络盘符,在其中显示网站中的所有文件。您就可以如同操作本地文件一样,对网站中的文件进行编辑。当然,也可以命令行来完成连接操作。在命令提示符窗口中执行“net use z:http://www.xxx.com”命令,之后按照提示输入账户名和密码,就可以将WebDAV网站映射到Z盘中。如果执行“net use * http://www.xxx.com”命令,则可以让系统自动为WebDAV网站设定可用的网络盘符。如果在连接过程中出现错误,需要对一些关键环节进行检查,例如客户端主机是否安装了WebDAV Redirector组件,是否启动了WebClient服务,服务器网站上是否启用了WebDAV组件,网站使用的身份验证模式是否合适等。例如,网站使用基本身份验证,客户端却使用常规的HTTP协议连接等。检测网站上配置的WebDAV规则是否为账户授予了合适的权限,防止因为权限不足无法连接。检查客户机的DNS服务器参数是否设置正确,避免无法检测到网站的IP。
图4 创建IIS管理账户
图5 查看功能委派设置信息
图6 管理服务设置界面
委派指定账户远程管理Web网站
一般情况下,都是服务器管理员负责IIS网站的维护工作。在某些情况下,可能需要将管理权交与非管理员的用户来使用。这里假设IIS网站安装在一台Windows Server 2008 R2上,需要从另一台Windows Server 2008 R2或者Windows 7主机对其远程管理为例,说明具体的实现方法。首先在IIS主机上打开服务器管理器窗口,在左侧点击“角色”项,在右侧的Web服务器(IIS)界面中点击“添加角色服务”链接,在向导界面中的“管理工具”节点下的“管理服务”项,来安装该角色。
对IIS网站进行管理,可以配置两种账户类型。一种是本地的账户或者域账户。一种是IIS管理器账户。对于后者来说,可以在IIS管理器中双击“IIS管理器用户”项,在弹出窗口(如图4)右侧点击“添加用户”链接。输入用户名和密码,创建所需的账户。
要想让非管理员用户对IIS管理器进行远程管理,需要针对不同的管理权限,通过功能委派的方式来实现。在IIS管理器中双击“功能委派”项,可以查看默认的配置信息(如图5)。可以看出,不同的委派项目对应的权限包括只读,读写等。例如。对于目录浏览来说,远程管理者具有对所有网站的目录具有读取写入的权限。
当然,可以根据实际需要,针对不同的网站设置不同的委派配置参数。在功能委派管理面板右侧点击“自定义站点委派”链接,在“站点”列表中选择目标站点(例如“Default Web Site”等),在面板下部的针对不同的委派项目(例如HTTP响应头,HTTP重定向,IPv4地址和域限制等),进行权限的设置操作。例如,选择对应的委派项目,在右侧点击“读/ 写”,“只读”,“未委派”等链接,可以更改其属性。为了顺利实现远程管理操作,必须在IIS主机上开启远程连接功能。在IIS管理器中双击“管理服务”项,在管理服务面板(如图6)中勾选“启用远程连接”项,在“标识凭据”栏中选择“仅限于Windows凭据”项,表示只允许本地的账户或者域账户执行远程管理操作。
选择“Windows 凭据或IIS管理器凭据”项,表述允许本地的账户或者域账户和IIS账户执行管理操作。在右侧选择“应用”项,并点击“启动”链接项,激活远程连接功能。在IIS管理器中双击“IIS管理器权限”项,在打开窗口的右侧点击“允许用户”链接。在允许用户窗口中选择用户类型,包括Windows账户和IIS管理器账户。例如这里选择“IIS管理器”项,输入IIS账户名称,或者点击“选择”按钮,选择所需的IIS账户。为了保证客户端可以顺利执行远程访问,需要在IIS主机上对防火墙进行合理配置,允许文件和打印机共享通过防火墙。
当配置好IIS主机后,接下来需要在执行远程访问的主机上安装所需的远程管理工具。在服务器管理器中打开添加功能操作界面,在选择功能窗口中的“远程服务器管理工具”节点下打开“角色管理工具”项,在其中选择“Web服务器(IIS)工具”项,执行该功能项的安装操作。如果使用Windows 7客户机的话,需要安装Remote Server Administrator Tools for Windows 7这一工具。当安装完毕后,在控制面板中打开“程序”类,在其中双击“打开或关闭Windows功能”项,在弹出窗口中勾选“远程服务器管理工具”项,选择所需的工具项目即可。下载地址:http://www.microsoft.com/en-us/download/details.aspx?id=7887。
在Internet信息服务(IIS)管理器窗口中打开起始页界面,在其中点击“连接至站点”链接,在打开窗口中输入服务器名称和站点名称,点击下一步按钮,输入目标服务器上的账户名或者IIS管理器账户名,输入密码,执行连接操作,如果出现服务器证书报警窗口,点击“连接”按钮即可。当完成连接操作后,在客户机的IIS管理器窗口左侧就会出现目标网站项目,选择对应的网站名称,就可以在右侧窗口显示其管理分组项目,您就可以对其进行灵活的远程管理操作了。
深入分析IIS用户身份验证方式
前面谈到了Windows身份验证,IIS基本身份验证等模式,这就涉及到IIS的用户管理方式。实际上,IIS用来验证用户名称和密码的方式不仅包括以上两种,还包括摘要式身份验证,匿名身份验证等。了解这些身份验证方式,对于IIS的管理是极为重要的。在默认情况下,IIS网站允许所有的用户进行访问,但是如果网站仅仅针对特定的用户开放的话,来访者就必须输入合适的账户名和密码。
一般来说,系统默认采用匿名身份验证模式。如果需要使用其他的验证方式,在IIS主机上打开服务器管理器窗口,在左侧点击“角色”项,在右侧的Web服务器(IIS)界面中点击“添加角色服务”链接,在选择角色服务界面中的IIS安全性栏中选择“基本身份验证”,“Windows身份验证”,“摘要式身份验证”等项目。实际上,不仅可以针对整个网站设置身份验证方式,还可以对其中的文件或者文件夹设定合适的身份验证模式。
例如,在IIS管理器中选择对应的站点,双击“身份验证”项,在弹出窗口(如图7)中选用合适的身份验证模式即可。如果您同时启用了所有的身份验证模式,那么当客户端访问目标网站,文件夹或者文件时。首先执行匿名身份验证,如果验证失败,则按照顺序依次执行Windows验证,摘要式身份验证,基本身份验证模式。
不管是何种的浏览器,都支持匿名身份验证模式,无需输入账户名和密码,就可以访问目标网站。实际上,在系统内部内置了名为IUSR的账户,当用户匿名访问网站时,其具有的权限与该账户相当。当使用身份验证模式时,用户在访问目标网站时,必须输入对应的账户名和密码。不过,在发送账户和密码给服务器时,其并没有加密。为了保护其安全性,最好使用SSL加密连接方式。
要想使用该种验证方式,必须先禁用其他三种身份验证方式。在身份验证管理界面中选择“基本身份验证”项,点击“编辑”链接,在弹出窗口中的“默认域”栏中可以输入对应的域名,这样当客户端访问时,就可以将账户名密码发送到该域中的域控制器进行检测。该值默认为空,表示将账户名和密码发送到IIS服务器的本地安全数据库,或者发送到本域中的Active Directory数据库中来检查其是否合法。在“领域”栏中输入登录提示信息(例如本单位名称等),该信息会显示客户端的登录窗口中。
图7 选择身份验证模式
相比基本身份验证模式,摘要式身份验证模式要安全得多,当客户端输入账户名和密码时,这些信息会经过MD5加密处理,然后才发送给目标服务器。当然,前提是IIS主机必须是活动目录域中的成员或者域控制器,账户名必须是活动目录域用户,该账户必须与IIS主机位于同域或者是信任域。使用该种身份验证模式,需要禁用Windows验证模式和匿名身份验证模式。在身份验证管理界面中选择“摘要式身份验证”项,点击“编辑”链接,在弹出窗口中的“领域”栏中输入对应的域名。当客户端连接网站时,在登录窗口中输入域账户名和密码,才可以执行连接操作。
如果使用Windows身份验证模式,在连接时同样要求输入账户名和密码,这些信息也经过加密处理,其支持Kerberos v5和NTLM验证协议。一般来说,因为Kerberos v5协议会被防火墙拦截,而NTLM认证协议得不到代理服务器的支持。因此,该身份验证模式很适用于内网环境。内网客户端可以利用该模式,来连接内部网咯。为了提高使用的灵活性,可以利用自动登录账户来连接网站。
例如在IE中打开配置窗口,在“安全”面板中选择“本地Intranet”项,点击“站点”按钮,在弹出窗口中点击“高级”按钮,在本地Intranet窗口中输入网站地址,点击“添加”按钮,将其添加到网站列表中。点击“自定义级别”按钮,在弹出窗口中“用户身份验证”合适的登录项目,例如选择“自动使用当前用户名和密码登录”等。这样,在连接目标网站时,就可以使用当前账户和密码自动登录了。如果登录失败的的话,可以按照提示输入其他的账户和密码进行登录即可。