こんにちは!ネットワークの世界へようこそ。インフラエンジニアの私たちが日夜向き合っているネットワークは、目に見えないけれど、まるで精巧な都市のようにルールと秩序で動いています。
今回は、そのネットワークの安全を守るための頼もしい番人「DAI(Dynamic ARP Inspection)」について、一緒に紐解いていきましょう!
「なんだか難しそうな名前だな…」と感じましたか?大丈夫です。一歩ずつ、身近な例えから分かりやすく解説していきますので、リラックスして読んでいってくださいね。
—
1. ネットワークの「住所確認詐欺」? ARPスプーフィングの脅威
皆さんは、会社やカフェでパソコンをネットワークにつなぐとき、どうやって通信相手を見つけていると思いますか?
実は、ネットワークの世界(イーサネット)では、お互いに通信するときに「MACアドレス」という固有のハードウェア名札を使っています。でも、私たちが普段意識しているのは「IPアドレス」ですよね。「あの人のIPアドレスは 192.168.1.10 だな」というように。
ここで登場するのが、ARP(Address Resolution Protocol)という仕組みです。これは、いわば「このIPアドレスを使っている人のMACアドレス(名札)を教えて!」とネットワーク全体に大声で叫んで尋ねる、郵便配達員のような役割をしています。
「はい、私のIPアドレスは 192.168.1.10 です。名札(MACアドレス)は aa:bb:cc:... ですよ」と本人が返事をすることで、初めてパソコン同士が直接データをやり取りできるようになります。
悪意ある攻撃者が現れたら…?
ここで問題が起きます。もし、ネットワークの中に悪意を持った攻撃者がいたらどうなるでしょうか?
攻撃者は、本人が返事をするよりも先に、こんな嘘の叫び声をネットワーク中に響かせます。
> 「おいみんな! 192.168.1.1(ルーターのIPアドレス) のMACアドレスは、この俺のMACアドレスだよ!」
これをARPスプーフィング(ARPなりすまし)と呼びます。
郵便配達(通信)の例で言うなら、偽の配達員が「私が本物の郵便局です!」と嘘をついて、みんなの大切な手紙をいったん自分のところに集めてしまうようなものです。これによって、パスワードや機密情報が盗み見られたり、通信が勝手に遮断されたりする中間者攻撃(Man-in-the-Middle攻撃)に繋がってしまうのです。恐ろしいですよね。
—
2. 救世主「DAI(Dynamic ARP Inspection)」の登場
「じゃあ、そんな嘘つきの返事を信じないように、誰かが監視していればいいのでは?」
その通り!その監視役こそが、今回主役のDAI(Dynamic ARP Inspection)です。スイッチなどのネットワーク機器に備わっている、不正なARPレスポンスを検知してバッサリ切り捨てる防衛システムになります。
郵便局の「本人確認台帳」で裏付けを取る
DAIがどうやって嘘を見破るかというと、「DHCPスヌーピングバインディングデータベース」という、信頼できる「住民台帳」のようなものを裏で活用しています。
普段、パソコンがネットワークに参加するとき、DHCPサーバーからIPアドレスを自動で割り当てられますよね。その瞬間、スイッチは「このポートに繋がっている PC-A は、IPアドレス 192.168.1.5 で、MACアドレスは 11:22:33... だな」としっかりメモを取っています。これがバインディングデータベースです。
DAIはこの台帳を見て、次のように判断します。
- 正規の持ち主からの返事か?:台帳の情報と一致していれば、「よし、通しなさい!」と通過させます。
- 見覚えのない嘘の返事か?:台帳に載っていない、あるいは情報が食い違っていれば、「偽物だ!パケットを破棄(ドロップ)する!」とブロックします。
こうして、スイッチが門番としてピシッと目を光らせてくれるおかげで、ARPスプーフィングの攻撃からネットワークを安全に守ることができるのです。
—
3. 実務で設定してみよう!CiscoスイッチでのDAI設定例
それでは、実際に現場のCisco CatalystスイッチなどでDAIを動かす際の設定を見ていきましょう。難しそうに見えますが、基本のステップを踏めば怖くありません。
今回は、スイッチ全体でDAIを有効にし、信頼できるアップリンク(ルーターやDHCPサーバー側)のポートを許可しつつ、一般の端末がつながるポートを保護する設定の流れをコード例でご紹介します。
[設定の流れ]
1. DHCPスヌーピングを有効にする(DAIの土台となる台帳を作るため)
2. DAIをVLAN単位で有効にする
3. 信頼できるポート(Trusted)と、一般の端末用ポート(Untrusted)を定義する
実際のCisco IOSのコマンド設定サンプルは以下の通りです。
! ==========================================
! 1. DHCPスヌーピングを有効化(DAIの前提条件)
! ==========================================
ip dhcp snooping
ip dhcp snooping vlan 10
! ==========================================
! 2. ネットワークの信頼関係を定義する
! ==========================================
! アップリンク(ルーターやDHCPサーバーに繋がるポート)は「信頼できるポート」にする
interface GigabitEthernet0/1
description 信頼できるルーター側のポート
ip dhcp snooping trust
arp inspection trust
! 一般のユーザー端末が繋がるアクセスポートは設定不要(デフォルトで「信頼しない(Untrusted)」になるため安全)
interface GigabitEthernet0/2
description 一般PC接続用ポート
switchport mode access
switchport access vlan 10
! ※一般ポートでは、スイッチが自動的に一挙手一投足を監視します
! ==========================================
! 3. VLAN 10 に対してDAIを有効化する
! ==========================================
ip arp inspection vlan 10
設定のポイント
ip arp inspection vlan 10を入れることで、VLAN 10を流れるすべてのARPパケットが監視対象になります。- ルーターやDHCPサーバーと通信する基幹ポートには必ず
arp inspection trustを設定しましょう。ここを忘れると、正規のルーターからの正しい応答まで「偽物だ!」と勘違いしてブロックしてしまい、ネットワークが繋がらなくなってしまいますので注意してくださいね。
—
4. トラブルシューティングの現場から
現場でDAIを導入した際、よくあるトラブルが「突然、特定のプリンターや古い機器が通信できなくなった!」という現象です。
原因の多くは、その機器が固定IPアドレス(スタティックIP)を使用しているケースです。DHCPからIPアドレスをもらっていないため、DHCPスヌーピングの「住民台帳」に名前が載っておらず、DAIに「お前はもぐりだな!」と誤認されてブロックされてしまうのです。
現場での処方箋
もしこのようなスタティックIPの機器(サーバーやネットワークプリンターなど)がいる場合は、手動で台帳に登録してあげる必要があります。これをARP ACL(スタティックバインディング)と呼びます。
! DHCPを使わない機器のために、手動で台帳に登録(バインディング)する
ip arp snooping binding 0011.2233.4455 vlan 10 192.168.1.50 interface GigabitEthernet0/24
このように、ネットワークのセキュリティを高めつつ、正当な機器がしっかり通信できるように裏側でサポートしてあげるのが、私たちインフラエンジニアの腕の見せ所です。
—
まとめ
今回は、DAI(Dynamic ARP Inspection)によるARPスプーフィング防衛策について、郵便配達の例えを交えてお話ししました。
- ARPスプーフィングは、偽のMACアドレスを名乗って通信を乗っ取る危険な攻撃。
- DAIは、DHCPスヌーピングの台帳を元にして、その「なりすまし」をリアルタイムで見破ってブロックする門番。
- 実務では、信頼できるポートとそうでないポートを正しく切り分け、必要に応じて手動の登録(バインディング)も組み合わせて運用する。
一見複雑に見えるセキュリティ機能も、その役割を身近なものに置き換えてみると、グッと理解しやすくなりますよね。ぜひ、皆さんの設計や構築の現場でもDAIを活用して、安全で堅牢なネットワークを作り上げていってください!
それでは、また次のネットワークの深淵でお会いしましょう!
コメント