連載ネットワーク・デバイス教科書第13回 ブロードバンド・ルータのセキュリティ設定1. NATとパケット・フィルタリングの実際渡邉利和 |
前回の「ブロードバンド・ルータの基本設定」では、ブロードバンド・ルータをインターネットに接続するための基本的な設定を解説した。今回は、より安全に運用するための主にセキュリティに関連する項目について概要を紹介しよう。
NATの基礎知識
NATは、ブロードバンド・ルータの最も基本的な機能といってよいだろう。NATは「Network Address Translation」の意味で、最初期にはIPアドレスの書き換えのみを行う機能を指していた。単純に、グローバル・アドレスとプライベート・アドレスを変換するだけで、ポート番号(TCP/IPでアプリケーションを識別するために付けられている番号)については変換せずにそのまま素通しにする、という動作だ。このパターンのNATをインターネットへの入り口に設置すると、LANからインターネットへアクセスする際に、アクセスに使用されるホストの数だけグローバル・アドレスが必要になってしまう。実際に多数のホストがあるLANでも、すべてのホストが同時にインターネットへアクセスするということはまず考えられない。例えば、30台のホストがあるLANでも、インターネットにアクセスしているホストが常に最大5台だったとすると、この組織では5つのグローバル・アドレスを取得してNATで適宜割り当てを変更しながら使えばよいということになる。だがこの方式は、グローバル・アドレスの枯渇対策としては意味があるのだが、現在一般に市販されているブロードバンド・ルータではこの方式だけを搭載している機種はまずない。
このようなNATではIPアドレス・レベルでの変換を行っていたため、インターネットにアクセスできるホストの数は、確保されているグローバル・アドレス数と同じであった。一般的なISPとの契約では、割当を受けられるグローバル・アドレスは1つであることが多い(複数アドレスの割り当てを受けられるサービスも存在するが、高価だ)。つまりこの場合、LAN内のホストのうち1台だけがインターネットにアクセスできるということになる。これでは不便だ。
そこで、単純なNATに続いて、IP Masquerade(IPマスカレード)と呼ばれる技術が使われるようになった。これは、NATがIPアドレスのみを変換するのに対し、IPアドレスとポート番号の組み合わせを変換対象とするものだ。当初は、NATとIP Masqueradeは区別されていたが、現在ではもともとの単純なNATを搭載している機種は見られなくなり、実際にはすべてIP Masqueradeになってしまった。さらに、IP Masqueradeを単にNATと呼ぶ例が増えた結果、IP Masqueradeという用語自体があまり使われなくなっている。「ブロードバンド・ルータのNAT機能」という場合、実際にはほぼ間違いなくIP Masqueradeのことを指していると考えてよい。IP Masqueradeでは、1つのグローバル・アドレスをIPアドレスとポート番号の組み合わせで変換することにより、複数のホストで同時に共有できるようになっている。実際には無制限というわけにはいかず、ブロードバンド・ルータの場合、サポートするセッション数は250程度であり、それが同時接続数の上限となる。しかし、一般的な規模のLAN内のホストからのインターネット・アクセスをカバーするには、それでも十分だろう。
ここまでは、基本知識に属する話だが、あらためてNATの解説から復習したのは、NATがセキュリティを考えるうえでも大きな影響があるからだ。
NATがセキュリティで果たす役割
NAT(IP Masquerade)は、本来1つのグローバル・アドレスを複数のホストで共有するための機能である。しかし、動作としてはLAN内のホストから通信が開始された際にダイナミックに任意のポート番号を割り当てることになるため、インターネットからLAN内のホストを隠ぺいする結果にもなる。つまり、実際に割り当てが行われるまでは、LAN内のホストにインターネット側からアクセスする手段はないし、割り当てが行われた場合でも、グローバル・アドレスのどのポートに対して、どのホストのどのポートが割り当てられたのかをインターネット側から知ることができない。そのため、特定のホストやポートを標的にした攻撃をインターネット側から実行するのがかなり困難になる。基本的なセキュリティ対策が施された状態になっていると見ることができるわけだ。
もちろん、NATはセキュリティのための機能というわけではないので、結果的にセキュリティ強化につながっているとしても過信は禁物だが、実際問題ブロードバンド・ルータのセキュリティ機能は、「NATで基本的なセキュリティが維持されている」ことを前提にしているものが実状であるため、NATの動作についてきちんと理解しておくことが重要だ。
本格的なセキュリティを実現するパケット・フィルタ
ブロードバンド・ルータのセキュリティ機能としては、パケット・フィルタが基本となる。前回から例として取り上げているLinksysの「BEFSR41」では、パケット・フィルタの設定は「Advanced」メニューの下に置かれており、通常は触らないで済むようになっている。というのも、特別な設定をしなくても通常はインターネット側からのアクセスは遮断し、LANからインターネットへ向かうパケットおよびそのパケットに対する応答パケットだけを通過させる、という動作をするので、これ以上のパケット・フィルタリングがなくても通常はそう心配はいらないはずだからである。
パケット・フィルタは、ブロードバンド・ルータを通過するパケットのヘッダ部分を調べて、設定された条件と比較した後、条件に合うパケットだけを通過させる、あるいは条件に合うパケットを遮断する、といった動作を行うものだ。原理としては簡単だが、実際のブロードバンド・ルータでどのような設定が可能かとなると機種によって異なっており、標準がないのが実情だ。
設定可能な条件として代表的なものを挙げると、以下のようなものとなる。
- パケットの通過方向(WAN → LAN/LAN → WAN)
- IPアドレス(発信ホスト/受信ホスト)
- ポート番号
- プロトコル(TCP/UDP/ICMP)
- SYNフラグ
もちろん、高機能なパケット・フィルタでは、もっとさまざまな条件設定が可能なものもあり、これですべてというわけではない。ただ、実際問題このすべての条件に関して任意の指定ができるブロードバンド・ルータは、まったくといっていいほど存在しない。また、機種によってサポートしている機能はかなり異なっているようだ。
パケットの通過方向は、最も分かりやすい条件の1つだ。一般的には、WAN(つまりインターネット)から送られてくるパケットについては遮断するが、LANからWANに出て行くパケットについては気にしないことが多い。ただし、実際にはLANからWANに出て行くパケットの中にも不要なものや、情報の漏えいにつながるものなどがあり得るので、そうしたパケットを遮断できる機能があるに越したことはない。LinksysのBEFSR41の場合は、フィルタリングの条件設定が可能なのは、LANからWANに出て行くパケットについてのみであり、WANからLANへ送られてくるパケットに関してはフィルタリングが一切できない仕様になっている。一見逆なような気もするが、実はこの機種の場合、WANからLANに送られてくるパケットは基本的にすべて遮断することになっているのでフィルタリングの必要がないのである。また、別のサンプルとして用意したハイウエスト・ブレインネットの「PBR005」では、WANからLAN、LANからWANの両方向について、それぞれ独立にフィルタリング・ルールが設定できるようになっている。
65Mbpsを実現したブロードバンド・ルータ「PBR005」
|
次にIPアドレスだが、一般的には発信ホストのIPアドレスを指定することになるが、受信ホストのIPアドレスを指定できる機種もある。特定のホストから攻撃が繰り返される、といった状況では発信ホストのIPアドレスでフィルタリングすればよいが、こういうことはあまり多くはないと思われる。LinksysのBEFSR41にはこの機能はなく、代わりにLAN内の特定のPCからのインターネット・アクセスを全面的に禁止する機能が用意されている。
ポート番号は、多くの機種のパケット・フィルタで主要な条件として設定されるものだ。というのも、TCP/IP環境で利用される一般的なアプリケーション・プロトコルは、たいていあらかじめ標準的に割り当てられた特定のポートを利用するので、ポート番号を条件に指定することで、特定のアプリケーション・プロトコルを明示的に指定できるからだ。例えば、外部からのTELNET接続は遮断するとか、DNSのパケットは通す、といった設定が可能になる。さらに、ポート番号に関してTCPとUDPを別個に扱うものや、両者を区別しないものがある。
プロトコルは、TCP/IP環境での代表的なトランスポート・プロトコルであるTCPとUDP、そして制御プロトコルのICMP(Internet Control Message Protocol:TCP/IPプロトコルの補助として作られた制御用プロトコル。エラー通知や通信状態の診断、pingコマンドなどで使用している)に関して指定可能になっている例が多い。さらに、ICMPだけ別制御になっている例もよくあり、「pingに応答しない」といった個別の具体的な設定が用意されていることもある。
SYNフラグは、TCPでのコネクション開設要求パケットを示すもので、これは通信を要求する側が応答側に対してまず送ることになる。コネクションが確立されれば、以後の通信はそのコネクション内で処理される。実際には、WANから送られてきたSYNフラグ付きのパケットは遮断する、という動作になるのが一般的だ。これは、WANからの接続要求はすべて拒否するが、LAN内からインターネット上のサーバとの間に確立したコネクションを通じて送られてくるWANからのパケットは通過させる、ということだ。WANからのパケットを一律にすべて遮断してしまっては、Webページの表示すらできないことになってしまうが、かといってWANからのパケットすべてを通過させると、ポート・スキャンや特定ポート向けの攻撃といった悪意ある通信がすべて素通りしていってしまう。一般的な用途では、NATを利用しており、かつSYNフラグを見て外部からのパケットの侵入を止めるように設定されていれば、ブロードバンド・ルータ・レベルでのセキュリティ機能としては取りあえず十分だといえるだろう。これ以上のセキュリティを実現するには、もっと高機能なファイアウォール・アプライアンスなどの導入を検討することになる。
ブロードバンド・ルータでの実際の設定法
画面1に、LinksysのBEFSR41でのパケット・フィルタリングの設定画面を示す。この機種では、LAN内からインターネットへ出て行くパケットについてのみフィルタリングが可能で、「特定のIPアドレスを持つホストからのパケットをすべて遮断」「特定のポート番号のパケットをすべて遮断」「特定のMACアドレスを持つホストからのパケットをすべて遮断」の3種類の定義が可能だ。ただし、組み合わせた設定は行えないので、「IPアドレスがxxのホストからのポート番号yyのパケットだけを遮断」といったことはできない。
画面1 LinksysのBEFSR41のパケット・フィルタリング |
一番上のブロックでは、インターネットへのアクセスを禁止するLAN内のホストのIPアドレスを指定する。次に、特定のアプリケーション(ポートで識別)のインターネット・アクセスを禁止する場合に、そのポートを指定する。「MACアドレス・フィルタ」は、実態としては一番上のIPアドレスによるアクセス制御と同じ機能だが、ホストの指定をIPアドレスではなくMACアドレスで行う。最下部の一連のオプションにはセキュリティに影響を与えるものも含まれているが、どのような設定が可能かは機種によってさまざまだし、用語の意味がベンダによって異なっているので注意が必要だ。詳細は、個別にマニュアルを確認するしかない。 |
この実装の場合、LAN内のマシンに仕組まれた「トロイの木馬」などからの不正な情報発信を防ぐとか、インターネットへの不要な問い合わせが繰り返し発信されるのを防ぐといった用途が主となる。また、LAN内の特定のホストを使用しているユーザー(例えば子供)に対してインターネットへのアクセスを制限する際にも利用できる。
一方、機種が異なると設定できる項目もまるっきり異なってくる。画面2は、ハイウエスト・ブレインネットのPBR005のフィルタリング設定だ。この機種では、「IN制御」「OUT制御」という2種類のフィルタをそれぞれ独立に定義できる。この違いはパケットの通過方向で、「IN制御」はインターネットから送られてくるパケット、「OUT制御」は逆にLANからインターネットへ出て行くパケットに対するフィルタだ。この機種の場合、8種類までの条件を設定できるほかに、条件に合ったパケットだけを遮断するか、逆に条件に合ったパケットだけを通過させるのかを選ぶことができるが、条件ごとに遮断/通過を任意に指定することはできない。条件に含めることができるのは、IPアドレスとポートの情報だけだが、発信ホスト/受信ホストの双方について指定可能だ。なお、この機種では標準では一切のパケット・フィルタリングを行っていないようで、デフォルトの状態ではすべてのパケットが通過するようになっている。SYNフラグのチェックもないようなので、パケット・フィルタの設定は必須となる。
画面2 ハイウエスト・ブレインネットのPBR005のパケット・フィルタリング |
「OUT」と「IN」のそれぞれに同様の設定画面が用意されている。SYNフラグのチェックがない点が少々残念だが、発信ホスト/受信ホスト双方のIPアドレスとポートを指定できるなど、きめ細かな設定ができるようになっている。前出のLinksys BEFSR41と比べると、機種ごとにできることがかなり異なることが分かるだろう。 |
関連リンク | |
BEFSR41の製品情報ページ | |
リンクシス・ジャパン製BEFSR41の動作実績情報 | |
PBR005の製品情報ページ | |
ハイウエスト・ブレインネット製PBR005の動作実績情報 |
INDEX | ||
ネットワーク・デバイス教科書 | ||
第13回 ブロードバンド・ルータのセキュリティ設定 | ||
1.NATとパケット・フィルタリングの実際 | ||
2.DMZとパケット・フォワーディングによるホストの公開 | ||
「連載:ネットワーク・デバイス教科書」 |
- Intelと互換プロセッサとの戦いの歴史を振り返る (2017/6/28)
Intelのx86が誕生して約40年たつという。x86プロセッサは、互換プロセッサとの戦いでもあった。その歴史を簡単に振り返ってみよう - 第204回 人工知能がFPGAに恋する理由 (2017/5/25)
最近、人工知能(AI)のアクセラレータとしてFPGAを活用する動きがある。なぜCPUやGPUに加えて、FPGAが人工知能に活用されるのだろうか。その理由は? - IoT実用化への号砲は鳴った (2017/4/27)
スタートの号砲が鳴ったようだ。多くのベンダーからIoTを使った実証実験の発表が相次いでいる。あと半年もすれば、実用化へのゴールも見えてくるのだろうか? - スパコンの新しい潮流は人工知能にあり? (2017/3/29)
スパコン関連の発表が続いている。多くが「人工知能」をターゲットにしているようだ。人工知能向けのスパコンとはどのようなものなのか、最近の発表から見ていこう
|
|