OSを配布している組織では,特定アカウントの同時ログオン・セッション数を限定する機能やツールが必要になることが,往々にしてある。これは組み込みの管理者アカウントといった高い特権を持つアカウントを使う場合に,無くてはならない機能であることが多い。多くの組織では,管理者の同時ログオン・セッションを完全にブロックしたいと思っているからだ。なぜなら,1つの組み込み管理者アカウントを使って,複数の場所で同時にログオンしているとき,それらのセッションのうちの1つを放置していることが多いからである。これでは,セキュリティ上の危険を招いてしまう。

 アカウントのログオン・セッションを制限する機能は,NetWareのようなOSはネイティブで備えているが,Windowsでは欠けたままだ。だがMicrosoftは,Windowsの同時ログオン・セッションの制限に使用できるWindows用アドオン・ツール「LimitLogin」を提供している。本記事では,LimitLoginツールが機能する仕組みとインストール方法,そして任意の時点に開かれている管理者のログオン・セッション数を制限するときの設定方法を説明しよう。

LimitLoginの動作環境

 LimitLoginは,MicrosoftがWindows 2000 Serverリソース・キットの一部として提供したCconnectツールの改良版である。Cconnectは,Windows 2000とWindows NT 4.0の環境で,同時ログオン・セッションを制限するための基本的な機能を提供する。LimitLoginでは,Active Directory(AD)やAD管理ツールとの統合が進んでいる。LimitLoginは,接続制限データの保管にADを利用している。従来のCconnectは,SQL Serverデータベースを必要とした。

 LimitLoginは,Cconnectと同様に,対話的なWindows Terminal Servicesログオン・セッションのみ制限できる。対話的ログオン・セッションとは,ユーザーや管理者が(Ctrl+Alt+Del,あるいはWindows XPの「ようこそ画面」を使って)コンソールから開始するセッションのことだ。

 LimitLoginは,Windows Server 2003のADと,ASP.NETが有効になっているIIS(Internet Information Services)6.0を必要とする。そして,Windows Server 2003,Windows XP Professional SP1以降,Windows 2000 Professional/Server SP4以降で動作する。ただし,ほかのWindowsのアドオンやリソース・キット・ツールと同様に,正式サポートは提供されていない。

 LimitLoginを利用するには,Windowsクライアントや,IIS 6.0,ADドメイン・コントローラ(DC)に対して,設定を変更したり,特別なコンポーネントをインストールしたりする必要がある。ただしこれらの変更とコンポーネントのほとんどは,LimitLoginをインストールすると,自動的に生成される。

 LimitLoginが使用するログオンとログオフのスクリプト(llogin.vbsとllogoff.vbs)はソフトウエアに付いてくるが,すべてのWindowsクライアントがアクセスできる共有に手動でコピーしなければならない。さらにユーザーのログオン/ログオフ・スクリプトのグループ・ポリシー・オブジェクト(GPO)の設定は,これらのスクリプトを参照するように手動で変更する必要がある。

 クライアント側のLimitLoginコンポーネントは,SOAP(Simple Object Access Protocol)ランタイムとLimitLogin固有のDLLと実行ファイルのセットで構成されている。Webサーバーでは,LimitLoginはWSLimitLoginという仮想ディレクトリに,LimitLogin Webサービスをインストールする。デフォルトでは,WSLimitLoginはデフォルトWebサイトに生成され,Webサービスにポート80でアクセスできる。

 LimitLoginクライアントはWebサービスにユーザー証明書を送信しないが,Microsoftは,厳格なセキュリティ要件を持つ企業には,WSLimitLogin仮想ディレクトリに対してSSL(Secure Sockets Layer)を手動で設定することを推奨している。LimitLoginは自動では,このSSL保護を供給しない。

 LimitLoginは,ADスキーマを拡張してアプリケーション・パーティションを構築し,LimitLoginの設定データをホスティングする。LimitLoginがWindows Server 2003のADを必要とするのはこのためだ。図1は,マイクロソフト管理コンソール(MMC)のADSI Editスナップイン(Windows Server 2003サポート・ツールに付いてくる)から見たLimitLogin ADアプリケーション・パーティションを示している。

図1●LimitLogin ADアプリケーション・パーティションをMMCで閲覧した画面
[画像のクリックで拡大表示]

 ADのアプリケーション・パーティションは,「DC=limitlogin,dc=domainname,dc=domainname」と名付けられる。LimitLoginがユーザーのログオン・クォータを保管するのに使うこの新しいオブジェクト・タイプは,「msLimitLoginUser」と呼ばれる。このオブジェクト・タイプは,以下に挙げるLimitLogin固有の属性を持っている。

・msLimitLoginDenyLoginOnQuotaExceed:この属性がTrueに設定されているときは,ユーザーに対してLimitLoginが有効になっている。

・msLimitLoginQuota:この属性は,LimitLoginのログオン・クォータを保持している。

・msLimitLoginInfo:この属性は,現在ADに登録されているログオンを保持している。この属性のデータは,ユーザーが別のログオン・セッションを持っているかどうかを確かめるため,上記の属性に設定されているクォータと比較される。

・msLimitLoginUsername:この属性は,ユーザーのアカウント名を保持している。

 ADオブジェクトとその属性は,MMCの「Active Directoryユーザーとコンピュータ」スナップインと,LimitLoginコマンド・ライン・ユーティリティ用のLimitLogin拡張を使って設定できる。これらを次に説明する。