Q

Windows 2000 Serverのターミナル・サービス機能を利用していますが,セキュリティ上の理由で,可能な限り通信を暗号化し,利用するポート番号をデフォルトのものから変更するようにとの通達がきました。ターミナル・サービスが利用するポート番号を変更したり,通信を暗号化したりすることは可能でしょうか。また,可能な場合には,どのように設定すればよいのでしょうか。

A


△ 図をクリックすると拡大されます
図1●ターミナル・サービスの暗号化設定(Windows 2000 Server)
ターミナル・サービスの通信はデフォルトで既に暗号化されています。また若干面倒ですが,ポート番号を変更することも可能になっています。

 ターミナル・サービスの通信の暗号化は,図1のように「ターミナル・サービス構成」という管理ツールで設定・確認します。このツールを起動すると左側に[ターミナルサービス構成]がフォルダとして表示されます。その中の[接続]にある[RDP-Tcp]のプロパティに暗号化レベルの設定が用意されています。

 暗号化レベルの設定には[高][中][低]の3通りがあり,各々には表1のような意味があります。デフォルトでは[中]のレベルが設定されており,クライアントからサーバーへの通信とサーバーからクライアントへの通信の双方が56ビットRC4という方式で暗号化されています。セキュリティを強化したい場合,この設定を[高]にするとよいでしょう。

双方向の通信を128ビットRC4で暗号化
双方向の通信を56ビットRC4で暗号化
クライアントからサーバー側の通信を56ビットRC4で暗号化
表1●暗号化の設定の詳細(Windows 2000 Server)
双方向の通信を128ビットRC4で暗号化
クライアントからサーバー側の通信を56ビットRC4で暗号化
クライアントと互換 クライアントでサポートされる最強のキー長で暗号化
FIPS準拠 双方向の通信を連邦情報処理規格(FIPS)暗号化アルゴリズムで暗号化
表2●暗号化の設定の詳細(Windows Server 2003)


△ 図をクリックすると拡大されます
図2●ターミナル・サービスの暗号化の設定(Windows Server 2003)

△ 図をクリックすると拡大されます
図3●レジストリでPortNumberの値を変更する
 なお,Windows Server 2003の場合,図1に相当する画面は図2のようになっており,暗号化の設定の詳細がWindows 2000 Serverのものと多少異なっています。設定できる具体的なレベルとその内容を表2に示します。

ポート番号変更はレジストリを設定
 ターミナル・サービスのポート番号の変更はレジストリの設定と再起動が必要です。通常の構成の場合,GUI(グラフィカル・ユーザー・インターフェース)上で確認すると図1図2のように既に[RDP-Tcp]という「接続」が作成されていると思います。これをそのまま使っているシステムでは,図3のようにレジストリHKEY_LOCAL_MACHINE\SYSTEM\
CurrentControlSet\Control\
Terminal Server\WinStationsサブキー以下のRDP-TcpというキーにあるPortNumberという名前の値を探し,この値のデータをデフォルトの「3389」から変えたい番号に修正します。

 接続を追加したなどで上記レジストリ・キーにconsoleとRDP-Tcp以外のノードが存在する場合,同様に各ノードを展開してPortNumberに関する値のデータを個別に変更する必要があります。

 以上は既に作成されている接続のポート番号を修正する設定になります。今後,新しく作成する「接続」のデフォルトのポートを最初から変更したいという場合には,レジストリ
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Control\Terminal Server\Wds\rdpwd\Tds\tcpにあるPortNumberの値のデータを同様に希望する番号に修正してください。変更を反映させるためにシステムの再起動が必要になります。

クライアント側でもポート番号を変更
 次にクライアント側の設定を説明しましょう。サーバーでポート番号をデフォルトの3389から変更した場合,ターミナル・サービスのクライアントでも,アクセスの際に明示的にその変更したポート番号を指定する必要があります。

 Windows 2000のターミナル・サービス・クライアントからデフォルト以外のポートにアクセスする場合は,若干面倒です。Windows 2000のターミナル・サービス・クライアントにはポート番号を指定する設定欄がなく,別途作成した設定ファイル(cnsファイル)を修正する必要があります。


△ 図をクリックすると拡大されます
図4●Windows 2000のクライアント接続マネージャの画面

△ 図をクリックすると拡大されます
図5●cnsファイルの内容
 具体的には,図4のようにクライアント接続マネージャを用いて[ファイル]-[新しい接続]をクリックすると起動するウィザードを用いてあらかじめ接続を作成します。その上で作成された接続のアイコンにフォーカスした状態で[ファイル]-[エクスポート]から,その接続をcnsファイルにいったんエクスポートする必要があります。

 cnsファイルの実体は図5のような形式のテキスト・ファイルですので,任意のテキスト・エディタで開いて,

Server Port=3389

という行の3389という数値をサーバーで設定したポート番号に変更します。変更したら,クライアント接続マネージャの[ファイル]-[インポート]からそのcnsファイルをインポートします。これによりポート番号の変更が反映されますので,以降はクライアント接続マネージャの該当する接続をクリックすることでアクセスが可能です。詳細についてはマイクロソフトのサポート技術情報187623も併せて参照してください。


△ 図をクリックすると拡大されます
図6●Windows XPのリモート・デスクトップからのアクセス
 なお,Windows XPでは「リモート・デスクトップ接続」というツールをターミナル・サービス・クライアントとして利用します。このツールからアクセスする場合は,図6のようにホスト名を指定する部分でIPアドレスやホスト名の後に,「:」(コロン)で区切って変更後のポート番号を指定してください。具体的にはターミナル・サービスが稼働するIPアドレス「192.168.135.33」のサーバーに対してポート番号3390でアクセスするときには[コンピュータ]の欄に「192.168.135.33:3390」と記述して[接続]ボタンを押します。

高橋 基信
NTTデータ 基盤システム事業本部 システム方式技術ビジネスユニット
第一技術統括部 第一システム方式技術担当 シニアエキスパート