Windowsでリモートデスクトップの接続時間を制限するTech TIPS

リモートデスクトップ接続後にログオフし忘れると、離席したすきにリモートのコンピュータへアクセスされてしまう可能性がある。セキュリティのためには、セッションの接続可能時間を制限したり、一定時間アイドル状態が続いたら、強制的にセッションを終了したりするようにサーバ側で設定しておくとよい。

» 2006年02月11日 05時00分 公開
[打越浩幸デジタルアドバンテージ]
「Tech TIPS」のインデックス

連載目次

対象OS:Windows XP Professional/Windows Server 2003



解説

 サーバ・システムのリモート管理や、WAN回線経由のクライアントWindows XPコンピュータの利用など、リモートデスクトップ(ターミナル・サービス)は非常に有用な機能である。だが、リモートから手軽に接続できる分、セキュリティには注意が必要だ。

 例えばサーバ・コンピュータを厳格に管理されたコンピュータ・ルームに設置していても、手元のコンピュータからログオンして使っていれば、セキュリティ的には望ましくない。机を離れたすきにサーバにアクセスされてしまう可能性があるからだ。これは、インターネット経由でリモートのコンピュータを利用している場合でも同じである。目を放したすきに、ローカルのコンピュータだけでなく、リモートのコンピュータさえもアクセスされてしまう。

 このような事態を防ぎ、少しでもセキュリティを向上させるためには、リモートデスクトップ・セッションで接続可能な最大時間を制限するという方法がある。ある一定時間経過するか、無操作の状態が一定時間続くと、セッションを強制的に終了させるという方法である。これならばログオンしたまま離席しても、自動的にセッションからログオフし、リモート・コンピュータへのアクセスを防ぐことができる。またターミナル・サービスで多数のユーザーがログオンしているケースでは、ログオフを忘れて、サーバのリソースを無駄に消費するという事態も防ぐことができる。リモートデスクトップのクライアント・プログラムを(システム・メニューの[閉じる]で)終了しても(「切断」しても)、デフォルトではセッションはログオンしたまま生きているからだ。セッションを完全に「終了」させるためには、明示的なログオフ操作が必要である。

 本TIPSでは、リモートデスクトップ接続に対して、接続可能な最大時間などを設定する方法について解説する。なお、セキュリティを向上させるためには、これ以外にも暗号化レベルを上げるとか、ポート番号を変更するなどの方法もあるが、これらの詳細については関連記事を参照していただきたい。

操作方法

 リモートデスクトップ・セッションの接続時間を制限するには、グループ・ポリシー・エディタを利用して、「ターミナル サービス」の設定を変更する。

 まず[スタート]メニューの[ファイル名を指定して実行する]で「gpedit.msc」と入力して、グループ・ポリシー・オブジェクト・エディタを起動する(ドメイン全体で設定を変更する場合は、Active Directoryのグループ・ポリシーを編集してもよい)。そして、[コンピュータの構成]−[管理用テンプレート]−[ターミナル サービス]−[セッション]の項目を開く([ユーザーの構成]の下にも同じものがあるので、ユーザーごとに設定したい場合はそちらを使う)。

リモートデスクトップのセッション・タイムアウト値の設定 リモートデスクトップのセッション・タイムアウト値の設定
グループ・ポリシー・エディタを起動して、リモートデスクトップのサービス(ターミナル・サービス)のセッション・タイムアウト関連の設定を変更する。
  (1)[コンピュータの構成]−[管理用テンプレート]−[ターミナル サービス]−[セッション]を開く。同様の設定は、[ユーザーの構成]−[管理用テンプレート]−[ターミナル サービス]−[セッション]にもあるので(こちらはユーザーごとに適用される)、必要に応じて使い分ける。
  (2)切断されたセッションの扱い。
  (3)セッションの最大接続可能時間。
  (4)アイドル状態の最大猶予時間。
  (5)タイムアウト時のセッションの扱い。

 それぞれの項目の意味は次のとおりである。デフォルトはいずれも「未構成」となっており、セッションの強制的な切断や終了はしないようになっている。また接続を切断しても、セッションはログオフせずに(終了せずに)スタンバイしており、後で再接続することができる。

項目 意味
(2) 切断されたセッションの扱い。通常はクライアントからの接続が切断しても、セッションはログオンしたままであり、後で再接続できる。この設定を変更すると、セッション切断後、指定した時間が経過するとセッションは終了させられる。ログオフを忘れて切断しても、一定時間経つと自動的に終了させられる。ただし(リモートデスクトップ接続の)コンソール・セッションは、自動的に終了することはない
(3) セッションの最大接続可能時間。ここで指定した時間が経過すると、セッションは強制的に終了もしくは切断させられる。ただし2分間の猶予があり(ダイアログが表示される)、その間にアプリケーションの終了操作などを行うことができる
(4) アイドル状態の最大猶予時間。何も操作せずにここで指定した時間が経過すると、強制的に終了もしくは切断させられる。この値を設定する場合は (3)の値よりも少ない時間にすること
(5) タイムアウト時のセッションの扱い。 (3)または(4)で指定された時間が経過した場合に、単にセッションを切断するか(セッションは生きたまま)、それともセッションを完全に終了(強制ログオフ)させるかを選択する。デフォルトではセッションは単に切断するだけで、ログオンしたままになっている
グループ・ポリシーの設定項目とその意味

 これらの項目のうち、上の3つに対しては、次のようにタイムアウト時間を設定する。指定された時間が経過するとセッションが終了もしくは切断する。

セッションの最大値の指定例 セッションの最大値の指定例
これは利用可能な最大セッション時間の設定の例。例えば「3 時間」を選択すると、リモートへのログオンから3時間経つと強制的にセッションが切断したり、終了したりする。
  (1)項目を有効にするにはこれを選択する。デフォルトはすべて[未構成]となっている。
  (2)タイムアウト時間の指定。ここに列挙されている一覧からのみ選択できる。サーバ・システムなら3時間程度でよいだろうが、クライアント・コンピュータの場合はもっと長い時間(1日など)が必要だろう。

 タイムアウトとして指定可能な時間は、「1分」「5分」「1時間」「3時間」など、このリストに表示されているもののみである。6時間とか12時間など、ここに表示されていない時間を指定することはできない。

 だがWindows Server 2003なら、管理ツールにある[ターミナル サービス構成]を利用すると、任意の時間を指定することができる(これは[未構成]時のデフォルト値を決めるツールにもなっている)。ターミナル・サービス構成ツールを起動し、[接続]ツリーの下に表示されている項目(デフォルトは「RDP-Tcp」)を選んで[プロパティ]メニューを表示させると、セッション・タイムアウトのデフォルト値を設定することができる。

セッションのタイムアウト値の設定 セッションのタイムアウト値の設定
これはサーバOSに付属のツール。[スタート]メニューの[プログラム]−[管理ツール]−[ターミナル サービス構成]を起動し、[接続]ツリーの下に表示されている[RDP-Tcp]という項目を選んで[プロパティ]メニューを表示させる。ここで設定した値は、グループ・ポリシーで[未構成]となっている場合のデフォルト値となる。
  (1)このタブを選択する。
  (2)これをオンにする。
  (3)セッション切断時に、セッションを強制的に終了させるまでの時間を設定する。
  (4)これをオンにする。
  (5)セッションの最大可能時間。デフォルトでは「1時間」や「3時間」などが表示されるが、数値の部分を書き換えて「6時間」などとすることもできる。
  (6)アイドル状態の最大猶予時間。
  (7)タイムアウト時に強制終了させるためにはこれを選択する。

「Tech TIPS」のインデックス

Tech TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。