ipv6 は殺してしまえ。検疫システムの限界 - 今後のIT資産管理

ip-sentinel をはじめとする arp poisoning の技術を使った「認証されていないデバイスの接続拒否」システム(検疫システム)やプログラムをいろいろと検討してみました。

http://www.nongnu.org/ip-sentinel/

ip-sentinel はデバイスが吐き出す arp のブロードキャストをキャプチャして、リストにない mac アドレスを検出すると、その mac アドレス(未登録デバイス)に偽の mac アドレスを送りつけて(arp poisoning)、未登録デバイスが目的の機器、ネットワークへの接続を阻止します。 ip-sentinel 自体は非常に単純な機能しかないし、C言語で書かれた僅かなコードは、マイコンCしか知らない私でも、何とか「どこでエラーを返しているか」くらいは調べられる単純なプログラムでした。ソースも古く、「これだけでまず必要十分」な機能だけを備えています。

この20Kbほどの小さなプログラムの実運用にはかなりスクリプトなどと組み合わせた運用方法を考えなければ使いこなすのは困難そうなので、他に何か良い製品はないかと調べてみました。

しかしこの仕組み(arp ポイズニング)を使った、検出アプライアンスや通信遮断ソフトウェアをいろいろと調べてみると、ほぼどこの製品でも ipv6 は対応していませんでした。

ipv6 では通信経路を見つけるため arp を使わず、 ICMP を使うためです。

--

ここで「はてipv6 って何だ」ということになるのですが、どこに情報を探ってみても「ipv4」とは似て非なるもの、全く異なるもの、と評価している人が多いようです。ここで問題となるのは ip-sentinel をはじめ、同様な機能を持った「未登録デバイスの検疫遮断システム」なるものは、現状の環境ではほとんど ipv6 の前には使い物にならないということです。

もっとも、社内のルータやソフトウェアが ipv4 にしか対応させていない以上、これらのデバイスにはアクセスできませんが、ネットワーク内部に ipv6 のみの機器同士を適切に設定すると通信できてしまうわけですね。たぶん。

何しろ「世界中の石ころにもIPアドレスが振れる」んじゃないかというアドレス空間ですから、ほとんどのデバイスが「グローバルアドレス」に近いものを持ちます。従って、ipv6 対応の端末が、持ち込まれると、ipv4 ルータの外へは無理としても社内に持ち込まれてしまうとどうしようもありません。特に管理しているPCで ipv4 と ipv6 をデュアルスタックにしていれば、致命的でしょう。このような端末であれば、ipv6 を喋る端末からもアクセスできてしまうし、 ip-sentinel のような検出遮断ツールからも遮断できません。

となると、対策は一つ

「管理できるデバイス、PCは ipv6 を完全に無効にする」

しか方法はありません。

BYODを積極的に取り入れる場合、持込端末の制御はユーザに嫌われる以上、これらの端末の ipv6 の無効化はユーザに歓迎されません。これらの端末が不用心なBYODポリシーの中で持ち込まれると対応のしようがないわけです。

--

Novell は ipx から IP に完全に移行して「ipxを殺す」ために、NetWare 4x では ip/ipx ゲートウェイという機能でNATのような機能を提供を始め 1998年の NetWare 5 で完全にIP対応してから、デュアルスタックに移行し、昨年の OpenEnterpriseServerr 11 (OES11) の発売で「ip/ipxデュアルスタックを完全に殺す」ことに成功しました。今では Windows XP クライアントのみが ipx 接続のために残されています。

OSX以降の Macintosh は詳しくないのですが、90年代に大流行した Appletalk を殺すことに成功しているようです。

これは1ベンダー、あるいは1ユーザの中でクローズした世界でのことで、世界中に無限大に存在する ipv4 資産を持つステークスホルダーを「殺す」まで、いったい何十年かかることでしょう。たぶんボクが生きている間は不可能じゃないか、という気すらします。今後、数十年は、販売されるデバイスが ipv4/6 のデュアルスタック対応となるでしょう。

もっとも、この数年間は「ウチには ipv6 は必要ない」と思う方がほとんどでしょう。問題の先送りなのかも知れませんが、私もそう思います。

あるいは、「自分のネットワークだけは早期に ipv6 にしてしまおう」その考え方も投資効果は別として積極的で結構だと思います。

もし、イワシが持っている携帯電話を調べて、次にどのイワシがどのマグロに食われるかを予想するようなビッグデータを使ったアプリケーションが大ヒットするようになれば、必要になるかも知れません。もっともイワシが携帯電話を持っていればの話です。

--
しかし「現実」に Windows でも Linux でもインストールや直後の設定の場面で「ipv6を意識的に無効にする」作業が必要なのが現状なのです。そんな中で「ウチは ipv6 は無効にしているから」という言い訳は出来なくなってきていることに気が付きます。

ユーザ部門にデバイスのセットアップを任せているケースでは、「無意識に ipv4/ipv6 デュアルスタックを使っている、あるいは使えて”踏み台化”している状態になっている」わけです。そこまで時代が進んでいることに気が付かない管理者の皆さんは大勢いるのではないでしょうか。

まず「意図的的に ipv6 は使えないようにする」作業が必要となります。

ここで、アセット管理(資産管理)システムとの統合の問題が出てくるわけです。

まずは通常のアセット管理システムでは検出できないような、ipv6 端末も検出できるように設定を変更しなければならないわけですね。あればですが...

nmap コマンドで -6 オプションを使えば ipv6 デバイスもスキャンできます。その場合 nmap を使う端末の ipv6 をイネーブルにする必要があります。 SUSE Linux の場合 YaST > Softwaremanagement > search から nmap を検索してインストールします。 YaST > Network Device から General 画面の ipv6 をチェックして再起動すれば ipv6 スキャナができるようです。(未確認)

その上で nmap コマンドを -6 オプションでセグメントをプローブスキャンしてみましょう。ひょっとしたら、どこかの Wifi ルータの設定がイネーブルになっていたり、未登録の ipv6 端末が接続されているかも知れません。これらは、 ipv4/ipv6 デュアルスタックの機器(現在販売されているデバイスのほとんどのデフォルト)に接続できてしまう可能性があります。(openSUSE なら ndpmonというパッケージが使えます)

まずやるべきことは、これらの「存在するかも知れない ipv6 端末」を「見つけて殺す」あるいはユーザさんに「とめてもらう」こと。次に、まず、優先的にアセット管理システムを ipv6 に対応させることでしょう。

その後、基幹ネットワーク、基幹アプリケーションをデュアルスタック化する必要があるでしょう。そして、完全に ipv4 を「殺す」ためには気の長い期間をかけて、デュアルスタックネットワークを管理する必要があります。(ipv6 を先送りするか、ipv4 を使い続けるかどうかは別として)

私の顧客のほとんどでも数万台のPCを ipx から ip へ完全に移行するまで数年かけてデュアルスタック環境を保持し続けました。ipv6 への完全移行はおそらく、その数十倍の年月が必要だと思います。確かに ipx -> ip への移行はそれなりに効果はあったと思います。というか必要だったというのが正解です。

ipv6 自体はひどいものだとは思いませんし、技術的にも必要だから生まれたものです。しかし、この長期のデュアルスタック状態が脅威となる可能性があります。

2013年はIP資源枯渇を迎えた元年です。今の時点で言えることはとにかく「ipv6 を殺しておけ」ということです。


islandcenter.jp
by islandcenter | 2013-01-05 19:38 | プライベートクラウド | Comments(0)