本連載第4回 DNSのIPv6設定でやっていいこと、悪いことで、IPv6での経路制御周辺とDNSのIPv6関連の設定、第5回目 HTTPサーバ、SMTPサーバ、POPサーバのIPv6設定では、DNS以外のサーバのIPv6設定について解説した。
連載最終回となる今回は、特に企業網へIPv6を導入するとき最も大きな課題となりがちなファイアウォールについて、その現状と今日現在使える導入方法とを解説する。
そもそもファイアウォールって何?
世の中ではよく「IPv6ではファイアウォールがない」とか「IPv6にはファイアウォールが要らない」とかいわれることが多い。しかしながら、こうした説の真偽は「ファイアウォール」という言葉の定義に依存する。そのためIPv6でのファイアウォールについて説明する前に、まず「ファイアウォール」という言葉を明確にしておこう。
「ファイアウォール」というのは大まかにいうと「あるネットワークに関して、そのネットワークの外からそのネットワークへ不正なパケットが流入するのを防ぐ」というシステム全体を示す名称にすぎない(参照:セキュリティ用語事典)。ちまたで売られているファイアウォール「装置」というのは、このファイアウォールという「システム」を実現するためによく用いられるもろもろの技術を1つの箱に収めたものにすぎないことに注意してほしい。
技術的には、ファイアウォールは、ネットワーク上に現れたパケットを通すか廃棄するかを何らかの基準で判断するフィルタリング技術の集合である。具体的には、表1のような技術を組み合わせてファイアウォールは構築される。
階層 | 技術名 |
---|---|
Layer 2 | WEP |
802.1x | |
CHAP/PAP | |
Layer 3〜4 | パケットフィルタ |
ステートフルインスペクション | |
ポリシールーティング | |
Layer 7 | アプリケーションゲートウェイ |
表1 フィルタリング技術いろいろ |
フィルタリング技術を実装する場所も表2に示すように大まかに2種類あり、ファイアウォールは必ずしもネットワークの外部境界部に構築されるとは限らないことも頭に入れてほしい。
モデル | フィルタリング場所 | 代表例 |
---|---|---|
玄関モデル | ネットワークの 外部接続境界 |
DMZ |
金庫モデル | ネットワークの 末端端末 |
パーソナル ファイアウォール |
表2 フィルタリング場所いろいろ |
ファイアウォールを構築する際に表1の各フィルタリング技術をネットワーク上のどの場所で用いるかは、ネットワークによりまちまちだ。「ネットワーク」の「内」「外」の定義※1や、「不正アクセス」の定義や、ネットワークの構成、ネットワークへの要求事項などによって、パケットを通すか否か、またはじくとしたらどこではじくかが変わるからだ。この辺はネットワーク管理者のセキュリティポリシーにより決まるため、これならいつでもOKという実現方法は存在しない。
※1ネットワークの「内」「外」の定義
社員が出張先から社内にアクセスするのは外からのアクセスとみなしてはじくべきだろうか? それとも暗号化さえされていれば中からのアクセスと同様とみなして通すべきだろうか? 前者ならば当然社外から社内へのアクセスは全て遮断するようなフィルタリングをすることになるし、後者ならば特定の暗号通信プロトコルだけ社外から社内へのアクセスを認めるようなフィルタリングをすることになる。
IPv6のファイアウォールに関するうわさの検証
以上の説明を踏まえて、冒頭の話に戻り、IPv6のファイアウォールに関してよくいわれるうわさを検証してみよう。
「IPv6にはファイアウォールがない」という説は2つの点で間違っている。
個々のフィルタリング技術のIPv6対応はすでに大抵のルータベンダ・サーバアプリケーションで実現済みであり、それらを組み合わせればファイアウォール「装置」がなかったとしてもファイアウォール「システム」は実現可能※2だというのが、1つ目の理由である。
※2ファイアウォール「システム」なしに機能は実現可能
とはいえ、ファイアウォール「装置」が不要というわけではない。ファイアウォール「装置」には複数装置を組み合わせて運用するのに比べて、設定や管理が楽というメリットがある。
もう1つの理由は、この1年でNetScreen社などのファイアウォール装置ベンダの商品のIPv6化も進んでいるということである。またWindows XPでも、Advanced Networking Pack for Windows XPをインストールすると、IPv6パーソナルファイアウォールを利用することができる(図1)
c:\> netsh firewall show adapter --------------------------------------------------------------- AdapterFriendlyName IPV6FilteringEnabled --------------------------------------------------------------- Teredo Tunneling Pseudo-Interface はい ローカル エリア接続 はい 6to4 Tunneling Pseudo-Interface はい Automatic Tunneling Pseudo-Interface はい ---------------------------------------------------------------
「IPv6にはファイアウォールが要らない」という説は、半分正しく半分間違いだ。この説を正確にいうと「IPv6ではIPsecでEnd-to-End の直接通信を行うから、ネットワークの外との境界に置くファイアウォールシステムは邪魔だ」ということである。
言い換えると、この説は「ネットワークの境界でフィ ルタリングを行うファイアウォールシステム」を否定しているものの、そのほかのファイアウォールシステム全般を否定しているわけではない。実際このような場合にも、パーソナルファイアウォールのような末端ホストにおけるフィルタリング技術は必要と考えられているし、IPsecのセキュリティポリシー(どのパケットをどのように暗号化・復号・廃棄するかの方針)もある意味末端ホストでのフィルタリング技術と見なせるからだ。
IPv6時代に本当にネットワークの外との境界に置くファイアウォールが不要なのかという点については識者の間でも議論が分かれるところなので、後述する。
IPv6でもIPv4と同様なフィルタリングはできる
表1で述べたフィルタリング技術のIPv6対応状況を、表3に示す。上でも述べたようにどの技術もIPv6対応済みである。そのためこれらの技術を組み合わせて作られたIPv4ファイアウォールシステムは、そのままIPv6化することができる。
ただし、アプリケーションやルータによってはフィルタリング機能が一部IPv6対応していないこともあるので、ファイアウォール構築に際しては、どの装置でどのIPv6フィルタリング機能が実現可能なのかに注意しなければならない。
またIPv6フィルタリング機能は実装しているものの、それをログに残すことができないような実装例もある。とはいえIPv6フィルタリング機能が、こうしたかゆいところに手の届いた実装になるのは時間の問題だ。
階層 | 技術名 | IPv6対応状況 |
---|---|---|
Layer 2 | WEP | ○ |
802.1x | ○ | |
CHAP/PAP | ○ | |
Layer 3〜4 | パケットフィルタ | ○ |
ステートフルインスペクション | △(ベンダによる) | |
ポリシールーティング | △(ベンダによる) | |
Layer 7 | アプリケーションゲートウェイ | △(アプリケーションによる) |
表3 フィルタリング技術のIPv6対応状況 |
特にアプリケーションゲートウェイに関しては、IPv6未対応でも何とかなることが多い。アプリケーションゲートウェイでのフィルタリング処理は、ウイルスメールフィルタのようなIPアドレスに依存しないものであることが多いからである。こうした場合には、IPv6対応のプロクシ用ゲートウェイを介することにより、IPv4のみ対応のフィルタリング用アプリケーションゲートウェイをIPv6環境でも利用することは可能である(図2)。
IPv6ならではの注意点を強いて1つ挙げると、Privacy Address Extensionに対する運用方針を明確に決めておくことがある。
通常IPv6アドレスの下64bitはイーサネットのMACアドレスから生成されるため、ある端末のIPv6アドレスの上64bitは端末のあるセグメントによって変動するが、下64bitは常に同一の値になる。そのためIPv6アドレスの下64bitを見れば、それがどの端末なのかをある程度推測することができる。これに対してPrivacy Address Extensionというのは、IPv6アドレスの下64bitを定期的に変更して通信することにより、IPv6アドレスを見てもそれがどの端末なのか推測できなくする仕組みである(図3)。特にWindows XPではこの機能がデフォルトでONになっている。
c:\> ipconfig Windows IP Configuration Ethernet adapter ローカル エリア接続: Connection-specific DNS Suffix . : IP Address. . . . . . . . . . . . : 2001:db8:1:2:200:e2ff:fe16:81d4 IP Address. . . . . . . . . . . . : 2001:db8:1:2:854e:aac6:636e:eca1
上のIPv6アドレスが通常のIPv6アドレス、下のIPv6アドレスがPrivacy Address Extensionにより生成されたアドレスである。
エンドユーザーにとっては匿名性を高める便利な技術である一方、管理者にとってはIPアドレスを見てもそれが誰なのか分からなくなってしまう、悩ましい技術である。従って管理者側としては、エンドユーザーへPrivacy Address Extensionを無効にするように依頼するか(図4)、もしくはフィルタリングに際してはIPv6アドレスの下64bitが固定であることを仮定しない運用をするかのいずれかの措置が必要となる。
c:\> netsh interface ipv6 set privacy disabled OK c:\> netsh interface ipv6 show privacy Querying active state... Temporary Address Parameters -------------------------------------------- Use Temporary Addresses : disabled Duplicate Address Detection Attempt : 5 Maximum Valid Lifetime : 7d Maximum Preferred Lifetime : 1d Regenerate Time : 5s Maximum Random Time : 10m Random Time : 2m47s
IPv6でも、IPv4と同じファイアウォールで本当にいいのか?
以上述べたのは、IPv4と同じネットワーク運用をしたいのならばIPv6でも実現可能という話である。しかしながら「IPv6でもIPv4と全く同じネットワーク運用」をすればいいというのは、本当に正しい仮定なのかは議論が分かれるところだ。
Peer to Peer通信やIPsec通信などのようにIPv4では実現できないことをIPv6でやりたいのだとしたら、IPv4とIPv6とで同じネットワーク運用をするというのはそもそも間違いだという考え方もある。そもそもIPv4とIPv6とで同じことしかできないのならIPv6を導入する意味が薄い、という疑問ももっともだ。
とはいえ、IPv4とIPv6とでネットワーク運用ポリシーが異なるのではインターネット運用ポリシーとしての整合性が取れていないし、最悪IPv6経由でIPv4ネットワークを攻撃されてしまう危険性を否定できないというのも事実だ(そうした危険のあるネットワーク運用ポリシーは、IPv4のみでも実は危険なネットワーク運用ポリシーであることが多いのであるが……)。
いずれにせよ、IPv6ならではのアプリケーションを企業内でも使おうと考え出すと、今後の運用ノウハウ蓄積や商品開発が必要な分野である。
IPv6のセキュリティの対応について解説はいかがだったろうか。連載「IPv6導入虎の巻」の最終回を迎えるが、動向の変化などあれば随時また皆さんにお伝えしたい。
Copyright © ITmedia, Inc. All Rights Reserved.