ACL(アクセス制御リスト) えーしーえる
簡単に言うとこんな感じ!
ACLは「誰に何をOKにして、誰をシャットアウトするか」を書いた”入場許可リスト”だよ!ネットワークの門番(ルーターやスイッチ)がこのリストを見て、通信を通すか・止めるかを判断するんだ。
ACLとは
ACL(Access Control List/アクセス制御リスト) とは、ネットワーク機器やOSが「どの通信・どのユーザーを許可し、どれを拒否するか」をルールとして列挙したリストのことです。ルーターやスイッチに設定し、通過するパケット(データのかたまり)を1件ずつリストと照らし合わせて「通す/止める」を判断します。
ITの世界では大きく2つの場面でACLという言葉が使われます。ひとつはネットワークACL(ルーターやファイアウォールのパケットフィルタリング)、もうひとつはファイルシステムACL(WindowsやLinuxでファイル・フォルダへのアクセス権を細かく設定するもの)です。このエントリでは業務でよく話題になるネットワークACLを中心に解説します。
ACLを正しく設定することは、社内ネットワークを不正アクセスから守るファイアウォール的な役割を果たします。「外部から社内の経理サーバーへの直接アクセスは禁止」「特定のIPアドレスだけ許可」といったルールをACLとして記述することで、ネットワークの安全を保てます。
ACLの構造と仕組み
ACLはルールを上から順番に評価し、最初にマッチしたルールで処理が決まります。一度マッチしたら、それ以降のルールは読みません。
| 項目 | 内容 |
|---|---|
| エントリ(行) | 1つのルール。「送信元IP × 宛先IP × プロトコル × 動作」で構成 |
| 動作(Action) | permit(許可)または deny(拒否)のどちらか |
| 評価順序 | 上のルールから順に照合。最初にマッチしたルールが適用される |
| 暗黙のdeny | どのルールにもマッチしなかったパケットは自動的に拒否(末尾に隠れている) |
ACLの種類:標準 vs 拡張
Cisco製ルーターを例にした代表的な分類です。
| 種類 | 番号の範囲 | チェック対象 | 用途 |
|---|---|---|---|
| 標準ACL | 1〜99 / 1300〜1999 | 送信元IPアドレスのみ | シンプルな送信元制御 |
| 拡張ACL | 100〜199 / 2000〜2699 | 送信元IP・宛先IP・プロトコル・ポート番号 | 細かい通信制御 |
覚え方:「上から読む門番」
ACLのルールは上から読んで最初に当たったルールが絶対です。よく起きるミスが「広い拒否ルールを上に書いてしまい、その下の許可ルールが永遠に読まれない」というもの。「細かいルールを上、大きなルールを下」 と覚えておきましょう。
歴史と背景
- 1980年代後半:インターネットの普及とともに、ルーターで通信を制御する必要性が生まれる。Cisco IOS がACLを実装し、業界標準の設定方法として広まった
- 1990年代:ファイアウォール専用機器が登場するが、ルーターのACLは安価・手軽な一次防衛線として引き続き広く活用される
- 2000年代:ファイルサーバーやWindowsドメイン環境でも「ファイルシステムACL」として概念が応用される。NTFSのアクセス権管理などが代表例
- 2010年代〜現在:クラウド環境(AWS・Azure・GCPなど)でもセキュリティグループやネットワークACLとして概念が継承。クラウド時代にもACLの考え方は健在
ネットワークACLの動作フロー
パケットがルーターに届いてからACLで判定されるまでの流れを図解します。
ネットワークACL vs セキュリティグループ(クラウド)
クラウド環境(AWSなど)では似た概念が複数あります。
| 比較項目 | ネットワークACL(オンプレ) | AWSセキュリティグループ | AWSネットワークACL |
|---|---|---|---|
| 適用対象 | ルーター・L3スイッチ | EC2インスタンス単位 | サブネット単位 |
| ステート | ステートレス(行きと帰りを別々に設定) | ステートフル(戻り通信を自動許可) | ステートレス |
| 評価順序 | 上から順番 | 全ルール評価してOR | 番号順(小さい方優先) |
| デフォルト | 暗黙のdeny | 全拒否 | 全許可 |
関連する規格・RFC
| 規格・RFC番号 | 内容 |
|---|---|
| RFC 2460 | IPv6パケットフィルタリングの基本的な考え方に言及 |
| RFC 3580 | IEEE 802.1X と ACL の連携(VLANへの動的ACL割り当て) |
| RFC 7492 | ネットワークデバイスのアクセス制御に関するガイドライン |
| NIST SP 800-41 | ファイアウォール・パケットフィルタリング(ACL含む)のガイドライン |
関連用語
- ファイアウォール — ACLと同じく通信を許可・拒否するが、より高度な状態管理やアプリ層の検査も行うセキュリティ機器
- パケットフィルタリング — ACLが実現するネットワーク技術の総称。パケット単位で通信を制御する仕組み
- ルーター — ACLを設定する主な機器。ネットワーク間のパケットを転送する
- VPN — ACLと組み合わせて使われることが多い、安全な通信トンネルの技術
- セキュリティグループ — クラウド環境におけるACLに相当するアクセス制御の仕組み
- ゼロトラスト — 「何もかも信用しない」という考え方。ACLはゼロトラスト実現の手段の一つ