More Related Content
Similar to IPv6セキュリティ はじめの一歩 (20)
IPv6セキュリティ はじめの一歩
- 4. 避けたい状況
March 19, 2017 第12回名古屋情報セキュリティ勉強会 4
http://www.itu.int/en/ITU-D/Regional-Presence/AsiaPacific
/Documents/s11-ipv6-securingtransitionmechanisms.pdf
- 10. IPv6アドレス (1/2)
March 19, 2017 第12回名古屋情報セキュリティ勉強会 10
アドレス範囲 用途
::/128 Unspecified Address
::1/128 Loopback Address
::ffff:0:0/96 IPv4-mapped Address
64:ff9b::/96 IPv4-IPv6 Translation
100::/64 Discard-Only Address Block
2000::/3 Global Unicast
2001::/23 IETF Protocol Assignments
2001::/32 TEREDO
2001:1::1/128 Port Control Protocol Anycast
2001:1::2/128 Traversal Using Relays around NAT Anycast
2001:2::/48 Benchmarking
[1] https://www.iana.org/assignments/ipv6-address-space/ipv6-address-space.xhtml
[2] https://www.iana.org/assignments/iana-ipv6-special-registry/iana-ipv6-special-registry.xhtml
- 11. IPv6アドレス (2/2)
March 19, 2017 第12回名古屋情報セキュリティ勉強会 11
アドレス範囲 用途
2001:3::/32 AMT
2001:4:112::/48 AS112-v6
2001:5::/32 EID Space for LISP (Managed by RIPE NCC)
2001:10::/28 Deprecated (previously ORCHID)
2001:20::/28 ORCHIDv2
2001:db8::/32 Documentation
2002::/16 6to4
2620:4f:8000::/48 Direct Delegation AS112 Service
fc00::/7 Unique Local Unicast
fe80::/10 Linked-Scoped Unicast
ff00::/8 Multicast
[1] https://www.iana.org/assignments/ipv6-address-space/ipv6-address-space.xhtml
[2] https://www.iana.org/assignments/iana-ipv6-special-registry/iana-ipv6-special-registry.xhtml
- 12. IPv6アドレスとスコープ
• スコープ一覧 (RFC 4291, 7346)
• リンクローカルアドレスが多用される
– <address>%<zone_id> の形で表現
– 「サイト出口」での追跡・制御は不可能
March 19, 2017 第12回名古屋情報セキュリティ勉強会 12
番号 名前
1 Interface-Local scope
2 Link-Local scope
3 Realm-Local scope
4 Admin-Local scope
5 Site-Local scope
8 Organization-Local scope
e Global scope
- 14. 頻出マルチキャストアドレス
• ff02::1 (All Node)
• ff02::2 (All Router)
• ff02::16 (MLDv2)
• ff02::1:2 (All DHCPv6 server/relay)
• ff02::1:3 (Link-local Multicast Name
Resolution)
• ff02::1:ffxx:xxxx (Solicited Node)
• ff05::1:3 (All DHCPv6 server)
March 19, 2017 第12回名古屋情報セキュリティ勉強会 14
- 15. IPv6アドレス空間と攻撃耐性
• IPアドレスの全数探索(brute force)には
なかなかヒットしない
– ルータに近隣探索させることになり、
結局負荷は上がる(DoS意図は成就する)
– 標的と同一リンクに入ってしまえば
マルチキャストパケット一発で終わり
– RFC 7707にあるような手法で探索量を削減
• 攻撃者側もIPアドレスは多数ある
(嘘もつき放題)
– フィルタ粒度、エントリ数
フィルタの自動生成も怖い
rate-limitくらいしか手はなさそうだが対象範囲の
適切な設定は難しそう
March 19, 2017 第12回名古屋情報セキュリティ勉強会 15
- 17. IPv6アドレス自動設定1
• ステートレス型
–ICMPv6 Router Advertisement (RFC 4862)
プレフィクス64ビットとホスト自身が決めた
64ビットを結合
Privacy Extension (RFC 4941)によりアドレス数
が膨れ上がる
(Valid lifetime) / (Preferred lifetime)
端末側からの新規コネクションには使わないが
待受アドレスとしては有効
Neighbor cacheも消費
March 19, 2017 第12回名古屋情報セキュリティ勉強会 17
- 24. DHCPv6を展開したネットワーク例
March 19, 2017 第12回名古屋情報セキュリティ勉強会 24
240b:251:c080:16::/64
240b:251:c080:14::/64
PC
Router & DHCPv6 Server
Catalyst 3560
Router & DHCPv6 Relay
Wireless AP
Client PC
(Windows 10)
- 25. RAベースのアドレス割当抑制 (1/2)
• radvd.conf (Linux PCルータ)
March 19, 2017 第12回名古屋情報セキュリティ勉強会 25
interface enp0s2
{
AdvSendAdvert on;
AdvManagedFlag on;
AdvOtherConfigFlag on;
prefix 240b:251:c080:14::/64
{
AdvOnLink on;
AdvAutonomous off;
AdvRouterAddr off;
AdvValidLifetime 3600;
AdvPreferredLifetime 1800;
};
};
- 26. RAベースのアドレス割当抑制 (2/2)
• Cisco IOS
March 19, 2017 第12回名古屋情報セキュリティ勉強会 26
interface GigabitEthernet0/10
no ip address
ipv6 enable
ipv6 nd ra suppress all
interface Vlan6
no ip address
ipv6 address 240B:251:C080:16::1/64
ipv6 enable
ipv6 nd prefix default 3600 1800 no-autoconfig no-rtr-address
ipv6 nd managed-config-flag
ipv6 nd other-config-flag
ipv6 nd ra lifetime 3600
ipv6 dhcp relay destination 240B:251:C080:14::1
- 29. DHCPv6によるアドレス割当
• dhcpd.conf (ISC DHCPd)
March 19, 2017 第12回名古屋情報セキュリティ勉強会 29
subnet6 240b:251:c080:14::/64 {
range6 240b:251:c080:14::1000:0 240b:251:c080:14::1000:20;
}
subnet6 240b:251:c080:16::/64 {
range6 240b:251:c080:16::1000:0 240b:251:c080:16::1000:1000;
option dhcp6.name-servers 2001:4860:4860::8888;
}
- 32. IPv6アドレスとMACアドレスの紐付け
• Neighbor cache
–ip -6 neighbor
–netsh interface ipv6 show neighbors
–show ipv6 neighbors
• DHCPサーバでの記録
–DHCP(v4)ではMACアドレスとIPv4アドレス
–DHCPv6ではDUIDとIPv6アドレス
• DUIDとMACアドレスの紐づけ
–DHCP relay越しでは対応付けが難しい
March 19, 2017 第12回名古屋情報セキュリティ勉強会 32
- 37. トンネルあれこれ
• IP in IP、GRE
• 6to4、6rd
• Teredo
• ISATAP
• MPLS
• その他独自方式のトンネル
• 予期しない上流への抜け穴はいくらでも
作れる
March 19, 2017 第12回名古屋情報セキュリティ勉強会 37
- 39. 流入フィルタ
• uRPF (unicast Reverse Path Forwarding)
–RFC 3704 (BCP 84)
March 19, 2017 第12回名古屋情報セキュリティ勉強会 39
240b:251:c080:16::/64
240b:251:c080:14::/64
Router
Router
Wireless AP
Client PC
×
Src=240b:251:c080:16::xxxx
Strict uRPFの例
- 41. 近隣探索 (RFC 4861)
• ICMPv6
–Neighbor Solicitation (Type 135)
送信元:送信元IFに付されたアドレス 又は ::
宛先:ターゲットのアドレス 又は 対応する
要請ノードマルチキャストアドレス
–Neighbor Advertisement (Type 136)
送信元:送信元IFに付されたアドレス
宛先:対応するNSの送信元アドレス
NSの送信元が::の場合はff02::1へ
March 19, 2017 第12回名古屋情報セキュリティ勉強会 41
- 46. 宛先アドレス選択
• 宛先リストの並べ替え
1. 到達不能なDやDに対応するSが未定義なもの
を回避
2. SとDのスコープが一致するものを優先
3. Sが廃止されたアドレスとなるものを回避
4. Sがホームアドレスとなるものを優先
5. SとDのラベルが一致するものを優先
6. 優先度の高いDを優先
7. ネイティブトランスポートのものを優先
8. スコープの小さいDを優先
9. SとDのプレフィクス一致が最長のものを優先
10. 元の順番を変えない
March 19, 2017 第12回名古屋情報セキュリティ勉強会 46
- 47. ラベルと優先度
• 設定変更可能
–Linux: /etc/gai.conf
– Windows: netsh interface ipv6 show prefixpolicies
March 19, 2017 第12回名古屋情報セキュリティ勉強会 47
ループバック
その他
IPv4射影アドレス
6to4
TEREDO
ユニークローカル
サイトローカル(廃止)
6bone(廃止)
IPv4互換アドレス(廃止)
- 49. Happy Eyeballs
• 目的:IPv4フォールバックの時間を短く
• 規約:RFC 6555
– IPv4のSYNとIPv6のSYNを両方投げる
少しだけIPv6を優先する
各SYNは150-250ms間隔(推奨値)
IPv6での接続成否を一定期間記憶
A/AAAAが複数ある場合、下記優先順
1. 最優先のIPv6アドレス
2. IPv4アドレス
3. その他のIPアドレス
– 先にSYN+ACKが返ってきた方を使う
– アプリケーションでの実装がシンプル
OSでの実装の場合、RFC6724と要調整
March 19, 2017 第12回名古屋情報セキュリティ勉強会 49
- 53. 参考文献
• Philip Smith, ``IPv6 Security,’’
ITU/APNIC/MICT IPv6 Security Workshop,
May 2016.
• 志田智ら, ``マスタリングTCP/IP IPv6編
第2版,’’ オーム社, 2013.
• Scott Hogg, et al., ``IPv6 Security,’’ Cisco
Press, 2009.
March 19, 2017 第12回名古屋情報セキュリティ勉強会 53