イーサネットの「境界」を守る:ポートセキュリティという名の孤独な番人
ネットワークエンジニアの諸君。レイヤ2のセキュリティを語る時、真っ先に脳裏をよぎるのは何だろうか。MACフラッディングによるCAMテーブル溢れか、あるいは無許可のデバイスによるARPスプーフィングか。
現代のゼロトラストアーキテクチャにおいても、物理層からデータリンク層にかけての「足回り」の防御は、依然として堅牢なネットワークの根幹である。今回は、CiscoのPort Securityという、一見古典的だが、実は極めてシビアな判断を迫る機能について、パケットの深淵から切り込んでいこうと思う。
—
1. ポートセキュリティの真髄:CAMテーブルの「暴走」を防ぐ
Port Securityの本質は、スイッチのASICが管理するCAM(Content Addressable Memory)テーブルに対する「入力フィルタリング」にある。スイッチは通常、着信フレームの送信元MACアドレスを学習し、そのポートと紐付ける。この学習プロセスを無制限に許容すれば、攻撃者は容易にMACアドレスを偽装し、ネットワーク全体のトラフィックを盗聴するミドルボックスへと変貌させることが可能だ。
Port Securityは、そのポートが「誰を、何人まで」受け入れるかを強制的に定義する。
設定の基本:堅牢な防御の設計図
以下は、実務で頻用する設定のテンプレートだ。単に「制限する」のではなく、将来的なインシデントログの追跡まで考慮した設計である。
interface GigabitEthernet0/1
# レイヤ2ポートとして固定(必須)
switchport mode access
# ポートセキュリティの有効化
switchport port-security
# 学習可能な最大MACアドレス数を制限(今回は1台のみ)
switchport port-security maximum 1
# MACアドレスの違反処理モード(後述)
switchport port-security violation restrict
# MACアドレスの静的固定(スティッキー学習)
switchport port-security mac-address sticky
—
2. 違反処理モードの「深淵」:Protect, Restrict, Shutdown
Port Securityが設定されたポートで、許可されていない未知のMACアドレスからのフレームが到来したとき、スイッチの内部では何が起きているのか。ここがエンジニアの腕の見せ所だ。
Protect(保護)
最も静かなモードだ。未知のMACアドレスを持つフレームは単にドロップされる。しかし、SNMPトラップもSyslogも生成されない。ネットワーク管理者が事態を検知できないため、インシデントレスポンスの観点からは「使うべきではない」モードだ。
Restrict(制限)
実務で最もバランスが良い。未知のフレームをドロップしつつ、SNMPトラップを発行し、カウンタをインクリメントする。トラフィックの遮断は行わないため、既存の通信セッション(例えば、TCPハンドシェイクが完了した後のストリーム)を即座に切断することはないが、攻撃の兆候を即座に検知できる。
Shutdown(シャットダウン)
最強の防御だ。違反を検知した瞬間にポートを err-disable 状態へ叩き落とす。データリンク層レベルで物理的にポートを閉鎖するため、脅威の拡散を物理的に阻止できる。ただし、正当なデバイスのMACアドレス変更(例えばNICの故障交換など)でもネットワークが停止するため、運用コストとのトレードオフを理解しておく必要がある。
—
3. インフラアーキテクトが気にするべき「パケットの挙動」
ポートセキュリティの運用において、しばしば見落とされるのが、上位層プロトコルへの影響だ。
例えば、Shutdownモードを採用した場合、ポートは即座に無効化される。この時、もし当該ポートで進行中だった TLS ハンドシェイクがあれば、当然ながら TCP RST すら送信されず、クライアント側には Connection Timeout が待っている。
また、TCPバッファチューニングやウィンドウサイズの最適化を極めている環境であっても、L2レベルでパケットがドロップされれば、再送制御(Retransmission)が発生し、RTT(Round Trip Time)は劇的に悪化する。ネットワークの「境界」が不安定であることは、アプリケーション層のレイテンシを増大させる最大の要因であることを忘れてはならない。
トラブルシューティングの勘所
もし、ある日突然ネットワークが断続的に不安定になったら、まずは以下のコマンドを確認せよ。
# ポートセキュリティのステータス確認
show port-security interface GigabitEthernet0/1
# 違反カウントの確認(Restrictモード時に有用)
show port-security interface GigabitEthernet0/1 | include Violations
もし Violations カウントが増え続けているなら、それは社内LANに持ち込まれた不正なハブか、あるいはMACアドレススプーフィング攻撃の可能性が高い。
—
終わりに:自動化の時代における手動の重み
最近はSDNやNAC(Network Access Control)が全盛だが、それでもなお、スイッチの物理ポート単位で制御するPort Securityは、最後の砦として機能する。
極限のパフォーマンスを求めるならば、TCPのMSS(Maximum Segment Size)調整や、ヘッダー圧縮(Robust Header Compressionなど)に目を向けるのも重要だが、まずは「誰がネットワークの入り口に立っているか」を厳格に制御する。この泥臭いレイヤ2の防御こそが、結果としてネットワーク全体の信頼性と可用性を支えているのだ。
諸君、パケットの海を渡る際、自分の足元を固めることを忘れないでほしい。ネットワークは、いつだって物理的な接触点から崩れていくのだから。
コメント