导读:如何限制Windows管理员账户在网络中的并发登录,尤其对于企业级AD应用,绝对是一个不可或缺的功能。如何实现对特定用户帐户在企业网络中不同位置并发登录的现象进行有效控制?微软公司为大家提供了一个免费的有效的管理机制——LimitLogin。
很多公司和机构在部署了网络操作系统之后,通常都会提出对网络中特定用户帐户进行限制并发登录的功能需求。尤其对Windows环境中的特殊账户,例如系统管理员账户,更加需要对并发登录进行有效控制。大多数的组织都要求从技术上完全杜绝系统管理员并发登录的情况。当企业中的用户使用内置系统管理员在多个位置登录,这通常都表明他在保持前一个登录会话打开的同时,又在另一个位置登录——这可是企业中常见的严重安全风险。
对用户帐户的并发登录限制在很多网络操作系统上都是天生支持的,例如Novell NetWare,然而Windows在这个领域却是缺位已久。为了改变这一尴尬局面,微软推出了一个Windows组件,用户可以使用该组件避免用户帐户在多个位置的并发登录。现在,就让我们了解一下LimitLogin工具的工作原理,以及如何安装和配置以便在企业中实现对Windows管理员账户进行并发登录限制的功能。
系统需求
LimitLogin工具实际上是Cconnect工具的改良版本,而Cconnect是微软公司作为Microsoft Windows 2000 Server Resource Kit的组成部分一并提供的。Cconnect为Windows 2000和Windows NT 4.0环境提供了基本的限制并发登录的功能。新的LimitLogin工具提供了更佳的AD集成和管理工具。LimitLogin利用AD作为存储用户帐户登录信息的数据库;而Cconnect必需使用SQL Server数据库。与Cconnect相同,LimitLogin只能对通过交互式登录和Windows终端服务登录的用户进行限制。交互式登录是指用户和管理员在控制台发起登录会话(通常使用Ctrl+Alt+Del或者Windows XP登录界面)。
LimitLogin需要Windows Server 2003的AD和一个IIS 6.0 Web服务器,在此Web服务器上必须启用了ASP.NET。这些服务器都必须安装了.NET Framework 1.1或者更新的版本。
LimitLogin能够在以下客户端计算机上运行:Windows Server 2003、Windows XP专业版SP1以及更新的版本、Windows 2000专业版SP4和Windows 2000 Server SP4和更新的版本。如同微软推出的其它附加组件和资源工具,微软公司的产品支持服务(PSS)部门是不对LimitLogin提供技术支持的。还有,即使你运行了LimitLogin,在任何不属于受支持的操作系统上登录的用户,你将无法追踪他们的登录会话信息。
LimitLogin需要在客户端计算机上、IIS 6.0 Web服务器和AD域控制器(DCs)上安装一些必要组件和配置修改。大多数的配置和组件将会在LimitLogin的安装过程中自动完成。另外,LimitLogin所使用的登录和注销脚本(llogin.vbs和llogoff.vbs)需要管理员手工复制到一个所有Windows客户端都可以访问的网络共享点。还有,必须要修改组策略对象中用户的登录/注销脚本设置(位于用户配置/Windows设置/Scripts)以引用这些脚本。这些脚本将在普通脚本运行之前完成。
客户端的LimitLogin组件由一个简单对象访问协议(Simple Object Access Protocol,SOAP)运行时、一系列LimitLogin相关的DLLs和一些可执行文件组成。LimitLogin将在Web服务器得WSLimitLogin虚拟目录下安装LimitLogin Web服务。默认情况下,WSLimitLogin虚拟目录将被创建在默认网站中,Web服务的端口80。
虽然在实际使用过程中,LimitLogin客户端并不会将用户的访问凭据提交给Web服务,但是微软公司还是建议企业为WSLimitLogin虚拟目录配置安全的套接字层(SSL)。在默认的安装和配置过程中,LimitLogin没有提供SSL的防护功能。
LimitLogin扩展了AD架构,创建了一个应用程序分区(Application Partition),用于保存LimitLogin配置数据——这也就是为什么LimitLogin必需要Windows Server 2003 AD的原因。图1显示了通过微软管理控制台的ADSI插件(包含在Windows Server 2003 支持工具中)查看LimitLogin的AD应用程序分区。
图1:LimitLogin的AD应用程序分区
这个AD应用程序分区被称为DC=limitlogin,dc=domainname,dc=domainname。这个新的对象类型LimitLogin用于保存用户的并发登录次数限制,被称为msLimitLoginUser。它拥有以下一些LimitLogin关联的属性:
运行原理
图2显示了当一位用户在Windows域中尝试进行交互式登录时,LimitLogin组件在后台的模块关系和运行原理。以下事件将依次发生:
图2:LimitLogin组件在后台的模块关系和运行原理
安装
从微软网站下载LimitLogin组件,网址如下:http://download.microsoft.com/download/f/d/0/fd05def7-68a1-4f71-8546-25c359cc0842/limitlogin.exe。安装LimitLogin不存在什么技术难度。下载之后,压缩包中包含了三个可执行文件:一个用于安装Web服务器的组件(limitloginiissetup.msi);一个安装AD域控制器的组件(limitloginassetup.msi)和安装客户端的组件(limitloginclientsetup.msi)。安装过程中需要注意的就是安装顺序:应当首先安装Web服务器的组件,然后是AD组件的安装,最后才是客户端的安装。
在LimitLogin的Web服务器安装过程中,允许企业自定义LimitLogin Web服务的虚拟目录,包括虚拟目录的名称和端口。该Web服务器的安装需要系统管理员的权限。
正如我前面提到的,默认情况下LimitLogin的安装程序没有提供SSL防护。当你在为LimitLogin Web服务配置SSL时,需要注意仅在服务器端修改设置。你必须安装一个服务器端的SSL证书,并将其与LimitLogin Web服务链接。
还需要编辑位于LimitLogin登录共享(该共享包含了LimitLogin登录和注销脚本)中的limitlogin.wsdl文件。在limitlogin.wsdl文件中,你必须修改所有指向LimitLogin Web服务的URLs将Http修改为Https。所有必须修改的URLs都分布在limitlogin.wsdl文件的<wsdl:service name=”LimitLogin”>部分中。
LimitLogin的AD配置包括三个部分:准备AD域森林;准备AD域和安装AD用户和计算机插件的LimitLogin扩展。你可以通过在命令行运行带/ForestPrep参数的LimitLoginADSetup.exe命令进行AD域森林的准备。然后,使用在命令行运行带/DomainPrep参数的LimitLoginADSetup.exe命令进行AD域的安装。
要完成上述两个AD安装过程,你必须使用拥有根域架构管理员权限的用户帐户。同时,运行这些安装过程的域控制器还必须具备域命名主机的操作主机角色(如果不确定一台域控制器是否具备特定角色,你可以通过运行Ntdsutil命令进行检查)。
安装的最后一部分(完成在AD用户和计算机上LimitLogin扩展的安装)可以只需要域管理员的权限,在任何一台域控制器上都能够进行,或者在一台安装了管理工具的Windows工作站上也可。
上面的域森林准备扩展了AD的架构,修改了AD的配置上下文。而域准备则主要在于创建LimitLogin的AD应用程序分区和LimitLogin的登录和注销脚本。在域准备过程中,你可以指定某一台DC负责创建LimitLogin的应用程序分区。
对于那些要求高可用性和灾难恢复的系统,你可以在多个DC上创建应用程序分区,从而形成一种复制机制。在LimitLogin帮助文档的“高级配置选项”部分中详细描述了如何部署此类应用。
在AD配置的最后阶段,你需要将LimitLogin的登录和注销脚本手工复制到一个网络共享位置,并且在域GPO设置中引用它们。LimitLogin安装程序会在AD安装的最后阶段提醒管理员需要进行的手工操作。
LimitLogin的AD安装过程的详细日志纪录被保存在%systemdrive%\program files\limitlogin\limitloginadsetup.log和%systemdrive%\windows\system32\ldif.log位置。
最后是LimitLogin的客户端安装,既可以手工运行也可以利用各种企业中的自动化机制进行。微软公司推出了一系列自动分发软件的系统管理方案,包括Systems Management Server(SMS)、GPOs和登录脚本。在命令行运行带/qn参数的limitloginclientsetup.msi程序,将在不需要客户端干预的情况下自动安装。由于客户端需要安装SOAP协议,因此需要管理员的权限。
如果负责LimitLogin Web服务的计算机与LimitLogin应用程序分区所在的不是同一台DC,那么你需要配置Limitlogin DC委派信任Web服务器。在LimitLogin帮助文件的“LimitLogin活动目录安装”部分中详细描述了如何进行配置。
配置和使用
配置用户帐户并发登录限制的最佳工具就是AD用户和计算机控制台插件。在LimitLogin的AD安装过程为该插件添加了一系列与LimitLogin相关的配置选项。你可以直接通过右键点击用户、计算机或者组织单元(OU),在出现的上下文菜单中选择LimitLogin任务。
图3显示了当你对一个用户对象选择LimitLogin任务之后出现的配置窗口——在本例中,是系统管理员账户。弹出的对话框中显示了当前选中的用户帐户已经交互登录到哪些计算机上。你可以使用这个对话框强制注销选中的登录会话,从LimitLogin AD应用程序分区中删除,同时利用该对话框可以将当前信息保存为以逗号为分隔符的文档(CSV)或者XML格式的登录报告,最重要的是可以在这里配置并发登录的限额。
要配置并发登录的次数限额,点击“配置”打开配置LimitLogin对话框,在这里你可以指定根据企业规定该用户帐户被允许的并发登录限制。在本例中对于系统管理员,我们只允许一个登录会话,这里将其设置为1。
到这里,心急的读者也许会抱怨,难道需要为每一位用户进行这样的配置?答案是否定的,LimitLogin随软件自带了为特定组织单元或者域中所有用户批量定义的VB脚本。该脚本被称为bulk_limituserlogins.vbs,存储在安装LimitLogin域控制器的%systemdrive%\program files\limitlogin文件夹中。
当你在一个计算机对象上点击右键选择LimitLogin任务时,对话框将列举所有当前交互式登录该计算机的用户账户列表。使用该对话框你可以删除或者强制注销选中的登录会话——例如,管理所有登录会话、Ping该远程计算机、将当前交互登录的用户列表保存为一个CSV或者XML格式的报表文件。如果选择了一个登录会话,然后点击“删除/注销选中的会话”,LimitLogin将默认在AD应用程序中删除该登录会话,并且无需任何用户确认远程的注销该会话。上述“删除/注销选中的会话”选项的默认动作可以通过选择“点击此处设置注销选项”进行自定义配置。
LimitLogin提供了三种删除/注销会话的动作:
表1:相应的注册表条目和它所代表的功能
Registry Subkey |
Value and Meaning |
EnableLogoff |
1 means LimitLogin will both delete and log off (default). |
PromptForLogoff |
1 means LimitLogin will prompt for confirmation before logging off. |
WaitAndReport |
1 means LimitLogin will wait for a status notification (default). |
在组织单元对象上点击右键选择LimitLogin任务,可以为该OU中的所有用户对象设置并发登录限额。
如果你需要LimitLogin通知管理员该账户在其它位置的登录信息,你只需修改LimitLogin的登录脚本(Llogin):非常简单,只需要将以下两句前面的引号去掉即可:
‘ wshShell.run “lloginsessions “ & loginok
‘ wscript.sleep 10000
如同前面提到的,你可以使用LimitLogin作为用户登录的报表工具。直接从AD用户和计算机界面中产生XML或者CSV格式的报表。要创建一个涵盖整个AD域的用户登录报告,需要使用带/report参数的llogincmd.exe命令行工具。
可以使用相同的llogincmd.exe命令行工具,带/diag参数将能够执行一次LimitLogin的系统测试。要清除所有LimitLogin AD分区中的登录信息,还是使用llogincmd.exe命令行工具,带/ClearLogins参数即可。要将LimitLogin应用程序分区中的账户信息与AD中的进行同步,使用llogincmd.exe命令行工具,带/Update参数。
对于一个企业级的AD部署,LimitLogin可谓是一个不可或缺的重要工具,它提供了一种有效的控制特定用户帐户在企业网络中不同位置并发登录的现象,特别是具备高权限的用户帐户——例如系统管理员账户。同时LimitLogin还拥有一个极好的报表功能,虽然如果企业只需要登录报表功能,它们完全无需部署LimitLogin。登录报表可以通过多种方式实现:比如在每次登录时,在隐藏文件夹内生成一个machinename.username文本文件就可以了。
自由广告区 |
分类导航 |
邮件新闻资讯: IT业界 | 邮件服务器 | 邮件趣闻 | 移动电邮 电子邮箱 | 反垃圾邮件|邮件客户端|网络安全 行业数据 | 邮件人物 | 网站公告 | 行业法规 网络技术: 邮件原理 | 网络协议 | 网络管理 | 传输介质 线路接入 | 路由接口 | 邮件存储 | 华为3Com CISCO技术 | 网络与服务器硬件 操作系统: Windows 9X | Linux&Uinx | Windows NT Windows Vista | FreeBSD | 其它操作系统 邮件服务器: 程序与开发 | Exchange | Qmail | Postfix Sendmail | MDaemon | Domino | Foxmail KerioMail | JavaMail | Winwebmail |James Merak&VisNetic | CMailServer | WinMail 金笛邮件系统 | 其它 | 反垃圾邮件: 综述| 客户端反垃圾邮件|服务器端反垃圾邮件 邮件客户端软件: Outlook | Foxmail | DreamMail| KooMail The bat | 雷鸟 | Eudora |Becky! |Pegasus IncrediMail |其它 电子邮箱: 个人邮箱 | 企业邮箱 |Gmail 移动电子邮件:服务器 | 客户端 | 技术前沿 邮件网络安全: 软件漏洞 | 安全知识 | 病毒公告 |防火墙 攻防技术 | 病毒查杀| ISA | 数字签名 邮件营销: Email营销 | 网络营销 | 营销技巧 |营销案例 邮件人才:招聘 | 职场 | 培训 | 指南 | 职场 解决方案: 邮件系统|反垃圾邮件 |安全 |移动电邮 |招标 产品评测: 邮件系统 |反垃圾邮件 |邮箱 |安全 |客户端 |