Broadband Watch logo

無線LANルータ編
第17回:ポートフォワーディング


 ポート番号ごとに接続するクライアントを決定する「ポートフォワーディング」。用途に応じてサーバーを分ける場合やセキュリティ対策としても活用できます。


指定したポートにパケットを転送する「ポートフォワーディング」

 前回のDMZにちょっと関係する話です。今回はLAN内のことはいったん脇においておき、ルータと公開サーバーの関係を考えます。図1のように公開サーバー1台で、WebやFTP、メールなどの用途をまかなっている場合はあまり関係がありませんが、図2のように機能別に複数のサーバーに分けたい場合には、ポートフォワーディングと呼ばれる方法を利用します。


図1:サーバーが1つの場合 図2:サーバーが複数ある場合

 ポートフォワーディングとは、「ポート番号別にどのマシンに転送するかを定める」ための方法です。具体的に言えば、ルータには図3のような「宛先テーブル」が用意されます。例えば、ポート20番と21番に到着した要求パケットをFTP関係のパケットと判断し、FTPサーバーにすべてを転送します。

 同様に、80番(HTTPリクエスト)であればWebサーバーに、25番(SMTP)や110番(POP3)であればメールサーバーにそれぞれ転送するというわけです。そして、ルータは到着したパケットごとにテーブルを参照し、正しい宛先へと転送していきます。


図3:ポートフォワーディング

画面1:ポートフォワーディングの設定例
 このポートフォワーディングは、「必要なポートを公開して転送する」のが主目的ですが、「不必要なポートを遮断する」という働きもあります。Windowsにせよ、UNIXやLinuxにせよ、初期の状態ではさまざまな機能を利用・公開するために多くのポートが開かれています。しかし、こうしたものの中には、潜在的に脆弱性を持つもの、バージョンによって脆弱性が明らかになるものもあります。

 以前にも述べたように、公開サーバーはこうした問題は事前に対処するのが鉄則です。ただ、もともと不要な機能・サービスを外部に提供する必要はないわけで、こうした場合にポートフォワーディングを使用して「必要がないパケットは転送しない」という対応をすることで、脆弱性が仮にあった場合でもこれをカバーすることが可能になります。

 またあるいは、トロイの木馬などに仮に侵入された場合でも、その通信を遮断することで(トロイの木馬の多くは、独自ポートで外部と通信を行ないます)、無害化できるといった効用も期待できるでしょう。

 もちろん、ポートフォワーディングがあれば安心というわけではないですが、万一、対処し忘れた場合でもポートフォワーディングを使うことで多少はカバーできるわけで、安全策としてこれを使うのは悪いことではないでしょう。

 ポートフォワーディングに関しては、市販されているルータのほとんどが対応していると思います。設定方法はさまざまで、単にポート番号とLAN側IPアドレスだけを指定するタイプもあれば、画面1のようにプロトコルまで指定できるもの、さらにはLAN側ポート番号を変更できる(一種のNAPT)ものもあります。

 サーバーや外部公開する必要のあるサービスを利用しない場合にはあまり関係はありませんが、何かしら自前で公開する場合は、DMZの代わりにポートフォワーディングを使うのがベターでしょう。


関連情報

URL
  無線LANルータ編 索引ページ
  http://bb.watch.impress.co.jp/cda/koko_osa/17754.html

2007/08/27 11:01

槻ノ木 隆
 国内某メーカーのネットワーク関係「エンジニア」から「元エンジニア」に限りなく近いところに流れてきてしまった。ここ2年ほどは、企画とか教育、営業に近いことばかりやっており、まもなく肩書きは「退役エンジニア」になると思われる。
Broadband Watch ホームページ
Copyright (c) 2007 Impress Watch Corporation, an Impress Group company. All rights reserved.