JANOG Comment 1006 石原 清輝 KDDI株式会社 向井 将 KDDI株式会社 廣海 緑里 株式会社インテック 馬渡 将隆 日本インターネットエクスチェンジ株式会社 2014/06/06 xSP のルータにおいて設定を推奨するフィルタの項目について (IPv6版) 概要 本文書は、インターネットの安定性を保つ為に、xSP の内部および外部へ の接続部分において、xSP で運用をしている IPv6 ルータに設定をする事が 推奨される IPv6 のパケットフィルタや経路フィルタについてまとめた文書 です。 本文書で提示をしている "最低限、設定をする事が推奨されるフィルタ" については、xSP ネットワークの運用において基本的な部分となるので、文 字通り、最低限設定をする必要があると考え、それに加えて併記してある "(運用者、ルータの) リソースにより設定を考慮するフィルタ" については、 ネットワークの運用をしている NOC のメンバー、および、ネットワーク内 で使用をしているルータのパフォーマンスにより設定の可否を検討する事が 必要であると考えます。 本文書で提示している全てのフィルタの項目は、以下の項目を前提にして 考えられており、全ての xSP のネットワークで適用される事を期待してい ます。 o IPv6 ネットワークを対象とする o エンドユーザの正常な通信には影響を与えない (アドレス詐称やアタックなどへの対策方法の1つとしてフィルタを考え る) o 不必要なパケットや経路は出さない/受け取らない o 下記に例としてあげてある特定アプリケーションの通信のパケットフィ ルタについては対象としない (例) Outbound Port 25 Blocking (迷惑メール対策用途)、P2P トラフ ィックフィルタ など 目次 1. はじめに 2. 言葉の定義 3. トランジット接続部分 3-1. 最低限、設定をする事が推奨されるフィルタ 3-1-1. パケットフィルタ 3-1-1-1. Ingress のパケットフィルタ 3-1-1-2. Egress のパケットフィルタ 3-1-2. 経路フィルタ 3-1-2-1. Ingress の Prefix フィルタ 3-1-2-2. Egress の Prefix フィルタ 3-1-2-3. Ingress の AS-PATH フィルタ 3-1-2-4. Egress の AS-PATH フィルタ 3-2. (運用者、ルータの) リソースにより設定を考慮するフィルタ 3-2-1. パケットフィルタ 3-2-1-1. Ingress のパケットフィルタ 3-2-1-2. Egress のパケットフィルタ 3-2-2. 経路フィルタ 3-2-2-1. Ingress の Prefix フィルタ 3-2-2-2. Egress の Prefix フィルタ 3-2-2-3. Ingress の AS-PATH フィルタ 3-2-2-4. Egress の AS-PATH フィルタ 3-3. フィルタの運用を軽減する為に有効な技術 4. ピア(パブリック/プライベート)接続部分 4-1. 最低限、設定をする事が推奨されるフィルタ 4-1-1. パケットフィルタ 4-1-1-1. Ingress のパケットフィルタ 4-1-1-2. Egress のパケットフィルタ 4-1-2. 経路フィルタ 4-1-2-1. Ingress の Prefix フィルタ 4-1-2-2. Egress の Prefix フィルタ 4-1-2-3. Ingress の AS-PATH フィルタ 4-1-2-4. Egress の AS-PATH フィルタ 4-2. (運用者、ルータの) リソースにより設定を考慮するフィルタ 4-2-1. パケットフィルタ 4-2-1-1. Ingress のパケットフィルタ 4-2-1-2. Egress のパケットフィルタ 4-2-2. 経路フィルタ 4-2-2-1. Ingress の Prefix フィルタ 4-2-2-2. Egress の Prefix フィルタ 4-2-2-3. Ingress の AS-PATH フィルタ 4-2-2-4. Egress の AS-PATH フィルタ 4-3. フィルタの運用を軽減する為に有効な技術 5. 顧客接続部分 5-1. 最低限、設定をする事が推奨されるフィルタ 5-1-1. パケットフィルタ 5-1-1-1. Ingress のパケットフィルタ 5-1-1-2. Egress のパケットフィルタ 5-1-2. 経路フィルタ 5-1-2-1. Ingress の Prefix フィルタ 5-1-2-2. Egress の Prefix フィルタ 5-1-2-3. Ingress の AS-PATH フィルタ 5-1-2-4. Egress の AS-PATH フィルタ 5-2. (運用者、ルータの) リソースにより設定を考慮するフィルタ 5-2-1. パケットフィルタ 5-2-1-1. Ingress のパケットフィルタ 5-2-1-2. Egress のパケットフィルタ 5-2-2. 経路フィルタ 5-2-2-1. Ingress の Prefix フィルタ 5-2-2-2. Egress の Prefix フィルタ 5-2-2-3. Ingress の AS-PATH フィルタ 5-2-2-4. Egress の AS-PATH フィルタ 5-3. フィルタの運用を軽減する為に有効な技術 6. ルータ自身へのアクセス 6-1. 最低限、設定をする事が推奨されるフィルタ 6-1-1. パケットフィルタ 6-1-1-1. Ingress のパケットフィルタ 6-1-1-2. Egress のパケットフィルタ 6-2. (運用者、ルータの) リソースにより設定を考慮するフィルタ 6-2-1. パケットフィルタ 6-2-1-1. Ingress のパケットフィルタ 6-2-1-2. Egress のパケットフィルタ 6-3. フィルタの運用を軽減する為に有効な技術 7. 謝辞 8. 参考文献 8-1. この文書の作成にあたり、参考にさせていただいた文献 8-2. その他に有益な文献 9. 著者 10. 免責事項 11. この文書の配布に関して 付録 A: 6bone について 付録 B: 6to4 について 付録 C: IANA IPv6 Special Purpose Address Registry について 1. はじめに 正式サービスとして、IPv6 インターネット接続を運用している ISP が一 般的となりつつある状況のもと、ISP では、IPv4 ネットワークと IPv6 ネ ットワークで差異の無い運用方針が求められるようになってきています。 パケットフィルタ、経路フィルタでのセキュリティ対策については、基本 的に、IPv4 と IPv6 とで考慮をすべき点に大きな差はそれほど無いと思い ますが、IPv4 には無い特徴や機能が、IPv6 には新しく追加されている為、 IPv4 ネットワークのルータに設定をする事が推奨されるフィルタと IPv6 ネットワークのルータに設定をする事が推奨されるフィルタの違いについて は、きちんと把握をしておく必要があります。 特に IPv6 で新しく追加された機能の一部を提供している ICMPv6 につい ては、不用意なパケットフィルタで制限をしてしまうと IPv6 の通信に良く ない影響を及ぼす場合があります。 現在のところ、IPv4 と比較をすると IPv6 の運用経験は歴史が浅い為、 設定をする事が推奨されるフィルタの内容に、いくらかの修正を重ねていく 必要があるのかもしれませんが、この文書は、現時点の状況で設定をする事 が推奨されるフィルタの項目についてまとめたものとなっています。 2. 言葉の定義 この文書内においては、この文書内で使用する言葉を以下のとおり定義し ます。 1. xSP とは、 以下の条件を満たしているサービスプロバイダの総称 o インターネットへの接続性がある事 o グローバル AS 番号を所有している事 o 他 AS と BGP を利用した相互接続を行っている事 2. パケットフィルタ とは、 IP パケットのヘッダの情報を元にしてフィルタリングを行う方法 本文書内にあるパケットフィルタの項目では、特に Source アドレ スと Destination アドレスの情報を元にしたフィルタを扱っていま す。 3. Prefix フィルタ とは、 Prefix 長の情報を元にしてフィルタリングを行う方法 別名 : Prefix Based フィルタ 4. AS-PATH フィルタ とは、 AS-PATH 属性の情報を元にしてフィルタリングを行う方法 5. 経路フィルタ とは、 "Prefix フィルタ" および "AS-PATH フィルタ" の双方を包括した フィルタの総称 6. トランジット とは、 フルルートの広告を受ける接続の形態、および、フルルートの広告 を受けている状態の事 7. ピア とは、 xSP 同士において、お互いの内部および顧客の経路交換をする接続 の形態、および、経路交換をしている状態の事 3. トランジット接続部分 3-1. 最低限、設定をする事が推奨されるフィルタ 3-1-1. パケットフィルタ 3-1-1-1. Ingress のパケットフィルタ [1] IPv6 での通信に必要な機能となっている Neighbor Discovery、 Path MTU Discovery などの為に、全ての ICMPv6 を accept す る [2] 以下の Special-Use Prefix が Source アドレスになっているパ ケットを reject する - 予約済みアドレス (元 IPv4 互換アドレス) : ::/96 - ループバックアドレス : ::1/128 - IPv4 射影アドレス : ::ffff:0:0/96 - トラフィック破棄専用 (Discard-Only) アドレス : 100::/64 - ベンチマークテストアドレス : 2001:2::/48 - ドキュメントアドレス : 2001:db8::/32 - ユニークローカルアドレス : fc00::/7 - 予約済みアドレス (元サイトローカルアドレス) : fec0::/10 - マルチキャストアドレス : ff00::/8 ※ IPv6 での通信に必要な機能となっている Duplicate Address Detection は、Source アドレスが 未指定アドレス (::/128) となっている ICMPv6 パケットを使用する為、そのパケットは reject をしないようにする注意が必要となる (上記の [1] 項にあるとおり、全ての ICMPv6 を accept して いるのであれば、問題は無い) [3] 自 AS で持っている Prefix が Source アドレスになっているパ ケットを reject する - 衛星インターネットサービスでの UDLR やその他の非対称ルー ティングを利用しているネットワークへの影響が発生する場合 があるので、注意が必要となる 3-1-1-2. Egress のパケットフィルタ - 特に無し - 3-1-2. 経路フィルタ 3-1-2-1. Ingress の Prefix フィルタ [1] 以下の Special-Use Prefix を reject する - デフォルト : ::/0 exact - 予約済みアドレス (元 IPv4 互換アドレス) : ::/96 or longer - 未指定アドレス : ::/128 exact - ループバックアドレス : ::1/128 exact - IPv4 射影アドレス : ::ffff:0:0/96 or longer - トラフィック破棄専用 (Discard-Only) アドレス : 100::/64 or longer - ベンチマークテストアドレス : 2001:2::/48 or longer - ドキュメントアドレス : 2001:db8::/32 or longer - ユニークローカルアドレス : fc00::/7 or longer - リンクローカルアドレス : fe80::/10 or longer - 予約済みアドレス (元サイトローカルアドレス) : fec0::/10 or longer - マルチキャストアドレス : ff00::/8 or longer [2] 自 AS で持っている Prefix を reject する (例) 自 AS で持っている Prefix を 2001:db8::/32 と仮定した 場合、2001:db8::/32 or longer を reject する 3-1-2-2. Egress の Prefix フィルタ [1] 自 AS で持っている Prefix を aggregate して accept をする - 自 AS 内部で使用している細かい Prefix をそのまま外部に広 告をしないようにする [2] 以下の Special-Use Prefix を reject する - デフォルト : ::/0 exact - 予約済みアドレス (元 IPv4 互換アドレス) : ::/96 or longer - 未指定アドレス : ::/128 exact - ループバックアドレス : ::1/128 exact - IPv4 射影アドレス : ::ffff:0:0/96 or longer - トラフィック破棄専用 (Discard-Only) アドレス : 100::/64 or longer - ベンチマークテストアドレス : 2001:2::/48 or longer - ドキュメントアドレス : 2001:db8::/32 or longer - ユニークローカルアドレス : fc00::/7 or longer - リンクローカルアドレス : fe80::/10 or longer - 予約済みアドレス (元サイトローカルアドレス) : fec0::/10 or longer - マルチキャストアドレス : ff00::/8 or longer 3-1-2-3. Ingress の AS-PATH フィルタ - 特に無し - 3-1-2-4. Egress の AS-PATH フィルタ [1] プライベート AS 番号を外部に広告しないようにする - 概要 : プライベート AS 番号を顧客に割り当てているなどの場 合には、AS 外部にプライベート AS 番号が入った AS-PATH の経路を広告しないようにする必要がある為、 AS-PATH からプライベート AS 番号を削除する (例 : remove-private-as などを利用する) - 効果 : プライベート AS 番号が入った AS-PATH の経路を広告 する事によって発生するトラブルを事前に防ぐ 3-2. (運用者、ルータの) リソースにより設定を考慮するフィルタ 3-2-1. パケットフィルタ 3-2-1-1. Ingress のパケットフィルタ [1] トランジット接続で使用をしているインターフェース宛となって いる ICMPv6 パケットの制限をする (例) ICMPv6 TYPE を制限して accept をする - 前提条件 : 1. Neighbor Discovery で使われる ICMPv6 TYPE は accept をする 2. Path MTU Discovery で使われる ICMPv6 TYPE = 2 (Packet Too Big) は accept をする 3. 速やかな IPv6/IPv4 フォールバック の為に、 ICMPv6 TYPE = 1 (Destination Unreachable) は accept をする - 長所 : ICMPv6 パケットを利用したアタックに関して、あ る程度の防御をする事が可能となる - 短所 : ICMPv6 パケットの制限をしたルータを経由する traceroute などをした場合、パケットの到達性が 確認しにくくなる恐れがある 3-2-1-2. Egress のパケットフィルタ [1] 以下の Special-Use Prefix が Source アドレスになっているパ ケットを reject する - 予約済みアドレス (元 IPv4 互換アドレス) : ::/96 - ループバックアドレス : ::1/128 - IPv4 射影アドレス : ::ffff:0:0/96 - トラフィック破棄専用 (Discard-Only) アドレス : 100::/64 - ベンチマークテストアドレス : 2001:2::/48 - ドキュメントアドレス : 2001:db8::/32 - ユニークローカルアドレス : fc00::/7 - 予約済みアドレス (元サイトローカルアドレス) : fec0::/10 - マルチキャストアドレス : ff00::/8 ※ IPv6 での通信に必要な機能となっている Duplicate Address Detection は、Source アドレスが 未指定アドレス (::/128) となっている ICMPv6 パケットを使用する為、そのパケットは reject をしないようにする注意が必要となる 3-2-2. 経路フィルタ 3-2-2-1. Ingress の Prefix フィルタ [1] 細かい Prefix (Long Prefix) を reject する - 到達性がなくなってしまう xSP が出てこない範囲の中で細かい Prefix を reject する (例) /33 or longer を reject する /49 or longer を reject する 3-2-2-2. Egress の Prefix フィルタ - 特に無し - 3-2-2-3. Ingress の AS-PATH フィルタ [1] 一定値以上の長い AS-PATH 長の経路を reject する - 到達性がなくなってしまう xSP が出てこない範囲の中で一定値 以上の長い AS-PATH 長の経路を reject する (例) AS-PATH 長が 50 Hop 以上になっている経路を reject する 3-2-2-4. Egress の AS-PATH フィルタ - 特に無し - 3-3. フィルタの運用を軽減する為に有効な技術 [1] Max-Prefix-Limits - 概要 : 1つの BGP ピアから受信する Prefix 数の最大値を制限する 設定で、この設定で定義した閾値以上の Prefix は受信をし ないようにする - 効果 : BGP ピアの相手側のトラブルなどによって、相手側から大量 の経路広告が発生した場合、その経路の受信によって生じる 自 AS のルータの過負荷を防止する事が出来る - 注意点 : 閾値の設定には十分な検討が必要となります。不注意に閾値 を設定してしまった場合には、予期しない制限が発生する可 能性があります 4. ピア(パブリック/プライベート)接続部分 4-1. 最低限、設定をする事が推奨されるフィルタ 4-1-1. パケットフィルタ 4-1-1-1. Ingress のパケットフィルタ [1] IPv6 での通信に必要な機能となっている Neighbor Discovery、 Path MTU Discovery などの為に、全ての ICMPv6 を accept す る [2] 以下の Special-Use Prefix が Source アドレスになっているパ ケットを reject する - 予約済みアドレス (元 IPv4 互換アドレス) : ::/96 - ループバックアドレス : ::1/128 - IPv4 射影アドレス : ::ffff:0:0/96 - トラフィック破棄専用 (Discard-Only) アドレス : 100::/64 - ベンチマークテストアドレス : 2001:2::/48 - ドキュメントアドレス : 2001:db8::/32 - ユニークローカルアドレス : fc00::/7 - 予約済みアドレス (元サイトローカルアドレス) : fec0::/10 - マルチキャストアドレス : ff00::/8 ※ IPv6 での通信に必要な機能となっている Duplicate Address Detection は、Source アドレスが 未指定アドレス (::/128) となっている ICMPv6 パケットを使用する為、そのパケットは reject をしないようにする注意が必要となる (上記の [1] 項にあるとおり、全ての ICMPv6 を accept して いるのであれば、問題は無い) [3] 自 AS で持っている Prefix が Source アドレスになっているパ ケットを reject する - 衛星インターネットサービスでの UDLR やその他の非対称ルー ティングを利用しているネットワークへの影響が発生する場合 があるので、注意が必要となる 4-1-1-2. Egress のパケットフィルタ - 特に無し - 4-1-2. 経路フィルタ 4-1-2-1. Ingress の Prefix フィルタ [1] 以下の Special-Use Prefix を reject する - デフォルト : ::/0 exact - 予約済みアドレス (元 IPv4 互換アドレス) : ::/96 or longer - 未指定アドレス : ::/128 exact - ループバックアドレス : ::1/128 exact - IPv4 射影アドレス : ::ffff:0:0/96 or longer - トラフィック破棄専用 (Discard-Only) アドレス : 100::/64 or longer - ベンチマークテストアドレス : 2001:2::/48 or longer - ドキュメントアドレス : 2001:db8::/32 or longer - ユニークローカルアドレス : fc00::/7 or longer - リンクローカルアドレス : fe80::/10 or longer - 予約済みアドレス (元サイトローカルアドレス) : fec0::/10 or longer - マルチキャストアドレス : ff00::/8 or longer [2] 自 AS で持っている Prefix を reject する (例) 自 AS で持っている Prefix を 2001:db8::/32 と仮定した 場合、2001:db8::/32 or longer を reject する 4-1-2-2. Egress の Prefix フィルタ [1] 自 AS で持っている Prefix を aggregate して accept をする - 自 AS 内部で使用している細かい Prefix をそのまま外部に広 告をしないようにする [2] 以下の Special-Use Prefix を reject する - デフォルト : ::/0 exact - 予約済みアドレス (元 IPv4 互換アドレス) : ::/96 or longer - 未指定アドレス : ::/128 exact - ループバックアドレス : ::1/128 exact - IPv4 射影アドレス : ::ffff:0:0/96 or longer - トラフィック破棄専用 (Discard-Only) アドレス : 100::/64 or longer - ベンチマークテストアドレス : 2001:2::/48 or longer - ドキュメントアドレス : 2001:db8::/32 or longer - ユニークローカルアドレス : fc00::/7 or longer - リンクローカルアドレス : fe80::/10 or longer - 予約済みアドレス (元サイトローカルアドレス) : fec0::/10 or longer - マルチキャストアドレス : ff00::/8 or longer 4-1-2-3. Ingress の AS-PATH フィルタ - 特に無し - 4-1-2-4. Egress の AS-PATH フィルタ [1] プライベート AS 番号を外部に広告しないようにする - 概要 : プライベート AS 番号を顧客に割り当てているなどの場 合には、AS 外部にプライベート AS 番号が入った AS-PATH の経路を広告しないようにする必要がある為、 AS-PATH からプライベート AS 番号を削除する (例 : remove-private-as などを利用する) - 効果 : プライベート AS 番号が入った AS-PATH の経路を広告 する事によって発生するトラブルを事前に防ぐ 4-2. (運用者、ルータの) リソースにより設定を考慮するフィルタ 4-2-1. パケットフィルタ 4-2-1-1. Ingress のパケットフィルタ [1] IX 接続やプライベートピア接続で使用をしているインターフェ ース宛となっている ICMPv6 パケットの制限をする (例) ICMPv6 TYPE を制限して accept をする - 前提条件 : 1. Neighbor Discovery で使われる ICMPv6 TYPE は accept をする 2. Path MTU Discovery で使われる ICMPv6 TYPE = 2 (Packet Too Big) は accept をする 3. 速やかな IPv6/IPv4 フォールバック の為に、 ICMPv6 TYPE = 1 (Destination Unreachable) は accept をする - 長所 : ICMPv6 パケットを利用したアタックに関して、あ る程度の防御をする事が可能となる - 短所 : ICMPv6 パケットの制限をしたルータを経由する traceroute などをした場合、パケットの到達性が 確認しにくくなる恐れがある 4-2-1-2. Egress のパケットフィルタ [1] 以下の Special-Use Prefix が Source アドレスになっているパ ケットを reject する - 予約済みアドレス (元 IPv4 互換アドレス) : ::/96 - ループバックアドレス : ::1/128 - IPv4 射影アドレス : ::ffff:0:0/96 - トラフィック破棄専用 (Discard-Only) アドレス : 100::/64 - ベンチマークテストアドレス : 2001:2::/48 - ドキュメントアドレス : 2001:db8::/32 - ユニークローカルアドレス : fc00::/7 - 予約済みアドレス (元サイトローカルアドレス) : fec0::/10 - マルチキャストアドレス : ff00::/8 ※ IPv6 での通信に必要な機能となっている Duplicate Address Detection は、Source アドレスが 未指定アドレス (::/128) となっている ICMPv6 パケットを使用する為、そのパケットは reject をしないようにする注意が必要となる 4-2-2. 経路フィルタ 4-2-2-1. Ingress の Prefix フィルタ [1] 細かい Prefix (Long Prefix) を reject する - 到達性がなくなってしまう xSP が出てこない範囲の中で細かい Prefix を reject する (例) /33 or longer を reject する /49 or longer を reject する [2] ピアの相手から広告をすると通知があった Prefix のみを accept する - ピアの相手からの経路更新通知を元にしてフィルタを設定する 4-2-2-2. Egress の Prefix フィルタ - 特に無し - 4-2-2-3. Ingress の AS-PATH フィルタ [1] 一定値以上の長い AS-PATH 長の経路を reject する - 到達性がなくなってしまう xSP が出てこない範囲の中で一定値 以上の長い AS-PATH 長の経路を reject する (例) AS-PATH 長が 50 Hop 以上になっている経路を reject する [2] ピアの相手から広告をすると通知があった AS-PATH の経路のみ を accept する - ピアの相手からの経路更新通知を元にしてフィルタを設定する 4-2-2-4. Egress の AS-PATH フィルタ - 特に無し - 4-3. フィルタの運用を軽減する為に有効な技術 [1] Max-Prefix-Limits - 概要 : 1つの BGP ピアから受信する Prefix 数の最大値を制限する 設定で、この設定で定義した閾値以上の Prefix は受信をし ないようにする - 効果 : BGP ピアの相手側のトラブルなどによって、相手側から大量 の経路広告が発生した場合、その経路の受信によって生じる 自 AS のルータの過負荷を防止する事が出来る - 注意点 : 閾値の設定には十分な検討が必要となります。不注意に閾値 を設定してしまった場合には、予期しない制限が発生する可 能性があります 5. 顧客接続部分 5-1. 最低限、設定をする事が推奨されるフィルタ 5-1-1. パケットフィルタ 5-1-1-1. Ingress のパケットフィルタ [1] IPv6 での通信に必要な機能となっている Neighbor Discovery、 Path MTU Discovery などの為に、全ての ICMPv6 を accept す る [2] 以下の Special-Use Prefix が Source アドレスになっているパ ケットを reject する - 予約済みアドレス (元 IPv4 互換アドレス) : ::/96 - ループバックアドレス : ::1/128 - IPv4 射影アドレス : ::ffff:0:0/96 - トラフィック破棄専用 (Discard-Only) アドレス : 100::/64 - ベンチマークテストアドレス : 2001:2::/48 - ドキュメントアドレス : 2001:db8::/32 - ユニークローカルアドレス : fc00::/7 - 予約済みアドレス (元サイトローカルアドレス) : fec0::/10 - マルチキャストアドレス : ff00::/8 ※ IPv6 での通信に必要な機能となっている Duplicate Address Detection は、Source アドレスが 未指定アドレス (::/128) となっている ICMPv6 パケットを使用する為、そのパケットは reject をしないようにする注意が必要となる (上記の [1] 項にあるとおり、全ての ICMPv6 を accept して いるのであれば、問題は無い) [3] (トランジット顧客の場合) 自 AS で持っている Prefix が Source アドレスになっているパケットを reject する 5-1-1-2. Egress のパケットフィルタ - 特に無し - 5-1-2. 経路フィルタ (※ BGP 接続顧客を対象にした経路フィルタ) 5-1-2-1. Ingress の Prefix フィルタ [1] (プライベート AS を利用した BGP 接続の場合) 顧客に割り当て ている Prefix のみを accept する (例) 顧客に割り当てている Prefix を 2001:db8::/32 と仮定し た場合、2001:db8::/32 exact のみを accept する [2] (トランジット顧客の場合) 顧客側 AS から広告をすると通知が あった Prefix のみを accept する (例) 顧客側 AS から 2001:db8::/32 の Prefix を広告すると言 う通知があったと仮定した場合、2001:db8::/32 exact を accept する 5-1-2-2. Egress の Prefix フィルタ [1] 自 AS で持っている Prefix を aggregate して accept をする - 自 AS 内部で使用している細かい Prefix をそのまま外部に広 告をしないようにする [2] 以下の Special-Use Prefix を reject する - デフォルト : ::/0 exact - 予約済みアドレス (元 IPv4 互換アドレス) : ::/96 or longer - 未指定アドレス : ::/128 exact - ループバックアドレス : ::1/128 exact - IPv4 射影アドレス : ::ffff:0:0/96 or longer - トラフィック破棄専用 (Discard-Only) アドレス : 100::/64 or longer - ベンチマークテストアドレス : 2001:2::/48 or longer - ドキュメントアドレス : 2001:db8::/32 or longer - ユニークローカルアドレス : fc00::/7 or longer - リンクローカルアドレス : fe80::/10 or longer - 予約済みアドレス (元サイトローカルアドレス) : fec0::/10 or longer - マルチキャストアドレス : ff00::/8 or longer 5-1-2-3. Ingress の AS-PATH フィルタ - 特に無し - 5-1-2-4. Egress の AS-PATH フィルタ [1] プライベート AS 番号を外部に広告しないようにする - 概要 : プライベート AS 番号を顧客に割り当てているなどの場 合には、AS 外部にプライベート AS 番号が入った AS-PATH の経路を広告しないようにする必要がある為、 AS-PATH からプライベート AS 番号を削除する (例 : remove-private-as などを利用する) - 効果 : プライベート AS 番号が入った AS-PATH の経路を広告 する事によって発生するトラブルを事前に防ぐ 5-2. (運用者、ルータの) リソースにより設定を考慮するフィルタ 5-2-1. パケットフィルタ 5-2-1-1. Ingress のパケットフィルタ [1] 顧客接続で使用をしているインターフェース宛となっている ICMPv6 パケットの制限をする (例) ICMPv6 TYPE を制限して accept をする - 前提条件 : 1. Neighbor Discovery で使われる ICMPv6 TYPE は accept をする 2. Path MTU Discovery で使われる ICMPv6 TYPE = 2 (Packet Too Big) は accept をする 3. 速やかな IPv6/IPv4 フォールバック の為に、 ICMPv6 TYPE = 1 (Destination Unreachable) は accept をする - 長所 : ICMPv6 パケットを利用したアタックに関して、あ る程度の防御をする事が可能となる - 短所 : ICMPv6 パケットの制限をしたルータを経由する traceroute などをした場合、パケットの到達性が 確認しにくくなる恐れがある [2] 顧客側で持っている Prefix が Source アドレスとなっているパ ケットのみを accept する - 顧客のネットワーク形態を考慮した上で、設定をする必要があ る (このフィルタを設定する事により、非対称ルーティングなどを 利用している顧客の通信に影響が発生する場合があるので、注 意が必要となる 例 : 衛星インターネットサービスを利用している顧客など) [3] 自 AS と接続をしている IX セグメントのアドレスが Destination アドレスとなっている BGP (179/TCP) パケットを reject する (もしくは、IX 接続ルータのコア側インターフェースにおける Ingress フィルタにて reject をすると言う方法もある) - 効果 : BGP の脆弱性対策として有効となる 5-2-1-2. Egress のパケットフィルタ [1] 以下の Special-Use Prefix が Source アドレスになっているパ ケットを reject する - 予約済みアドレス (元 IPv4 互換アドレス) : ::/96 - ループバックアドレス : ::1/128 - IPv4 射影アドレス : ::ffff:0:0/96 - トラフィック破棄専用 (Discard-Only) アドレス : 100::/64 - ベンチマークテストアドレス : 2001:2::/48 - ドキュメントアドレス : 2001:db8::/32 - ユニークローカルアドレス : fc00::/7 - 予約済みアドレス (元サイトローカルアドレス) : fec0::/10 - マルチキャストアドレス : ff00::/8 ※ IPv6 での通信に必要な機能となっている Duplicate Address Detection は、Source アドレスが 未指定アドレス (::/128) となっている ICMPv6 パケットを使用する為、そのパケットは reject をしないようにする注意が必要となる 5-2-2. 経路フィルタ (※ BGP 接続顧客を対象にした経路フィルタ) 5-2-2-1. Ingress の Prefix フィルタ - 特に無し - 5-2-2-2. Egress の Prefix フィルタ - 特に無し - 5-2-2-3. Ingress の AS-PATH フィルタ [1] BGP 接続顧客から広告をすると通知があった AS-PATH の経路の みを accept する - BGP 接続顧客からの経路更新通知を元にしてフィルタを設定す る 5-2-2-4. Egress の AS-PATH フィルタ - 特に無し - 5-3. フィルタの運用を軽減する為に有効な技術 [1] Max-Prefix-Limits - 概要 : 1つの BGP ピアから受信する Prefix 数の最大値を制限する 設定で、この設定で定義した閾値以上の Prefix は受信をし ないようにする - 効果 : BGP ピアの相手側のトラブルなどによって、相手側から大量 の経路広告が発生した場合、その経路の受信によって生じる 自 AS のルータの過負荷を防止する事が出来る - 注意点 : 閾値の設定には十分な検討が必要となります。不注意に閾値 を設定してしまった場合には、予期しない制限が発生する可 能性があります 6. ルータ自身へのアクセス 6-1. 最低限、設定をする事が推奨されるフィルタ 6-1-1. パケットフィルタ 6-1-1-1. Ingress のパケットフィルタ [1] ルータで動かしている以下のサービスについて、アクセスが可能 な Source アドレスを限定して、限定した Source アドレスから のパケットのみを accept する - telnet - ssh - snmp (ReadOnly / ReadWrite) - ftp - tftp - ntp ※ 利用をしていない不必要なサービスについては、サービスの停 止をすべきである (例) NOC のネットワークからのみアクセスを可能にするか、もし くは、アクセスが可能なホストを最小限に限定する [2] eBGP および iBGP の Neighbor アドレスが Source アドレスと なっている BGP (179/TCP) パケットのみを accept する [3] 各リンクが接続されているインターフェースにおいて、Source アドレスが Neighbor のリンクローカルアドレスとなっているパ ケットを accept する - Neighbor Discovery などを機能させる為に、accept をする必 要がある 6-1-1-2. Egress のパケットフィルタ - 特に無し - 6-2. (運用者、ルータの) リソースにより設定を考慮するフィルタ 6-2-1. パケットフィルタ 6-2-1-1. Ingress のパケットフィルタ [1] ルータのインターフェース宛となっている ICMPv6 パケットの制 限をする (例) ICMPv6 TYPE を制限して accept をする - 前提条件 : 1. Neighbor Discovery で使われる ICMPv6 TYPE は accept をする 2. Path MTU Discovery で使われる ICMPv6 TYPE = 2 (Packet Too Big) は accept をする 3. 速やかな IPv6/IPv4 フォールバック の為に、 ICMPv6 TYPE = 1 (Destination Unreachable) は accept をする - 長所 : ICMPv6 パケットを利用したアタックに関して、あ る程度の防御をする事が可能となる - 短所 : ICMPv6 パケットの制限をしたルータを経由する traceroute などをした場合、パケットの到達性が 確認しにくくなる恐れがある 6-2-1-2. Egress のパケットフィルタ - 特に無し - 6-3. フィルタの運用を軽減する為に有効な技術 [1] System Protection ACL (IP Receive ACL, Loopback0 ACL) - 概要 : ルータのリソース (ルーティングプロセッサなど) を保護す る為のフィルタ技術 - 効果 : ルータ自身に対する攻撃パケットの対策の為に有効となる 7. 謝辞 本文書は、これまで、Interdomain Routing Security Workshop で発表を させていただいた "xSPルータにおいて設定を推奨するフィルタの項目につ いて (IPv6版)" の内容を1つの文書にまとめたものです。 本文書の作成にあたっては、Interdomain Routing Security Workshop の 参加者の皆様、および JANOG メーリングリストのメンバーの皆様からのご 協力とサポートが不可欠なものでした。皆様に感謝を致します。 また、本文書を発表する機会を与えていただいた、Interdomain Routing Security Workshop のチェアである、近藤邦昭様、吉田友哉様、仲西亮子様 に感謝を致します。 8. 参考文献 8-1. この文書の作成にあたり、参考にさせていただいた文献 8-1-1. IPv6 BGP filter recommendations http://www.space.net/~gert/RIPE/ipv6-filters.html 8-2. その他に有益な文献 8-2-1. RFC5156 : Special-Use IPv6 Addresses http://www.ietf.org/rfc/rfc5156.txt 8-2-2. RFC4890 : Recommendations for Filtering ICMPv6 Messages in Firewalls http://www.ietf.org/rfc/rfc4890.txt 8-2-3. RFC6890 : Special-Purpose IP Address Registries http://www.ietf.org/rfc/rfc6890.txt 8-2-4. IANA が公開している IPv6 アドレス割り振りリスト http://www.iana.org/assignments/ipv6-unicast-address-assignments 8-2-5. 各 RIR が公開している IP アドレス割り振りリスト - APNIC http://ftp.apnic.net/stats/apnic/delegated-apnic-latest - RIPE/NCC ftp://ftp.ripe.net/pub/stats/ripencc/delegated-ripencc-latest - ARIN ftp://ftp.arin.net/pub/stats/arin/delegated-arin-latest - LACNIC ftp://ftp.lacnic.net/pub/stats/lacnic/delegated-lacnic-latest - AfriNIC ftp://ftp.afrinic.net/pub/stats/afrinic/delegated-afrinic-latest 9. 著者 氏名 : 石原 清輝 [ISHIHARA Kiyoteru] 所属 : KDDI株式会社 EMail : ki-ishihara@kddi.com 氏名 : 向井 将 [MUKAI Masaru] 所属 : KDDI株式会社 EMail : ms-mukai@kddi.com 氏名 : 廣海 緑里 [HIROMI Ruri] 所属 : 株式会社インテック EMail : hiromi@inetcore.com 氏名 : 馬渡 将隆 [MAWATARI Masataka] 所属 : 日本インターネットエクスチェンジ株式会社 EMail : mawatari@jpix.ad.jp 10. 免責事項 本文書によって発生した損失や損害について、著者は一切責任を負いませ ん。 11. この文書の配布に関して 本文書の再配布や転載は内容に関して一切の変更を加えないと言う条件で 許可をします。 付録 A: 6bone について 6bone とは、IPv6 実験用のネットワークで、RFC2471 において規定され ている IPv6 テストアドレス (3ffe::/16) で運用されています。 しかし、現在は、RFC3701 において 2006年6月6日に 6bone を廃止する事 となっている為、廃止日以降は、3ffe::/16 を利用した通信はフィルタをし ても良いと提言されています。 本文書においては、2006年6月6日 の 6bone 廃止日以降に、状況を確認し つつ、各接続部分 (トランジット接続部分、ピア接続部分、顧客接続部分) について、下記に記載したフィルタの検討をする事が必要であると考えます。 A-1. 検討対象となるフィルタ A-1-1. Ingress および Egress のパケットフィルタ [1] 3ffe::/16 が Source アドレスになっているパケットを reject す る A-1-2. Ingress および Egress の Prefix フィルタ [1] 3ffe::/16 or longer の Prefix を reject する 付録 B: 6to4 について 6to4 とは、RFC3056 において規定されているトンネリング技術で、IPv4 グローバルアドレスを IPv6 アドレスに埋め込み、トンネルを自動生成する 事で、IPv4 ネットワークを介した IPv6 ネットワークとの通信を実現して います。 6to4 専用の Prefix として、2002::/16 が割り当てられていますので、 2002::/16 を利用した通信をフィルタの対象とした場合、6to4 を利用して いるネットワークへの影響が発生する為、フィルタの検討には、十分な注意 が必要となります。 付録 C: IANA IPv6 Special Purpose Address Registry について 下記の URL にある文書には、IANA が特殊な用途の為に、割り当てをして いる IPv6 アドレスがまとめてあります。 IANA IPv6 Special Purpose Address Registry http://www.iana.org/assignments/iana-ipv6-special-registry この文書に記載されている IPv6 アドレスに関するフィルタの設定につい ては、記載された個々の IPv6 アドレスの性質に配慮をする必要があり、ま た、この文書は随時更新されていく可能性がありますので、定期的な文書の 確認も必要となります。 以上 ---------------------------------------------------------------------- 更新履歴 ---------------------------------------------------------------------- 日付 : 2006/08/23 - 文書公開 日付 : 2007/05/18 - 著者に「廣海 緑里 (株式会社インテック・ネットコア)」を追記 - 下記のとおり 「Special-Use Prefix」 の箇所を変更 - 「::/8」 に 「予約済み Prefix」 と追記 - 「::/96」 を 「IPv4 互換アドレス」 から 「予約済みアドレス (元 IPv4 互換アドレス)」 に変更 - 「IPv4 射影アドレス」 を 「::ffff:/96」 から 「::ffff:0:0/96」 に変更 - 「fec0::/10」 を 「サイトローカルアドレス」 から 「予約済みアド レス (元サイトローカルアドレス)」 に変更 - 3-2-2-1. [2] と 4-2-2-1. [3] にある 「Ingress の Prefix フィルタ」 について、「RIR の IP アドレス割り振りリストが更新される度に、フ ィルタの設定の更新を行う必要があります」 と言う内容の注意文を追記 - 3-3. [1] と 4-3. [1] と 5-3. [1] にある 「Max-Prefix-Limits」 に ついて、「注意点」 を追記 - 「8-2. その他に有益な文献」 にある 「IPv6 Routing Policies Guidelines」 の URL を変更 - 「8-2. その他に有益な文献」 に 「RFC4890 : Recommendations for Filtering ICMPv6 Messages in Firewalls」 を追記 - 「8-2. その他に有益な文献」 にある 「各 RIR が公開している IP ア ドレス割り振りリスト」 の LACNIC の URL を変更 - 「付録 C: IANA IPv6 Special Purpose Address Registry について」を 追記 日付 : 2008/08/26 - 「8-2. その他に有益な文献」 から 「IPv6 Routing Policies Guidelines」 を削除 - 「8-2. その他に有益な文献」 に 「RFC5156 : Special-Use IPv6 Addresses」 を追記 日付 : 2013/05/11 - 「1. はじめに」 の文言修正 - 下記の Prefix を 「Special-Use Prefix」 として追記 - トラフィック破棄専用 (Discard-Only) アドレス : 100::/64 - TEREDO アドレス : 2001::/32 - ベンチマークテストアドレス : 2001:2::/48 - 多重ルーティング可能暗号ハッシュ識別子 (ORCHID) アドレス : 2001:10::/28 - NAT64 Well-Known Prefix (64:ff9b::/96) が ::/8 の範囲内で定義され た事により、「Special-Use Prefix」 から 「ループバックアドレス (::1/128)、未指定アドレス (::/128)、予約済みアドレス (元 IPv4 互 換アドレス) (::/96)、IPv4 射影アドレス (::ffff:0:0/96) を含んだ予 約済み Prefix : ::/8」 の記載を削除し、::/8 に含まれていた Prefix を下記のとおりに分割した記載に変更 - パケットフィルタ - 予約済みアドレス (元 IPv4 互換アドレス) : ::/96 - ループバックアドレス : ::1/128 - IPv4 射影アドレス : ::ffff:0:0/96 - Prefix フィルタ - 予約済みアドレス (元 IPv4 互換アドレス) : ::/96 or longer - 未指定アドレス : ::/128 exact - ループバックアドレス : ::1/128 or longer - IPv4 射影アドレス : ::ffff:0:0/96 or longer - 「各 RIR から各組織に割り振り済みの Prefix のみを accept する」と 言うフィルタの運用は、各 RIR で行われる Prefix の割り振り頻度を考 慮すると現実的に困難である為、当該の文言が記載されていた 3-2-2-1. [2]、4-2-2-1. [3] の項目を削除 - 「9. 著者」 にある 「所属」 と 「EMail」 を更新 日付 : 2014/06/06 - 下記のとおり 「Special-Use Prefix」 の箇所を変更 - TEREDO アドレス (2001::/32) は、グローバルな到達性が必要なアド レスである為、「Special-Use Prefix」 の一覧から削除 - 多重ルーティング可能暗号ハッシュ識別子 (ORCHID) アドレス (2001:10::/28) は、2014年に IANA に返却された為、「Special-Use Prefix」 の一覧から削除 - 「8-2. その他に有益な文献」 に 「RFC6890 : Special-Purpose IP Address Registries」 を追記 ----------------------------------------------------------------------