目次
概要
CatalystスイッチのRACL/VACL/PACLのパケットフィルタリングについて、設定と確認コマンドを解説します。通信を特定して、特定した通信に対する動作の設定とフィルタを適用する設定を明確にしておきましょう。
設定の流れ
RACL/VACL/PACLを利用したパケットフィルタリングの設定の基本的な流れは以下のようになります。ルータでのパケットフィルタリングと同様の流れです。
- フィルタ対象となる通信を特定する条件と特定した通信に対する動作を決める
- フィルタを適用する
RACL/VACL/PACLの設定コマンド
通信を特定して動作を決定する
パケットフィルタリングを行うには、どのような通信であるかを特定して、特定した通信に対する動作を決めます。RACL/VACL/PACLで利用する通信を特定して動作を決めるための設定方法は、以下です。
- IP ACL(標準/拡張)
- VLAN access-map
- MAC ACL
IP ACL(標準/拡張)
IP ACLには、通信を特定するために設定できる条件によって標準ACLと拡張ACLがあります。標準ACLの設定は、グローバルコンフィグレーションモードで次のコマンドを入力します。
IP ACL(標準)
(config)#access-list <ACL-number> {permit|deny} <source-address> [<wildcard>] [log]
<ACL-number> : アクセスコントロールリスト番号 1~99または1300~1999
<source-address> : 送信元IPアドレス
<wildcard> : ワイルドカードマスク
log : アクセスコントロールリストの条件に一致したときにログを生成
拡張ACLの設定は、グローバルコンフィグレーションモードで次のコマンドを入力します。
IP ACL(拡張)
(config)#access-list <ACL-number> {permit|deny} <protocol> <source-address> <wildcard> [<source-port>] <dest-address> <wildcard> [<dest-port>] [log]
<ACL-number> : アクセスコントロールリスト番号 100~199または2000~2699
<protocol> : プロトコル
<source-address> : 送信元IPアドレス
<wildcard> : ワイルドカードマスク
<source-port> : 送信元ポート番号
<dest-address> : 宛先IPアドレス
<wildcard> : ワイルドカードマスク
<dest-port> : 宛先ポート番号
log : アクセスコントロールリストの条件に一致したときにログを生成
標準ACLでは、細かく通信を識別できません。そのため、パケットフィルタリングを行うときにはほとんど拡張ACLを利用することになるでしょう。
関連記事
IP ACLのコマンドについてのさらに詳細は、以下の記事をご覧ください。
名前付きACLの設定でもOKです。名前付きACLについて、以下の記事もあわせてご覧ください。
VLAN access-map
VACLでパケットフィルタリング対象の通信を特定して、動作を決めるためにはVLAN access-mapを作成します。グローバルコンフィグレーションモードで次のコマンドを入力します。
VLAN access-map
(config)#vlan access-map <map-tag> [<seq>]
(config-access-map)#match <condition>
(config-access-map)#action <action>
<map-tag> : VLAN access-map名
<seq> : シーケンス番号
<condition> : 通信を特定するための条件
<action> : 特定した通信に対する動作
VLAN access-mapはルートマップによく似たコマンドフォーマットです。上記の3行分が1つの処理を表します。
match <condition>として、結局はIP ACLやMAC ACLを参照します。IP ACLを参照するときには、match条件は以下のように設定します。
match <condition> IP ACL
(config-access-map)#match ip address {<IP-ACL-num>|<IP-ACL-name>}
<IP-ACL-num>|<IP-ACL-name> : 参照するIP ACL番号またはIP ACL名
MAC ACLを参照するには、match条件は以下のように設定します。
match <condition> MAC ACL
(config-access-map)#match mac address <MAC-ACL-name>
<MAC-ACL-name> : 参照するMAC ACL名
match <condition>の設定を省略すると「すべて」です。
また、特定した通信に対する動作のaction <action>で設定できる内容は以下の通りです。
set <actoin>の例
SW1-IOU(config-access-map)#action ? drop Drop packets forward Forward packets
dropは破棄で、forwardは転送するという言葉通りの動作です。プラットフォームによって、さらに別のアクションも設定できます。
以上のようなmatch <condition>とaction <action>を必要なだけ設定します。デフォルトで10ごとに<seq>が振られます。<seq>が小さい順から処理して、最後に暗黙のdeny(drop)があります。
MAC ACL
MAC ACLはイーサネットヘッダをチェックして、フィルタする通信を特定して動作を決定します。グローバルコンフィグレーションモードで次のコマンドを入力します。
MAC ACL
(config)#mac access-list extended <MAC-ACL-name>
(config-ext-macl)#{permit | deny} <source-mac-address> <wildcard> <dest-mac-address> <wildcard>
<MAC-ACL-name> : MAC ACL名
<source-mac-address> : 送信元MACアドレス
<dest-mac-address> : 宛先MACアドレス
<wildcard> : ワイルドカードマスク
MAC ACLは非IP通信のみが対象です。MAC ACLでは、IP通信をフィルタできないので注意してください。ただ、ARPは非IPの通信です。MAC ACLでARPのアドレス解決をブロックすることで、結果としてIP通信をブロックできます。
フィルタを適用する
RACL
RACLのパケットフィルタリングを行うには、SVIまたはルーテッドポートのレイヤ3インタフェースにIP ACLを適用します。インタフェースコンフィグレーションモードで次のコマンドを入力します。
フィルタ適用 RACL
(config)#interface <interface-name>
(config-if)#ip access-group {<IP-ACL-number>|<IP-ACL-name>} {in|out}
<interface-name> : インタフェース名(レイヤ3)
<IP-ACL-number> : IP ACL番号
<IP-ACL-name> : IP ACL名
VACL
VACLのパケットフィルタリングを行うには、VLANにVLAN access-mapを適用します。グローバルコンフィグレーションモードで次のコマンドを入力します。
フィルタ適用 VACL
(config)#vlan filter <vlan-access-map-tag> vlan-list <vlan-list>
<vlan-access-map-tag> : VLAN access-map名
<vlan-list> : 適用するVLANのリスト
VLAN access-mapを複数のVLANに一括で適用することもできます。その場合は、「,(カンマ)」または「-(ハイフン)」で複数のVLANを指定してください。
PACL
PACLのパケットフィルタリングを行うには、スイッチポートにIP ACLまたはMAC ACLを適用します。IP ACLを適用するコマンドは以下です。
フィルタ適用 PACL(IP ACL)
(config)#interface <interface-name>
(config-if)#ip access-group {<IP-ACL-number>|<IP-ACL-name>} in
<interface-name> : インタフェース名(スイッチポート)
<IP-ACL-number> : IP ACL番号
<IP-ACL-name> : IP ACL名
MAC ACLを適用するコマンドは以下です。
フィルタ適用 PACL(MAC ACL)
(config)#interface <interface-name>
(config-if)#ip access-group <MAC-ACL-name> in
<interface-name> : インタフェース名(スイッチポート)
<MAC-ACL-name> : MAC ACL名
RACL/VACL/PACLの確認コマンド
コマンド | 概要 |
---|---|
#show access-lists | IP ACL、MAC ACLを表示します。 |
#show vlan access-map | VLAN access-mapを表示します。 |
#show ip interface | インタフェースに適用されているIP ACLを表示します。 |
#show vlan filter | VLANに適用されているVLAN access-mapを表示します。 |
#show mac access-group | インタフェースに適用されているMAC ACLを表示します。 |
まとめ
ポイント
- RACL/VACL/PACLによるパケットフィルタリングの基本的な流れは以下の通りです。
- フィルタ対象となる通信を特定する条件と特定した通信に対する動作を決める
- フィルタを適用する
- RACLのパケットフィルタリングは、レイヤ3インタフェースにIP ACLを適用します。
- VACLのパケットフィルタリングは、VLANにVLAN access-mapを適用します。
- PACLのパケットフィルタリングは、スイッチポートにIP ACLまたはMAC ACLを適用します。
セキュリティの基礎
- 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)の概要
- 電子メールのセキュリティ