<[Web サーバー立ち上げ体験日記]リモートデスクトップについて考える その 1
もう少しリモートデスクトップについて考えてみたいと思います。
ちなみにリモートデスクトップについていろいろと考えていますが、使いましょうと奨めているわけではありませんので。。。
自宅にサーバーを設置すると下図のような環境になると思います。
四角で囲んであるものを一つの機械として書いてみました。
# 赤線が外部 / 青線が内部の接続になります。
??? 書いてある IP アドレスは適当ですので私の実際の環境とは一致していません。
??? WAN 側 IP は実在するものを書くと使用されている方にご迷惑かと思い形式上あり得ない [999.0.0.1] としています。
[一般的な家庭のネットワーク]
それぞれにファイアウォール (F/W) 機能が付いていると思います。
ブロードバンドルーターはそれほど買い換えたことがないので一般的な構成がわからないのですが大抵の製品には DHCP が
ついているんでしょうね。
少し調べてみたらダイナミック DNS 機能を持つルーターもあるみたいですね。
# ネットワーク系は苦手なのでどうにもここら辺の知識が薄いです…。
??? 図の内容も含めて本投稿に誤りがありましたらご指摘いただけるととても助かります。
リモートデスクトップで接続をする場合にはそれぞれのファイアウォールで例外をどのようにするか考える必要があります。
今回はクライアント PC の F/W では発信制限はしていないものとして考えてみようと思います。
そのためクライアント PC については特に考慮していません。
[Web サーバーについて考える]
Web サーバーでリモートデスクトップを有効にすると以下のダイアログが表示されて Web サーバー側の F/W が解放されます。
Windows ファイアウォールを実施に確認してみると例外設定で [リモートデスクトップ] が許可されているのが確認できます。
クライアント PC からリモートデスクトップで接続が可能になります。
コマンドプロンプトで [netstat ?an] を実行すると以下のような出力結果が得られます。
C:UsersAdministrator>netstat -an アクティブな接続 ? プロトコル? ローカル アドレス????????? 外部アドレス??????? 状態 |
リモートデスクトップの既定のポートは [3389] になります。
IP v4 と IP v6 の両方でリッスン状態になっているのが確認できますね。
[C:WINDOWSSystem32driversetcservices] にも記載されているように 3389 のポートは予約済みポートとして定義されています。
?
一般的に公開されているポートでリモートデスクトップを実行するのは不安ですよね…。
また 0.0.0.0 でリッスンしているということは有効な全 IP アドレスで応答待ちしていることになります。
割り当てている IP が一つでしたらよいと思いますがネットワークカードを複数使っている場合は全 NIC でリモートデスクトップの
応答を受けるのも不安が残ります。
これは後で変更する必要がありそうですね~。変更方法は別途まとめたいと思います。
[ルーター側について考える]
ルーター側はプロバイダから割り当てられる可変 IP / 固定 IP 化やダイナミック DNS や独自 DNS の取得といったことも考える
必要があると思いますがそれは Web サーバーの公開方法で考えたいと思います。
# IIS 7.0 虎の巻でも書かれている内容ですね。
ひとまず、リモートデスクトップに絞って考えてみようかと。
ルーターにも F/W 機能がありますのでこの設定を変更する必要があります。
私が自宅で使っているルーターの機種は伏せておきたいので画像を付けた具体的な手順の提示は控えさせていただきますが、
以下のような設定が必要かと思います。
- ファイアウォールの設定
ルーターの初期状態では外部からのアクセスが制限されていると思います。
サーバー側の設定では青線の部分を制御していますので、ルーター側で赤線の部分のアクセスを許可する必要があります。
全アクセスを許可するのは大変危険ですのでやめたほうが良いです。
ポート番号指定でアクセス許可の設定ができると思いますのでリモートデスクトップのポートのみを許可するのが良いかと。ルーターによっては送信元や宛先も絞れると思いますので、送信元が固定的なのであればこれも絞り込んだほうが
セキュアになってよいと思います。
# いろいろなところから可変 IP で接続すると思いますので送信元を絞り込めないのが現実だと思いますが。今回の図の場合では、[172.0.0.10] の ポート [3389] に対してのアクセスを許可する設定が必要ですね。
ルーターによっては IP マスカレードを設定すると自動的にアクセスを許可するものもあるようですので、
[2.] の設定だけでよいかもしれないですね。
こちらについては使用しているルーターの機能を確認するひつようがあります。 - NAT の設定 (ルーターによっては IP マスカレードで設定できるかも)
上の図では WAN 側の IP アドレスは一つですが、その先には複数のコンピュータが接続されています。
インターネットから [999.0.0.1] の IP アドレスでルーターにアクセスがあった場合、それをどのコンピュータに
振ればよいのか判断することができません。リモートデスクトップで 999.0.0.1 に接続しようとした場合は、172.0.0.10 に接続されるようにしたいですよね。
このような場合に使用するのがネットワークアドレス変換 (Network Address Translation : NAT) になります。
NAT を使用すると 999.0.0.1 にアクセスがあった場合 172.0.0.10 に要求を渡すという制御ができるようになります。
ポート単位に要求を渡す先を変更するものを IP マスカレードといいます。
# NAT は要求があったポートと同一のポートを渡します。これにより
– 999.0.0.1 の ポート 80 に対してのアクセスは 172.0.0.1 のポート 80
– 999.0.0.1 の ポート 81 に対してのアクセスは 172.0.0.2 のポート 80といった制御ができるようになります。
# NAT の場合は 999.0.0.1 に対してのアクセスは 172.0.0.1 という設定になります。量販店で購入できるルーターは IP マスカレードの設定ができるものが大半みたいですね。
# IP マスカレードができることを NAT と書いているのものもあるようですね。
これらの設定をするとルーター側のリモートデスクトップを使用可能にする設定ができます。
IP マスカレードを使用してインターネット側のリモートデスクトップのポートを隠ぺいするのもよいかもしれないですね。
[設定例]
– 999.0.0.1:3389 → 172.0.0.1:56000
# インターネット側の 3389 のポートアクセスをリモートデスクトップとは違うポートにリダイレクト
– 999.00.0.1:56000 → 172.0.0.1:3389
# インターネット側の 56000 のポートアクセスを 3389 にリダイレクト
リモートデスクトップのポートはデフォルトの 3389 から変更することができます。
NIC を複数接続している場合は特定の NIC で応答を待つこともできます。
次はこの 2 点の設定をまとめてみたいと思います。