リモート・マシンのイベントログやユーザー・アカウントなどを,管理者が使用するマシンから一元管理したいと考えています。
管理者のマシンと同じドメインにあるマシンや、信頼関係のドメインにあるマシンはよいのですが、スタンドアロンのマシンや、全く別のドメインにあるマシンの管理を行なう事は出来ないのでしょうか。
単純な解決策としては、監視対象の遠隔のマシンに、管理マシンでログオンしたアカウントと同じアカウント名・パスワードで必要な権限を持ったアカウントを作成すれば接続する事が出来ます。
しかし、これでは個々のマシン毎に多数のアカウントが散乱してしまい、管理が繁雑な上、セキュリティ的にも問題があって、推奨できるものではありません。
以下、それを回避する方法に付いて説明致します。
Microsoft の OS では、 IPC$ という特殊な共有を使用して、別マシンのプロセス間通信を行なっています。この共有は、例えばログオン時の認証で、ドメインコントローラに対して、認証を行なう時、遠隔のマシンとの通信を行なう時に使われています。
この共有は、特定のドライブ名にマッピングされる事は決してないので、ネットワークコンピュータアイコン等でドライブの接続をチェックしても確認出来ません。
接続を行なった側のマシンで接続を確認する為には、図1のようにコマンドラインで net use コマンドを使って、ドライブにマッピングされないものも含めた接続リスト一覧を取得する必要があります。
図1: IPC$共有への接続
イベントビューアやユーザーマネージャなどの管理ツールも,この IPC$ 共有を使って遠隔のマシンと通信しています。Windows NT ではリモート・マシンとの間に IPC$ 共有がすでに確立している場合、管理ツールでリモート・マシンを監視対象に設定しようとすると,確立済みの IPC$ 共有をそのまま使います。 したがってリモート・マシンにアクセスする権限のあるアカウントを使って IPC$ 共有を設定しておけば、管理者がログオンしているアカウントがリモート・マシンにアクセスする権限がなくても、イベントビューアやドメインユーザーマネージャなどの管理ツールを使ってリモート・マシンを監視できるようになります。
例えば、リモートマシン REMOTE の Administrator アカウント、パスワード password で接続する場合は、以下のようになります。
net use \\REMOTE\IPC$ password /user:Administrator
筆者が確認した限りでは,IPC$共有を使ってリモート・マシンを監視できるのは,以下の管理ツールです。
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Eventlog 以下にある Application, Security, System の各サブキー配下に各々 RestrictGuestAccess: REG_DWORD: 1 を追加する。
この方法は、一般ユーザとしてログオンしている管理者が一時的に管理ツールを使用したい時にも応用できます。
例えば、一般ユーザとして、ドメインにログオンしている管理者が、ドメインの管理者権限で、ドメインコントローラの IPC$ に接続し、サーバマネージャ等を起動すれば、一般ユーザでありながら、ドメインの管理が可能です。
ただし、ここで述べた仕様を悪用されると、管理者の意図しないマシンから接続が行なわれて、情報を不正に閲覧、改変される事も考えられます。従って、管理者は、 Administrator 権限のアカウントの管理強化など、セキュリティ面については、充分な対策を行なって行く必要があります。