STAGE 05 / ポートセキュリティとACL

ポートセキュリティ

考えてみよう

前回学んだCAMテーブル溢れ攻撃は、「1つのポートに、本来つながるはずのない大量のMACアドレスが送られてくる」ことが原因でした。もし「このポートには、決まった台数の機器しかつなげない」と制限できたら、この攻撃は防げるでしょうか?

ポートごとに「接続してよいMACアドレスの数や種類」を制限する、という発想で考えてみてください。

ポートに「利用者名簿」を貼る

前回のCAMテーブル溢れ攻撃、ARPスプーフィングを踏まえて、今回は最も基本的で実践的な対策、ポートセキュリティを扱います。ポートセキュリティは、会議室のドアに「利用者名簿」を貼っておくようなものです。名簿にない人が入ろうとしたら、あるいは定員を超えて人が入ろうとしたら、アラームを鳴らすなり入室を拒否するなり、決めておいたルールで対応します。

switchport port-securityの基本設定

ポートセキュリティは、アクセスポート(スイッチの利用者端末が接続する物理ポート)単位で設定します。

Switch(config)# interface FastEthernet0/1
Switch(config-if)# switchport mode access
Switch(config-if)# switchport port-security
Switch(config-if)# switchport port-security maximum 2
Switch(config-if)# switchport port-security mac-address sticky
Switch(config-if)# switchport port-security violation shutdown

violationの3モード

許可されていないMACアドレスからのフレームを受け取った場合(違反)にどう動作するかは、3つのモードから選べます。

モード通信への影響ポートの状態ログ・カウンタ
protect違反フレームを破棄有効のまま記録なし
restrict違反フレームを破棄有効のまま記録あり(違反カウンタが増加)
shutdown違反フレームを破棄err-disabled状態になる記録あり、SNMPトラップも送信

shutdown はデフォルトのモードで、最も厳格です。違反が起きるとポート自体が err-disabled という無効化状態になり、通信が完全に止まります。運用上は何が起きたか記録が残るため、restrictshutdown がよく使われます。

err-disabledからの復旧

violation shutdown の設定で違反が発生すると、ポートは自動的に err-disabled になり、shutdown 状態と表示されます。これは自然には復旧しないため、管理者が手動で復旧させる必要があります。

Switch(config)# interface FastEthernet0/1
Switch(config-if)# shutdown
Switch(config-if)# no shutdown

shutdownno shutdown を順に実行し、インターフェースを一度落としてから再度上げることで、err-disabled状態から復旧します。なお、errdisable recovery コマンドを使うと、一定時間後に自動で復旧させる設定も可能です。

状態の確認

設定と現在の状態は show port-security 系のコマンドで確認します。

Switch# show port-security interface FastEthernet0/1

このコマンドで、そのポートの最大アドレス数、現在の登録数、violationモード、ポートの状態(Secure-up / Secure-shutdownなど)を確認できます。

確認問題

switchport port-security violation shutdown を設定したポートで違反が発生すると、ポートはどうなるでしょうか?

答えを見る

ポートはerr-disabled状態になり、通信が完全に停止します。自然には復旧しないため、shutdownno shutdown を実行するか、errdisable recovery を設定して手動または自動で復旧させる必要があります。

試験でのポイント

CCNA試験では、violationの3モード(protect / restrict / shutdown)の違い——特に「ポートがerr-disabledになるのはshutdownのみ」「ログが記録されるのはrestrictとshutdown」という組み合わせが頻出です。表にして整理しておくと迷いません。また、stickyキーワードが「学習したMACアドレスを設定に自動保存する」機能であることも定番です。CAMテーブル溢れ攻撃への直接的な対策がポートセキュリティである、という前回の内容とのつながりも意識しておきましょう。err-disabledからの復旧手順(shutdown→no shutdown)も、実技問題を想定して覚えておくと安心です。

確認問題

ポートセキュリティのviolationモードのうち、違反フレームを破棄しつつポートは有効なまま維持し、違反の記録(カウンタ)も残すのはどのモードでしょうか?

答えを見る

restrictモードです。protectは記録を残さず、shutdownはポートをerr-disabled状態にしてしまいますが、restrictは通信を止めつつポートを稼働させたまま違反を記録します。

ゆみちゃん
ゆみ

switchport port-security、maximum、sticky、violationの3モード(protect/restrict/shutdown)、err-disabledからの復旧——スイッチのポート単位で不正な接続を防ぐ実践的な設定だよ。名簿にない人は入れない、というシンプルな発想が支えているんだよね。次の章からはACL、通信そのものを許可・拒否するルールを学んでいくよ。