目次
概要
ARPスプーフィングによる中間者攻撃の対策として、Dynamic ARP Inspectionがあります。レイヤ2スイッチでARPメッセージの整合性を検証する機能です。Dynamic ARP Inspectionについて解説します。
ARPの仕組みおよびARPのメッセージフォーマットを詳しく知っておくと理解が深まります。
関連記事
ARPスプーフィングについて、以下の記事もあわせてご覧ください。
ARPの仕組みとメッセージフォーマットについて、以下の記事もあわせてご覧ください。
Dynamic ARP Inspectionとは
Dynamic ARP Inspectionとは、レイヤ2スイッチでARPメッセージの整合性を検証する機能です。Dynamic ARP Inspectionにより、ARPメッセージを偽装してパケットを不正に取得するARPスプーフィングに対抗できます。
ARPによって、IPアドレスとMACアドレスの対応を動的に求めることができます。ただし、ARP自体にIPアドレスとMACアドレスの対応が正しいことを検証するような仕組みは備わっていません。そのため、ARPリプライを偽装するARPスプーフィングの攻撃が成立してしまう可能性があります。
そこで、レイヤ2スイッチでDynamic ARP InspectionによってARPメッセージのIPアドレスとMACアドレスの対応が正しいことをチェックします。そのためには、正しいIPアドレスとMACアドレスの対応がわかっておかなければいけません。Dynamic ARP Inspectionで、ARPメッセージのチェックに利用するための正しいIPアドレスとMACアドレスの情報源は、次の2つです。
- DHCPスヌーピングバインディングテーブル
- 手動設定(ARP ACL)
DHCPクライアントのIPアドレスとMACアドレスの対応の整合性をチェックするために、DHCPスヌーピングバインディングテーブルを利用します。つまり、DHCPスヌーピングも有効にしておく必要があります。
そして、スタティックにIPアドレスを設定しているホストについては、IPアドレスとMACアドレスの正しい対応をARP ACLでスタティックに設定します。
Dynamic ARP Inspection : ARPメッセージの検証の仕組み
Dynamic ARP InspectionによるARPメッセージ検証の仕組みについて、詳しくみていきましょう。
Trustインタフェース
まず、ARPメッセージを検証するインタフェースを決めます。Dynamic ARP Inspectionの設定のときに、インタフェースを以下の2つに分類します。
- Trust
- Untrust
Trustとして設定したインタフェースでは、ARPメッセージの検証を行いません。デフォルトゲートウェイや正規のDHCPサーバが接続されているインタフェースなど攻撃者が接続する可能性がないインタフェースをTrustとして設定します。
Untrustのインタフェースで受信したARPメッセージの内容を検証します。デフォルトは、Untrustです。
ARPメッセージの基本チェック
Dynamic ARP InspectionでのARPメッセージの基本的なチェックは、ARPメッセージのSender IP AddressとSender MACアドレスが正しい対応であるかを見ることです。ARPリクエスト、ARPリプライの両方を対象にします。以下の図は、ARPリクエストのチェックを示しています。
この図では、攻撃者がARPリクエストを偽装していることを想定しています。Sender IP:10.1.1.1、Sender MAC:PC-Hackとしています。SW1は、受信したARPメッセージの内容をチェックします。DHCPバインディングテーブルに登録されているIPアドレスとMACアドレスのペアと異なっているので、ARPメッセージを破棄します。また、一致する情報がない場合も破棄します。
送信元MACアドレスのチェック
ARPメッセージのSender MACとイーサネットヘッダの送信元MACアドレスが一致しているかをチェックすることもできます。ARPリクエスト/リプライの両方が対象です。
宛先MACアドレスのチェック
ARPメッセージのTarget MACとイーサネットヘッダの宛先MACアドレスが一致しているかをチェックすることもできます。ARPリプライのみ対象です。
IPアドレスのチェック
ARPメッセージのTarget IPが以下の範囲のIPアドレスであるかをチェックすることもできます。ARPリプライのみ対象です。
- 1.0.0.0 ~ 126.255.255.255
- 128.0.0.1 ~ 223.255.255.255
ARPメッセージの制限
Dynamic ARP Inspectionを有効にすると、レイヤ2スイッチはUntrustで受信するARPメッセージをすべてチェックすることになります。そのため、過剰なARPメッセージによってスイッチにかかる負荷が大きくなってしまいます。受信するARPメッセージの数を制限することができます。
まとめ
ポイント
- Dynamic ARP Inspectionとは、レイヤ2スイッチでARPメッセージの整合性を検証する機能です。
- DHCPスヌーピングバインディングテーブルまたはスタティック設定による正しいIPアドレスとMACアドレスの対応に基づいてARPメッセージをチェックします。
- Untrustのインタフェースで受信したARPメッセージをチェック対象とします。TrustインタフェースではARPメッセージをチェックしません。
関連記事
Cisco CatalystスイッチでDynamic ARP Inspectionの設定と確認コマンドについて、以下の記事で解説しています。
セキュリティの基礎
- SSLとWi-Fiの暗号化の違い
- セキュリティの目的 ~機密性/完全性/可用性~
- セキュリティの脅威と対策の概要
- マルウェア ~ユーザにとって有害なソフトウェア~
- 認証の基礎 ~正規のユーザ/デバイスですか?~
- 覚えやすくて推測されにくい安全なパスワードの作り方
- 暗号化の概要
- ハッシュ関数とは
- SSLとは? ~アクセス先は本物です!データは盗聴/改ざんされません!~
- ファイアウォールの概要 ~正規の通信のみを転送~
- IDS/IPS ~不正アクセス対策~
- Cisco アクセスコントロールリストの概要
- パケットフィルタ ~不正な通信をブロックするCisco ACLの最も多い用途~
- SPI(Stateful Packet Inspection)の概要
- Cisco ACLによるパケットフィルタの設定と確認
- 名前付きACL(Named ACL)
- タイムベース(Time-based)ACL
- Cisco ACLによるパケットフィルタの設定例
- 標準ACLと拡張ACLのパケットフィルタリングをより深く理解するための演習 ~標準ACL~
- 標準ACLと拡張ACLのパケットフィルタリングをより深く理解するための演習 ~拡張ACL~
- リフレクシブ(Reflexive)ACL ~戻りの通信を自動的に許可~
- リフレクシブ(Reflexive)ACLの設定例
- Catalystスイッチのパケットフィルタリング RACL/VACL/PACL
- RACL/VACL/PACLの設定と確認コマンド
- uRPFの設定例
- VTYアクセス制御
- DHCPスプーフィング ~DHCPサーバを偽装~
- DHCPスヌーピング
- Cisco DHCPスヌーピングの設定と確認コマンド
- Cisco DHCPスヌーピングの設定例
- ARPスプーフィング
- Dynamic ARP Inspection
- Cisco Dynamic ARP Inspectionの設定と確認コマンド
- TCPインターセプトの設定例
- WAF(Web Application Firewall)の概要
- 電子メールのセキュリティ