セキュリティ
L2セキュリティ
レイヤ2レベルの攻撃
レイヤ2レベルの攻撃の種類
・MACアドレスフラッディング
ターゲットのMACアドレステーブルを飽和させ、フラッディングしたデータを盗聴する攻撃
対策:ポートセキュリティの有効化や、IEEE 802.1X認証の使用
・DHCPスプーフィング
中間者攻撃の1つ
不正なDHCPサーバを使ってDHCPクライアントからのデータを盗聴する攻撃
対策:DHCPスヌーピングの有効化(DHCPパケットを検査し、不正なパケットを破棄する技術)
・ARPスプーフィング
中間者攻撃の1つ
攻撃者が自身のMACアドレスを偽ったARP応答を返すことにより、データを盗聴する攻撃
対策:Dynamic ARP Inspectionの有効化(ARP応答を検査し、不正なパケットを破棄する技術)
・STP攻撃
ルートブリッジに選出されるようにした不正なスイッチをネットワークを追加し、不正なスイッチを経由するフレームを盗聴する攻撃
対策:BPDUガードの有効化
・DTPによるVLANホッピング
VLANホッピングの1つ(トランク機能を悪用して本来はアクセスできないVLANにアクセスする攻撃)
一般ユーザに解放しているアクセスポートを、DTPによって不正にトランクポートに変更させて、全VLANと通信可能にする攻撃
対策:DTPネゴシエーションの無効化
・ダブルタグによるVLANホッピング
VLANホッピングの1つ(トランク機能を悪用して本来はアクセスできないVLANにアクセスする攻撃)
VLANタグを2重に付けて、異なるVLANにアクセスする攻撃(ネイティブVLANがタグを付けないことを悪用)
対策:ネイティブVLANの変更(使用していないVLAN番号を割り当てる)
DHCPスプーフィング
DHCPスプーフィング
攻撃者が不正なDHCPサーバを立ち上げて、DHCP OFFERで自身のIPアドレスをデフォルトゲートウェイにするよう通知し、ユーザからのパケットを盗聴する攻撃
DHCPスヌーピング
・DHCPスプーフィングを防ぐために利用されるDHCPパケットを監視する機能
・各ポートを「Trustedポート」(信頼するポート)と、「unTrustedポート」(信頼しないポート)に分類する
・Trustedポートに着信したDHCPパケットは全て許可する
・unTrustedポートに着信したDHCPパケットは、クライアントからサーバに送られるDHCPパケット(DISCOVER、REQUEST)は許可するが、サーバからクライアントに送られるDHCPパケット(OFFER、ACK)は拒否する
・ネットワーク管理者が管理している内部ネットワーク側のポートはtrustedポートが適している
・デフォルトではuntrustedポートになる
DHCPスヌーピングの設定
1.DHCPスヌーピングの有効化
(config)#ip dhcp snooping
2.DHCPスヌーピングを有効にするVLANの指定(同時に複数の指定が可能)
(config)#ip dhcp snooping vlan {VLAN番号} [VLAN番号]
3.信頼できるポートの指定(DHCPサーバが接続している方向のポートに適用)
(config-if)#ip dhcp snooping trust
4.信頼できないポートでDHCP Option 82付きパケットの受信を許可(オプション)
(config)#ip dhcp snooping information option allow-untrusted
DHCPスヌーピングバインディングデータベース
以下の情報が記録される
・DHCPクライアントのMACアドレス
・DHCPクライアントに割り当てられたIPアドレス
・IPアドレスのリース時間
・ポートが属するVLAN
・スイッチのポート番号
上記の情報は「DAI」や「IPソースガード」で利用される
DHCPパケットのレート制限
・不正なクライアントがDHCPサーバに大量のDHCP要求を送りつける攻撃を防ぐ
・インターフェースが受信できる1秒あたりのDHCPパケット数を設定できる
ARPスプーフィング(ARPポイズニング)
ARPスプーフィング
攻撃者が偽のARP応答を返すことにより、データを盗聴する攻撃
DAI(Dynamic ARP Inspection)
・ARPスプーフィングを防ぐにはDAIを利用する
・DAIは、ARPパケットを検査する機能
・DAIでは、各ポート「Trustedポート」(信頼するポート)と、「unTrustedポート」(信頼しないポート)に分類する
・Trustedポートに着信したARPパケットは検査せずに通過する
・unTrustedポートに着信したARPパケットは検査して、IPアドレスとMACアドレスの対応が正しければ許可し、正しくなければ拒否する
・IPアドレスとMACアドレスの対応は「DHCPスヌーピングバインディングデータベース」や、手動で作成したバインディングデータベースを使用して確認する
DAIの設定
1.DAIの有効化
(config)#ip arp inspection vlan {VLAN番号}
2.信頼できるポートの指定
(config-if)#ip arp inspection trust
3.着信したARPパケットに対して行う検査の追加(オプション)
(config)#ip arp inspection validate {src-mac | dst-mac | ip}
src-mac・・・イーサネットヘッダの送信元MACアドレスと、ARPパケットのデータの送信元MACアドレスが同じかを検査
dst-mac・・・イーサネットヘッダの宛先MACアドレスと、ARPパケットのデータの宛先MACアドレスが同じかを検査
ip・・・ARPパケットのデータに含まれるIPアドレスを検査
IPアドレススプーフィング
IPアドレススプーフィング
攻撃者が自身のIPアドレスを偽って不正に接続する攻撃
IPソースガード
・IPアドレススプーフィングを防ぐにはIPソースガードを利用する
・IPソースガードは、IPパケットの送信元アドレスを検査する機能
・IPソースガードが有効になっているポートにIPパケットが着信すると検査して、送信元IPアドレスと送信元MACアドレス(オプション)が、「DHCPスヌーピングバインディングデータベース」または手動で作成したバインディングデータベースに載っていれば許可し、載っていなければ拒否する
IPソースガードの有効化
(config-if)#ip verify source [port-security]
port-security・・・送信元MACアドレスも確認
ポートセキュリティ
ポートセキュリティ
スイッチに接続するデバイスのMACアドレスを基に接続の可否を行う機能(不正なPCがLANにアクセスするのを防ぐ)
セキュリティ違反
・ポートセキュリティを設定したポートでセキュアMACアドレスの最大数を超えるMACアドレスを検知すると、「セキュリティ違反(不適切なフレームを受信)」が発生したと判断する
・セキュリティ違反を検出した場合は、設定済みのセキュリティ違反モードが作動する
セキュリティ違反時のアクション
・shutdown(デフォルト)
セキュアMACアドレス以外のパケットを破棄:する
SNMPトラップやSyslogメッセージの送信違反カウンタの増加:する
ポートのshutdown(errdisable):する
・restrict
セキュアMACアドレス以外のパケットを破棄:する
SNMPトラップやSyslogメッセージの送信違反カウンタの増加:する
ポートのshutdown(errdisable):しない
・protect
セキュアMACアドレス以外のパケットを破棄:する
SNMPトラップやSyslogメッセージの送信違反カウンタの増加:しない
ポートのshutdown(errdisable):しない
セキュアMACアドレス
・ポートセキュリティが有効なポートで許可されるMACアドレスをセキュアMACアドレスと呼ぶ
・セキュアMACアドレスにはスタティック、ダイナミック、スティッキーの3種類がある
スタティックセキュアMACアドレス
・静的に設定したMACアドレス
・MACアドレステーブルとrunning-configに追加される
ダイナミックセキュアMACアドレス
・動的に学習したMACアドレス
・MACアドレステーブルに追加される
スティッキーセキュアMACアドレス
・動的に学習したMACアドレス
・MACアドレステーブルとrunning-configに追加される
スティッキーラーニング
・スティッキーラーニングで学習したセキュアMACアドレスは、running-configに書き込まれる
・port-security maximumで設定した最大数までセキュアMACアドレスを学習する
スティッキーラーニングを有効にするためのコマンド
(config-if)#switchport port-security mac-address sticky
5台までのデバイスの接続を許可
CatA(config)#interface Fa 0/1
CatA(config-if)#switchport mode access
CatA(config-if)#switchport port-security
CatA(config-if)#switchport port-security maximum 5
ポートセキュリティを有効にした際のデフォルト値
・違反モードは”Shutdown”
・セキュアMACアドレスの最大数は”1″
ポートセキュリティの情報を確認
#show port-security interface
err-disabled
err-disabled状態
「err-disabled」はスイッチの動作によって自動的にポートが無効化された状態
err-disabledになる主な理由
・BPDUガード違反(レイヤ2ループを防ぐ機能であるSTPの動作)
・セキュリティ違反(不正な接続を防ぐ機能であるポートセキュリティの動作)
err-disabledの復旧
err-disabled状態のポートを復旧するには、err-disabled状態のポートを一度「shutdown」してから、「no shutdown」で再び有効にする
err-disabled自動復旧の有効化
(config)#errdisable recovery cause {all | 理由}
例1)BPDUガードの動作によって err-disabledになった時は自動復旧させる
(config)#errdisable recovery cause bpduguard
例2)ポートセキュリティの動作によって err-disabledになった時は自動復旧させる
(config)#errdisable recovery cause psecure-violation
err-disabled自動復旧までの秒数変更
(config)#errdisable recovery interval {秒}
30秒~86400秒で指定(デフォルトは300秒)