マルチホーム(複数のアドレス)、複数のインターフェースを持つホストを安全に利用するセキュリティ モデルです。
Windows Vista から導入されており、ネットワークの挙動が大きく変化しています。次項から変更点を簡潔に述べます。
作成 2010.02.22
更新 2015.12.24
更新 2015.12.24
Strong Host Routing Model について
概要
ありえない送信元から受け取らない
Windows XP, Windows Server 2003 R2 以前は来るはずのない送信元のアドレスも受け取っていました。
Windows Vista, Windows Server 2008 以降は受け取りません。
Windows Vista, Windows Server 2008 以降は受け取りません。
送信元の詐称によるルーティング攻撃を防ぐ
ループバックアドレスの詐称以外にも以下のような攻撃が可能でした。
Windows Vista, Windows Server 2008 以降はデフォルトで攻撃を防ぐことができます。
Windows Vista, Windows Server 2008 以降はデフォルトで攻撃を防ぐことができます。
受け取ったIPアドレスで応答する
Windows XP, Windows Server 2003 R2 以前はルーティングのコストが同じなら、優先IPアドレスから応答していました。
Windows Vista, Windows Server 2008 以降は受信したIPで応答します。
Windows Vista, Windows Server 2008 以降は受信したIPで応答します。
応答パケットの送信元確認
Windows XP, Windows Server 2003 R2 以前は送信元IPアドレスしか確認していませんでした。
そのため、応答パケットのシーケンスを推測することでセッション乗っ取りが可能でした。
Windows Vista, Windows Server 2008 以降はデフォルトで攻撃を防ぐことができます。
そのため、応答パケットのシーケンスを推測することでセッション乗っ取りが可能でした。
Windows Vista, Windows Server 2008 以降はデフォルトで攻撃を防ぐことができます。
問題点
ネットワークを長く運用していると、以下の様にゲートウェイが複数ある環境になることがあります。
クライアント(10.0.1.200)が10.0.1.2経由でサーバー(10.0.2.10)へ接続するシナリオです。
Windows XP, Windows Server 2003 R2 以前は特に問題なく通信出来ていました。
Windows Vista, Windows Server 2008 以降では、返信元のMACアドレスが異なるため攻撃と判断し、受信しません。
この場合は、以下の対策が考えられます。
対策案1 ルーティングを是正する
最も妥当な対策です。ただし、変更範囲が多岐にわたることがあり、現実的ではないかもしれません。
対策案2 Strong Host Routing を無効化する
セキュリティと利便性のトレードオフとなります。以下のコマンドで無効化出来ます。
クライアント(10.0.1.200)が10.0.1.2経由でサーバー(10.0.2.10)へ接続するシナリオです。
Windows XP, Windows Server 2003 R2 以前は特に問題なく通信出来ていました。
Windows Vista, Windows Server 2008 以降では、返信元のMACアドレスが異なるため攻撃と判断し、受信しません。
この場合は、以下の対策が考えられます。
対策案1 ルーティングを是正する
最も妥当な対策です。ただし、変更範囲が多岐にわたることがあり、現実的ではないかもしれません。
対策案2 Strong Host Routing を無効化する
セキュリティと利便性のトレードオフとなります。以下のコマンドで無効化出来ます。
netsh interface ipv4 set interface [InterfaceNameOrIndex] weakhostsend=enabled netsh interface ipv4 set interface [InterfaceNameOrIndex] weakhostreceive=enabled netsh interface ipv6 set interface [InterfaceNameOrIndex] weakhostsend=enabled netsh interface ipv6 set interface [InterfaceNameOrIndex] weakhostreceive=enabled元に戻すには
netsh interface ipv4 set interface [InterfaceNameOrIndex] weakhostsend=disabled netsh interface ipv4 set interface [InterfaceNameOrIndex] weakhostreceive=disabled netsh interface ipv6 set interface [InterfaceNameOrIndex] weakhostsend=disabled netsh interface ipv6 set interface [InterfaceNameOrIndex] weakhostreceive=disabled
参考
The Cable Guy: Strong and Weak Host Models
Application Compatibility: Networking: IPv6
RFC 1122 Requirements for Internet Hosts -- Communication Layers
RFC 3484 Default Address Selection for Internet Protocol version 6 (IPv6)
Windows Vista および Windows Server 2008 以降の OS で、IP アドレスの変更時に送信される ARP リクエストにより、他の機器の ARP テーブルが更新されずに通信が失敗する
Application Compatibility: Networking: IPv6
RFC 1122 Requirements for Internet Hosts -- Communication Layers
RFC 3484 Default Address Selection for Internet Protocol version 6 (IPv6)
Windows Vista および Windows Server 2008 以降の OS で、IP アドレスの変更時に送信される ARP リクエストにより、他の機器の ARP テーブルが更新されずに通信が失敗する
タグ: Windows