TP-LinkルータのDMZで自宅サーバーのポート開放!セキュリティーに注意して使い分け
こんにちは!
花粉症の季節で、なんとなく毎日だるくて、集中力がなく、ホームネットワークの検証・構築実験に時間が取れない、しずかなかずしです。
自宅サーバー、公開してますか??
これまで何度となく自宅サーバーを立てるときの理屈や技術、実際の設定などの投稿をしてきました。
自宅サーバーの設定には家庭用WiFiルーターの設定が不可欠。私のお気に入りのTP-Linkのルーターは、とてつもなく価格が安いのに、驚きの高機能。今日もこのルーターの機能をネタにしていきます。
自宅サーバーに関する知識まとめ
まずは、これまで投稿した記事とその内容をまとめます。
自宅サーバーと一言で言っても用途は様々。むしろ、普通にWebサーバー(HTTP)を自宅に設置するよりも、Webベースの監視カメラを立てるなどの特定用途が多いのかも知れません。また、私はやりませんがMinecraftなどのゲームを友達とマルチプレーするケースでも「ポート開放」などの知識が必要になります。
ポート開放とTP-Linkルーターの設定
自宅サーバーを立てるときにもっとも重要なのは、家の外からのアクセスパケットを、ホームネットワーク内のサーバー機器に適切に転送するための設定です。この設定は、家庭用のWiFiルーターの設定画面から行います。
「ポート開放」と気軽にいっていますが、インターネットの仕組みが詳しくない方は、まずは「ポート」という用語につまずきます。
以下の記事では、インターネットやポートの概念を「家」や建物の住所や部屋番号に見立て、比喩的に「家のアナロジー」として解説しています。
Dynamic DNS
普通、家の外側から自宅サーバーにアクセスするには、IPアドレスを指定することになります。ところが、家庭用のインターネット接続回線を使った場合、IPアドレスがサービスプロバイダの都合で変わってしまう場合があります。これを動的IPのアドレスと呼びます。
Dynamic DNS (または、略してDDNS)は、そんな状況下でも自宅サーバーに固有のホスト名(URL、ドメイン名)でアクセス可能にする技術です。no-ipなどのDDNS専用のサービスを使って実現します。
UPnP(universal plug and play)
UPnPはポート開放を自動化してくれる技術です。
家庭用ゲーム機は、この仕組みを利用して、ルーターの設定を自動的に変えてくれるため、ポート開放の設定が不要です。
下記の投稿では、UPnPの規格で定義されているIGD(Internet gateway device)というルーター制御のプロファイルを説明しています。IGDの操作をするLinuxのクライアントソフトのご紹介もあります。
TP-LinkのDMZが単純で便利
私の自宅にあるのは超低価格TP-link Archer C50というモデルです。このルーターには、DMZというポート開放の手段が用意されています。
DMZとは、Demilitarized zoneの略。ネットワークの用語ですが、ホームネットワークや社内ネットワークのような閉じたネットワークと、インターネットの外のネットワークの中間にあるようなネットワーク上の場所を示す言葉です。
ここの特殊な状況に置かれている機器は、ホームネットワークからも、インターネットからもアクセスできる状態になります。
TP-Linkでは、このDMZの設定ができます。とはいえ、この設定は、以下のTP-LinkのFAQ(英語)にあるとおり厳密な意味でのDMZを実現しているのではありません。TP-LinkのDMZは、かんたんに言うと、インターネットからリクエストを、ホームネットワーク内部の特定機器にすべて転送してくれる、という機能です。
「家」のアナロジーでDMZを説明
以前の投稿では、「家」のアナロジーを使ってインターネットのIPアドレスやポートの仕組みを解説しました。
このアナロジーでは、インターネットで言うところのIPアドレスを、マンションなどの集合住宅につけられた「住所」に。そして、インターネットのポート番を、マンションの各戸の部屋番号に。そのような置き換えをして、イメージをつけやすくして説明をしました。
そして、ホームネットワークは、何棟もの建物をぐるっと塀で囲んだ大規模マンションをイメージ。塀に一箇所だけ住所が割り当てられた入口があり、その門番が、ホームネットワークでいうところのルーター役、というお話にしました。
では、今回のDMZは、家アナロジーでいうとどういう状況でしょう?
ます、塀の中には一棟だけ、門番が特別扱いする建物があります。門番は、塀の外側から来た郵便物や、問い合わせは、なんでであろうと、すべてその建物の住人に送ります。
塀の中にいくら建物がいっぱいあろうと他の建物には見向きもしません。門番のところに、108号室にお願い、と依頼が来たら、特別扱いの建物の108号室に届けます。203号室にお願い、と依頼が来ても、特別扱いの建物の203号室に届けます。万事そんな感じなのです。門番からするととても単純な仕事です。
なぜにこんなに単純なのかというと、この大規模マンションのディベロッパー兼オーナーの住友不動産が決めたルールです。門番は言われたルールにしたがって仕事をしている訳です。
さて、話を現状世界、つまり、インターネットの世界に戻します。アナロジーでいうところの、門番は家庭用WiFiルーターです。
特別扱いされていた建物こそ、DMZ設定されたホームネットワーク内部のサーバーです。ルーターのDMZに設定は、予めサーバーにしたいマシンのローカルIPアドレスを設定しておきます。すると、ルーターに届いたどんなポート宛のパケットも、アナロジーの門番よろしく、すべてDMZのマシンに転送されるのです。
TP-LinkのDMZ設定画面
TPlinkのルーター設定画面は、ネットにエミュレータが公開されているので、かんたんに試してみることができます。もちろん、実際には設定できません。
どのようにDMZ設定を行うのか見ていきましょう。
登録するサーバのローカルIPアドレスは固定しておくのが良いです。それには、TP-Linkの「DHCP設定」を確認します。
そして、終了IPアドレスより大きいアドレスを、公開したいサーバーに「手動で」設定するのです。
例えば、上記のエミュレータでは、192.168.0.199が終了アドレスになっています。この場合、サーバーに手動で設定するアドレスは、192.168.0.201などのように、最後のセグメントの数字を大きくして設定します。
複数固定アドレスの機器がある場合は、重ならないように注意して下さい。
仕組みを少し説明しますと、DHCPは動的に機器にアドレスを割り当てるサービスですが、DHCPが自動で各機器に割り当てるのは、アドレスの範囲が、開始IPアドレスから終了IPアドレス。つまり、それ以外のアドレスは、自分で自由に自宅の機器に割り当てることができる、というわけです。
機器側に自分で固定的に設定したIPアドレスは、DMZ設定画面の「DMZホストIPアドレス」に登録します。
これで、インターネットから自宅のルーターに送られてきたパケットは、すべてのポート番号に対して、固定のアドレスの機器に転送されます。
セキュリティに御用心
以前投稿したポート開放の記事では、TPlinkのルーターで「仮想サーバー」という設定を使いました。
「仮想サーバー」と「DMZ」は何が違うのでしょう??
「仮想サーバー」では、サーバー機器の特定のポート番号だけをインターネットに公開することになります。ルーター画面に設定したポートの範囲のみです。
一方、「DMZ」の場合は、すべてのポート番号がインターネットに公開されることになります。サーバー機器がどんなポート番号を使うかわからないような場合は、こちらの方が便利です。
しかし、ルーターのすべてのポートに届くパケットが、サーバー機器に送られるのは、便利な反面、危険でもあります。
何者か、つまり、悪い人が、セキュリティホールなどを狙って機器のポートを叩きまくる、みたいなケースです。
もし、ルーター機器の意図しないポート番号で脆弱性のあるサーバープログラムなどか動作しているとどうでしょう。そこが攻撃されて悪者による機器の乗っ取りが発生するかも知れません。
「仮想サーバー」設定の場合は、自分で設定した"目の届く範囲"のポート番号だけが、そのリスクにさられますが、それ以外のポート番号は、ルーターがブロックしてくれるのです。
仮想サーバーにするか、DMZにするか。利点、用途、およびリスクを鑑みて選びましょう。
「DMZ」は公開できるサーバー機器が一台のみ
また、DMZではIP アドレスは、設定画面で一つしか入力できません。つまり、ポート開放できる機器は一台だけ。
例えば、複数のセキュリティカメラが家のホームネットワークにつながっていて、すべてのカメラを屋外からアクセスするような場合は、DMZでは実現不可能です。
そのようなケースでは、TP-Linkの「仮想サーバー」を使うしかありません。「仮想サーバー」設定にて、ポート番号Aに来たアクセスは、機器Xへ、ポート番号Bに来たアクセスは、機器Yに、といった設定が必要になります。
まとめ
格安で高性能のTP-Linkのルーターで、DMZという機能について解説しました。
ルーターに来たすべてのポートへのアクセスを、ホームネットワーク内部の特定の一台に転送する機能です。
自宅サーバーを立てる際にとてもかんたんに使えます。
セキュリティにも気をつけて、便利に利用しましょう。
こちらもオススメ