ACL(Access Control List)の概要
■ ACLとは
許可する通信と拒否する通信を分ける仕組みのことをパケットフィルタリングといいますが、ACL(Access Control List)はパケットフィルタリングを行うためのルールが記載されたリストのことです。ネットワーク機器が特定のパケットを許可するか拒否するかを判断する際の基準として利用されます。
ACL には送信元・宛先 IP アドレス、プロトコル、ポート番号などの条件が記述され、これらに一致したパケットに対して permit(許可)または deny(拒否)の動作が適用されます。
■ ACLの種類と管理方法
CCNAの試験において、ACLの種類は大きく分けて「標準ACL」と「拡張ACL」の2つあります。設定できる項目(ルール)が異なるので、目的に応じて使い分けていきます。
ACL の管理方法は 「番号付きACL」 と 「名前付きACL」 の 2 通りあります。
要は、番号で識別するか名前で識別していくかの見分け方の違いです。
番号付きACLの場合、標準ACLと拡張ACLで使える範囲が決まっています。
つまり、ACLは「何をチェックするか」と「どう識別するか」の2軸で管理されています。
■ 標準ACL(Standard ACL)
- チェック項目
- 送信元IPアドレスのみ
- 番号付きACLの範囲
1~99(IOS 12.0 以降では 1300~1999も可)の値で指定。
■ 拡張ACL(Extended ACL)
- 番号付きACLの範囲
100~199(IOS 12.0 以降では 2000~2699も可)の値で指定。 - チェック項目
- 送信元IPアドレス
- 宛先IPアドレス
- プロトコル番号(IP、TCP、UDP、ICMP など)
- 送信元ポート番号
- 宛先ポート番号
■ ACLのルール
ACLはトップダウン方式(上から順に評価される)になっています。
ACL はリストの 1 行目 → 2 行目 → … の順にチェックします。
そして 一致した瞬間に処理が確定し、それ以降の行は一切見ません。
つまり、順番を間違えると意図しない deny が発生する
「広い条件 → 狭い条件」の順に書くと事故が起きやすい
- 暗黙の deny(すべての通信を拒否する。)
許可されていない通信は通さないというホワイトリスト方式により、意図しない通信が勝手に通るリスクを防ぐ目的で、デフォルトで最後の行には暗黙の deny が設定されています。どの行にも該当しないパケットは拒否されてしまいます。許可しないといけない通信は、明示的に許可の行を記述しなければなりません。
deny ip any any
■ ACL の適用
ACLを作成しただけでは動作しません。機器のどこのインターフェイスに対してそのルールを反映させるかを指定する必要があります。
どのインターフェイスのどの方向(in/out)に適用するか を指定して初めて有効になる。
- ACL の動作までのステップ
- ACL のルールの作成
- 機器のインターフェイスに作成したルールの適用
■ インバンドとアウトバンドについて
-
in(インバウンド)
そのインターフェイスに 入ってくるパケット に対して ACL を適用(外からこのインターフェイスに入ってくる方向) -
out(アウトバウンド)
そのインターフェイスから 出ていくパケット に対して ACL を適用(このインターフェイスから外へ出ていく方向)
標準ACLは宛先に近い方(out)に設定し、拡張ACLは送信元に近い方(in)に設定します。
■ 標準ACL(Standard ACL)
宛先に近い場所(out、出口側)に配置する
- 理由としては
- 標準ACLは 送信元IPしか見ない
- 口側に置くと「どこ行きの通信か分からないまま」広くブロックしてしまい、意図しない通信まで止める事故が起きる
■ 拡張ACL(Extended ACL)
送信元に近い場所(in、入口側)に配置する
- 理由としては
- 拡張ACLは送信元、宛先、プロトコル、ポート番号まで細かく指定できる
- 入口側で早めに不要トラフィックを落とすことで、ネットワーク全体の負荷を減らせる
- 意図した通信だけをピンポイントで制御できる
まとめ
■ 標準 ACL と拡張 ACLの違い
| 項目 | 標準 ACL | 拡張 ACL |
|---|---|---|
| チェック項目 | 送信元IPのみ | 送信元/宛先IP、プロトコル、ポート |
| 制御の細かさ | 粗い | 精密 |
| 番号範囲 | 1~99 / 1300~1999 | 100~199 / 2000~2699 |
| 推奨配置 | 宛先に近い(out) | 送信元に近い(in) |
■ ACL のポイント
- ACL はパケットを許可/拒否するためのルールリスト
- 標準ACLは送信元のみ、拡張ACLは細かい条件を指定可能
- ACL は番号付き、名前付きで管理
- トップダウン方式で評価され、最後に暗黙の deny
- ACL は作成しただけでは動作しない。インターフェイスに in/out で適用して初めて有効
- 標準ACLは宛先に近い方(out)に設定し、拡張ACLは送信元に近い方(in)に設定。