1 / 54

明日から始める IPv6 ~やる気は枯渇していないか?大丈夫だ、問題ない~

hbstudy #20. 明日から始める IPv6 ~やる気は枯渇していないか?大丈夫だ、問題ない~. Kunitaka Namba TwitterID: @ipv6labs. 自 己 紹 介. 氏名:難波 邦考( Kunitaka Namba ) よく“孝”とか、 Na”n”ba に間違えらて公的処理等が止まる・・・ 所属:いんたーのっと(個人参加) 役職無し、部下無し、資格無し・・・ IPv6 の仕事無し。 orz 主な分野:  ・“ Sun” Solaris + OSS なインフラ構築~運用

ralph-fox
Download Presentation

明日から始める IPv6 ~やる気は枯渇していないか?大丈夫だ、問題ない~

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. hbstudy #20 明日から始めるIPv6~やる気は枯渇していないか?大丈夫だ、問題ない~ Kunitaka Namba TwitterID: @ipv6labs

  2. 自 己 紹 介 氏名:難波 邦考(Kunitaka Namba) よく“孝”とか、Na”n”baに間違えらて公的処理等が止まる・・・ 所属:いんたーのっと(個人参加) 役職無し、部下無し、資格無し・・・IPv6の仕事無し。orz 主な分野:  ・“Sun” Solaris + OSSなインフラ構築~運用 BIND、Apache、Postfix、sendmail、ENMA、Nagios、etc…  ・サーバ、ネットワークの監視設計  ・セキュリティ、イレギュラー対応

  3. 留 意 事 項 ※1. IPv6導入をしていたのは約3年~半年前です。 古い情報があるかもしれません ※2. 現在の業務とIPv6は全然関係ありません。 ExcelとPowerPointがお友達、Terminal開かない日も多い・・・ ※3. CCNAの賞味期限がとっくに切れています。 感性でネットワークを触るので、いい加減です。パケットを感じるんだ! ※4. 時々変な事を呟いていますが無視して下さい。 精神崩壊を防ぐためです。皆様にはご迷惑をおかけしております

  4. 主 旨・目 的 (1) IPv4枯渇とIPv6導入について考える。 もう(APNIC配下は)“来年になったら本気出す“だと間に合わない (2) IPv6対応について手法や失敗ネタを共有する。 IPv6はIPv4へ影響しないよね?は誤り、混ぜるな危険 (3) 参加者のIPv6対応のやる気を枯渇させない。 2000年頃IPv6を使っていた人はやる気が枯渇した人が多いという噂 (4) IPv6 Readyなエンジニアを増やす。 機材が対応していてもエンジニアが IPv6 not Ready とか格好悪い

  5. IPv4枯渇の現状 IPv6「IPv4が枯渇したようだな」 ASN「ククク・・・奴は我ら四天王の中でも最小の空間」 MAC「枯渇に陥るとは、四天王の面汚しよ・・・」 2011/02/03 IANAのIPv4アドレスがついに枯渇 IPv4 Address Report http://www.potaroo.net/tools/ipv4/index.html

  6. IPv4枯渇の現状 「来年から本気出す」 でも間に合うのでは!? 残り1年弱 IPv4 Address Report http://www.potaroo.net/tools/ipv4/index.html

  7. IPv4枯渇の現状 APNICのIPv4アドレスの枯渇は 3~6ヵ月後(2011年05~11月) と予想されている。 「来年から本気出す」 では間に合わない!! IPv4 Address Report http://www.potaroo.net/tools/ipv4/index.html

  8. IPv6の導入 ~設計編~ 設計編: IPv6なネットワークを設計する 際に発生した課題とその対処など についてのお話 もうExcelシート捨てたい・・・

  9. IPv6の導入 ~設計編~ IPv6導入により複雑化するネットワーク 構成によっては、IPv4プライベートアドレスとIPv6グローバル アドレスが混在する混沌としたネットワークになる。 ⇒その時のアドレスの管理は!? DualStack環境となると1つのVLANに2つのIPversionが混在する ようになる。 しかしそのVLAN内の全てが、DualStackとも限らない。 ⇒その時のネットワーク構成図は!?

  10. IPv6の導入 ~設計編~ Q. IPv6アドレス空間をそのままExcelシートで 管理できるのか? A. 無理、IPv4アドレス空間の管理手法では 収まらない。 IPv4アドレスの第3オクテットをワークシート名に~ というよく 見かける管理手法では、Excelシートには収まらない可能性が高い。 /56であれば256シートで済むが、/48になると65535シートが 必要になり、Excelが65531シート※までしか扱えない。 ※重すぎて使い物になりません。

  11. IPv6の導入 ~設計編~ どうしてもExcelシートで管理してみたい方は、 以下に65531枚のシートを生成したExcelファイルを 置いています。ご自由にどうぞ。 http://negi.ipv6labs.jp/data/tmp/Sheet65531.xls マクロサンプル Sub Macro1() Do While (Sheets.Count < 65536) Sheets.Add Application.Wait [NOW()+"0:00:00.001"] Loop End Sub

  12. IPv6の導入 ~設計編~ Q. IPv6アドレスを使用して意図的なアドレス生成 したい。例:2001:db8:dead::beef A. DualStack環境の場合は、意図的なアドレスを 生成して使用するべきではない。 IPv4側のアドレス体系との因果が無くなり、運用管理に大きな 負担が生じてしまう。 イベント用やテストベッド用ならともかく、実運用では堅実な アドレス体系=既にあるIPv4の体系に沿った形に近づける のが無難です。

  13. IPv6の導入 ~設計編~ DualStackの設計においては、以下となる可能性が高い。 利用される IPv4アドレス> IPv6アドレス 利用される IPv4アドレス ≒ IPv6アドレス ※リンクローカルアドレスは除いたIPv4プライベート/グローバル  アドレス:IPv6グローバルアドレスの場合

  14. IPv6の導入 ~設計編~ IPアドレス設計 既設のIPv4設計 追加されるIPv6設計 DualStack化されてゆく部分 実験用程度 で十分な領域 IPv4のみ使用する部分 IPv6のみ使用する部分

  15. IPv6の導入 ~設計編~ 設計の基点はIPv4アドレスで行ってみた。 ・IPv4の管理ポリシーを引き継ぐことができる。  ⇒Excelシート大好きNEは歓喜するに違いない。 ・IPv6のアドレス設計/割当に悩まなくていい。  ⇒更に ::dead:beef とか cafe とか ace とか fee1 とか   醜い命名規則と、命名権?の取り合いを防ぐことが可能。

  16. IPv6の導入 ~設計編~ ObjectGroup: 10.22.33.0/24 Excelっぽく表現 IPv4 IPv6 = Object: 10.22.33.123 = = ObjectGroup: 10.22.33.123 = = = Object: 2001:db8:22:33::123 ここの変換規約を 定義すれば生成可能

  17. IPv6の導入 ~設計編~ MyDualStack.xls Sheet11-3 Sheet11-1 Sheet11-2 IPv4 IPv6 IPv4 IPv6 IPv4 IPv6 10.11.1.0/24 2001:db8:11:1::/64 10.11.2.0/24 2001:db8:11:2::/64 10.11.3.0/24 2001:db8:11:3::/64

  18. IPv6の導入 ~設計編~ IPv4アドレスからIPv6アドレスを生成する例 (現実的にはほぼ不可能、中小へは/48割当) Oct.1 Oct.2 Oct.3 Oct.4 /24 010 . 123 . 123 . 123 2001 0db8 : 0123 : 0123 : : : 0123 /64 1~32bit 33~48bit 49~64bit 65~128bit

  19. IPv6の導入 ~設計編~ IPv6/48にIPv4/8をマッピングするには 10進数は諦め、16進数変換させるしか・・・ Oct.1 Oct.2 Oct.3 Oct.4 /24 /24 010 . 123 . 123 . 123 2001 0db8 : : 7b 7b : 0db8 : : 0123 /64 /64 /64 1~48bit 65~128bit 49~56bit 57~64bit

  20. IPv6の導入 ~設計編~ 設計の基点はIPv4アドレスで行う場合の欠点 ・IPv4/8をIPv6/48に格納するには、/8内が全てが  クラスCのクラスフル以上での割当を行って  いないと、格納幅(16bit)が不足する。 ・IPv4/8をIPv6/48に格納しようとすると、 10進数から16進数に変換しないと収まらない。  オペレータの視認性は良くない。

  21. IPv6の導入 ~設計編~ IPv4/16+CIDR構成からのIPv6アドレス 生成した例(IPv6/48を想定) Oct.1 Oct.2 Oct.3 Oct.4 /24 /24 192 . 168 . 0~255 . 123 2001 0db8 : : 0~ff : 0db8 0~ff : : 0123 /64 /64 /64 1~48bit 49~56bit クラスフル識別用 65~128bit 57~64bit クラスレス用

  22. IPv6の導入 ~設計編~ IPv4/IPv6アドレス管理のまとめ ・IPv4を基点として管理すると楽そう ・IPv4を基点として管理出来ないものは  どうしても存在する ・ IPv4を基点として管理する以上、 IPv4の設計(不良債権)に影響を受ける。

  23. IPv6の導入 ~設計編~ DualStackのネットワーク図はどうするのか? 全てがDualStackであれば、下記の図は成立するが・・・ 10.55.60.0/24 2001:db8:55:60::/64 10.55.61.0/24 2001:db8:55:61::/64

  24. IPv6の導入 ~設計編~ 既出のIPv4ネットワーク図にIPv6を加えると、 下記のように複雑なネットワーク図へと変化してしまう。 ::1 .1 2001:db8:55:60::/64 ::a1 10.55.60.0/24 ::ff .255 .10 ::9 .9 .255 ::ff 2001:db8:55:61::/64 混ぜるな危険!! しかしDualStackでは 避けては通れない。 10.55.61.0/24 .15 ::f

  25. IPv6の導入 ~導入編~ 導入編: IPv6を導入する際に発生する 問題とその対処などについての話 被害経験ありです・・・

  26. IPv6の導入 ~導入編~ Q. IPv6はMTUブラックホールが起こりやすい? A. IPv6の仕様や現在の構成上MTUブラックホールが   起こりやすい条件が整っている。   ・IPv6は中継機器でのパケット分割が許可されない。   ・IPIPトンネル(IPv6 over IPv4)接続している所は、 MTU=1280で繋がっているところが多い。   ・エンドツーエンドが使用できるパケットサイズはICMPv6    で(サイズ超過していないか)知ることができるが、 ICMPv6がフィルタリングされていることが多い。 ICMPv6 Type2(Packet too Big)/ RFC 1981

  27. IPv6の導入 ~導入編~ 各NIC(B点)でMTUを設定すると面倒なので、ゲートウェイとなる ルータのインタフェイス(A点)でMTU=1280などに固定すると楽である。 ※MTU=1500が使える内向きルーティング(があった場合)も1280になる点は注意する。 MTU Black Hole A ex)MTU=1280 B B Target host MTU=1500

  28. IPv6の導入 ~導入編~ これだけは覚えて帰ろう 其の壱 困ったらMTU=1280、 MTU=1280はIPv6のおまじない。

  29. IPv6の導入 ~導入編~ Q. IPv6のRA(Router Advertisement)は   積極的に活用すべき?(RAを信頼すべき?) A. 基本的に使わない方が良い。   ・適切でないRAが流れてくることが多く、経路ハイジャック    される可能性が高い。 IPv6関係の設定を入れると勝手にRAを送出してしまうような    ネットワーク機器もある・・・   ・デフォルトゲートウェイは通知できるが、IPv6 DNSリカーシブ    サーバは通知出来ない。(DHCPv6が必要) ※RAでDNSリカーシブサーバの通知をさせてしまおう という話もある “DNSサーバ“と言うと某S先生に怒られそうです。(’A`;)

  30. IPv6の導入 ~導入編~ C社製内部ルータにIPv6設定追加というシチュエーションである。 “ipv6 nd ra suppress”を設定していない状態でIPv6をスタック させると、RAを送出してしまう。(※IPv4の野良DHCPに似た問題) 悪意無きルータとは限らない これがBSDやLinuxの悪意ある ルータならば・・・ ↓ Core Router 2001:db8:2::1 2001:db8:2::f RA Default Gateway Internal Router Node デフォルトゲートウェイは 2001:db8:2::fに変更される IPv6設定追加

  31. IPv6の導入 ~導入編~ 内部ネットワークにIPv6ルータを適当に置くと、RAで“不達となるIP経路を優先する問題(IPv6 brokennessというらしい)”を誘発してしまう。 特にクライアントはIPv6が自動構成になっていることが多いので注意する。 上流への経路が無い IPv6 Router IPv4 Router RA IPv4 Default Gateway IPv6 Default Gateway(※RAにより自動構成) DualStack Node RAに誘発されて IPv6 brokenness が 発生、IPv4 fallback によるサービス 遅延が・・・

  32. IPv6の導入 ~導入編~ 各レイヤの担当はIPv6導入の際には十分な体制で。 ■サーバ担当者:  各サーバのIPv6構成は無効になっているか、または手動設定  になっているか(RA/DHCPv6を無視するか)確認しておく。 ■ネットワーク担当者:  各NW機器のIPv6スタック時の挙動(デフォルトでのRA送出  など)を把握しておく。 IPv6をスタックできる機器の全てはIPv4のみで運用している  時点からRAを送受信しない設定を行っておくこと。

  33. IPv6の導入 ~導入編~ でもグループポリシーが見当たらない・・・ 対エンドユーザとなるとRA無視となる グループポリシー@ActiveDirectoryが欲しい所ではあるが、 過去に探してみたところ、見つからない・・・ PowerShellでRA無効化のバッチを作ってみたので、 これをログインスクリプトに登録すれば大丈夫? http://negi.ipv6labs.jp/data/tmp/winnt6_ra-disable.ps1.txt 作成協力:Twitterのフォロワーな皆さん MSさん作ってくれないかなぁ・・・ポリシー

  34. IPv6の導入 ~導入編~ これだけは覚えて帰ろう 其の弐 (特にサーバセグメントでは)RAは 信じない、出さない、受け取らない。 RAを信じる者は救われない と思ってる。

  35. IPv6の導入 ~導入編~ Q. そのAnyにIPv6は含まれますか? A. 機器やソフトの実装によって異なります。 IPv6導入時に必ずポリシーの挙動はIPv6側も   見ましょう。 TCP_Wrapper :AnyはIPv6/IPv4を包括しています。 C社のACL :IPv4、IPv6それぞれにACLがあります。          未定義のIPversion側のACLはAnyの許可になります。

  36. IPv6の導入 ~導入編~ IPv6のACLを未定義なままIPv6導入を進めると、下記のようなケース が発生してしまう。 LAN側で発生する分についてはまだマシではあるが、FW手前の WANルータで発生すると非常に危険である。 〇 IPv4 telnet/ssh ACL:Permit Administrative VLAN Router: 管理VLANのIPv4のみ ACLでtelnet/sshを 許可している ACL:Deny × Network Administrator ACL:Permit (※ACL未設定状態) 〇 IPv4 telnet/ssh IPv6 telnet/ssh DualStack Node ex)fe80::● ● ● ●

  37. IPv6の導入 ~導入編~ IPv4での検証時にIPv6側も試す位の実行力が、 これからは必要と思ふ。 当然、設定のベストプラクティスは変化する。 ⇒少なくとも推奨設定ではIPv6のACLはALL:Denyを  慣例化しないと危険そうである。 変化に強いのはスペシャリストよりも、 ジェネラリストなのは自然の常。 ⇒ペーパーNPを量産した組織は痛い目を見ると思う。  真のスペシャリストはジェネラリストなので問題ない筈。

  38. IPv6の導入 ~導入編~ これだけは覚えて帰ろう 其の参 IPv4側で行ったことは、 IPv6側でも行ってみる。 IPv4隠してIPv6隠さず にならないよう・・・ (ピンチはチャンスだ!)

  39. IPv6の導入 ~導入編~ Q. IPv6のFWやIPフィルタは本当に必要なの?   (攻撃をするような輩はまだいないよね?) A. IPv6のFWやIPフィルタは必須です。   ・IPv4はNAPT配下となる(ある程度安全な)ネットワークでも IPv6の場合は、エンドツーエンドの直接通信となってしまう。    (対インターネットからの)逆止弁はIPv6は期待できない。   ・DMZなどに導入するFWはIPv4同等以上のポリシーを定義する    必要性があります。(以上 となるのはIPv6の特性の差異)   ・IPv4向きのExploit Codeも少し直すだけでIPv6対応になります。 ※IPv6になっても苦労は減らない。

  40. IPv6の導入 ~導入編~ IPv4はNAPT配下から通信を開始しないと通信は成立しないが、 IPv6は双方向が直接通信するため、通信の開始の主導権が相手にもある。 NAPTの為、内向にポートマッピング されてないポートには通信できない DualStack Node(A) IPv4 Internet IPv6 Internet × IPv6は直接接続可能 IPv6 Router ex)IPIP Tunnel IPv4 Router NAPT(IPマスカレード) IPv4 Private Network IPv6 MyNetwork (※Global IPv6 Address) DualStack Node(B)

  41. IPv6の導入 ~導入編~ FWの導入における対策ポイント(1) ICMPv6は必ず許可すべき。 ⇒透過させない場合は、手前でMTU=1280を返すような構成にすること。 ICMPv6はMTU-Path-Discovery機能があるため、  無応答にするとMTUブラックホールの要因となる。  (※同様のテクニック/バッドノウハウはロードバランサ等でも) × ICMPv6 IPv6 Network(A) IPv6 Network(B) MTU=1280 MTU=1280

  42. IPv6の導入 ~導入編~ FWの導入における対策ポイント(2) DualStack環境のポリシーはIPv4ポリシーに 準拠させるべき。 ⇒導入・運用コストを少しでも抑える。(はずだが・・・  しかし私が知っているFW製品はIPv4かIPv6でObjectが  分離してしまう。  もちろん、IPv4とIPv6のポリシーテーブルも別である。

  43. IPv6の導入 ~導入編~ 鏡写しで設定できるとしても、FW自体に自動生成機能があるわけでは 無いので、3倍以上の工数になってしまう。 (IPv4/IPv6設定と突き合わせ、さらにはイリーガルパターン) FW IPv4ポリシーテーブル IPv6ポリシーテーブル DNS_Server(Group) DNS_Server(Group) ns1(192.168.0.10) ns1(2001:bd8::10) ns2(192.168.0.11) ns2(2001:bd8::11)

  44. IPv6の導入 ~導入編~ Object/Object Groupの管理領域が分離してない?ようなFWもあり、 Object/Object Groupの重複が認められないことも・・・ FW 重複の考慮 が必要 IPv4ポリシーテーブル IPv6ポリシーテーブル V4_DNS_Server(Group) v6_DNS_Server(Group) v4_ns1(192.168.0.10) v6_ns1(2001:bd8::10) v4_ns2(192.168.0.11) v6_ns2(2001:bd8::11)

  45. IPv6の導入 ~導入編~ 下のようなObjectを作成出来る日までインフラエンジニアの苦悩は 続きそうである。(監視系でも同じ悩みがある・・・) DNS_Server(Group) WWW_Server(Group) ObjectName:ns1 IPv4 Addr(192.168.0.10) IPv6 Addr(2001:db8::10) ObjectName:www1 IPv4 Addr(192.168.0.80) IPv6 Addr(2001:db8::80) ObjectName:ns2 IPv4 Addr(192.168.0.11) IPv6 Addr(2001:db8::11) ObjectName:www2 IPv4 Addr(192.168.0.81) IPv6 Addr(2001:db8::81)

  46. IPv6の導入 ~導入編~ (L2)FWの導入における対策ポイント(3) IPv6マルチキャストは透過させなければいけない。 (※EyherType:0x86ddの許可も忘れずに) ⇒隣接探索=ICMPv6 Type135 NS(Neighbor Solicitation)  がIPv6マルチキャスト(ff00::/8)宛にパケットを送信します。  フィルタすると、Neighbor テーブルが作れない事態に。 L2FW Node(A) NS Router Node(B)

  47. IPv6の導入 ~導入編~ とあるExploit Code(例:Perl)をIPv6 Readyに。 use IO::Socket::INET;  ↓ use IO::Socket::INET6; qpstudy向き過ぎます・・・ 3分ってレベルじゃねーぞ! (入ってなければCPANへどうぞ)

  48. IPv6の導入 ~導入編~ queryなどのIPレイヤ以上の脆弱性はIPv4もIPv6も変わらない。 以下のような構成だとIPv4なIDSは当然役に立たない・・・ DualStack Node(A) IPv4 Attack IPv6 Attack IPv4 Network(A) IPv6 Network(A) IPv4 Network(B) IPv6 Netwrork(B) IPv4 IDS DualStack Node(B)

  49. IPv6の導入 ~導入編~ 実際に攻撃してみると・・・ 落ちた! DualStackのApacheが止まってしまった。 当然IPv4でもアクセス出来ない。 ※自己資産でないサーバを攻撃する行為は犯罪とみなされる  ことがあります。  良い子のみんなは slowloris とか検索しないように。

  50. IPv6の導入 ~導入編~ 最後にこれだけは覚えて帰ろう IPv6で失敗しても 怒られないのは今だけ。

More Related