ACL(Access Control List)およびファイアウォールルールは、ネットワークにおける通信制御の根幹を担う仕組みです。 「どの通信を許可し、どの通信を拒否するか」を明確に定義することで、ネットワークの安全性と可用性を確保します。
ACLとは?
ACL(アクセス制御リスト)は、通信を通す・遮断するための条件リストです。 ルータやスイッチなどに設定され、特定の条件(IPアドレス・ポート番号・プロトコルなど)に基づいて通信の許可/拒否を行います。
ACLの主な用途
- 特定のIPアドレスからのアクセス制御
- ネットワーク間の通信制御
- 不要なトラフィックの遮断
- ファイアウォールやNAT設定の補助
ACLはシンプルながら、セキュリティの第一防衛線として非常に重要な役割を持ちます。
ACLの種類
| 種類 | 特徴 | 主な用途 |
|---|---|---|
| 標準ACL(Standard ACL) | 送信元IPアドレスのみで制御 | 単純なアクセス制御(例:特定の端末をブロック) |
| 拡張ACL(Extended ACL) | 送信元・宛先IP、プロトコル、ポート番号などを指定可能 | 詳細な通信制御(例:特定のポートのみ許可) |
ACLの基本構文(Cisco IOS例)
# 標準ACL(送信元IPのみ)
access-list 10 permit 192.168.1.0 0.0.0.255
access-list 10 deny any
# 拡張ACL(送信元・宛先・ポートを指定)
access-list 101 permit tcp 192.168.1.0 0.0.0.255 any eq 80
access-list 101 deny ip any any
ACLは上から順に評価され、最初に一致したルールで動作します。 最後には暗黙の「deny any」が存在するため、明示的に許可ルールを定義しなければ通信は遮断されます。
ACLの評価順序と設計原則
ACLでは、ルールの順序が非常に重要です。 最初に一致したルールが適用されるため、誤った順序により意図しない遮断が発生することがあります。
設計原則
- ① 具体的なルールを上に、あいまいなルールを下に
例:特定IPの許可 → 全体の拒否の順に記述。 - ② 必要最小限の許可ルールを定義する
セキュリティ強化のため、基本は「deny all」ベースで考える。 - ③ コメントや番号管理を徹底する
大規模ACLでは可読性を高めることが重要。
ACLの適用方向(インバウンド/アウトバウンド)
| 方向 | 説明 | 適用例 |
|---|---|---|
| Inbound(入力方向) | ルータに入ってくる通信に対して適用 | 外部からのアクセス制御(例:外部→内部通信の制限) |
| Outbound(出力方向) | ルータから出ていく通信に対して適用 | 内部から外部へのアクセス制御(例:内部→外部通信の制御) |
ファイアウォールルールとの違い
ACLはルータなどで使われる基本的なアクセス制御機能ですが、ファイアウォールはACLをさらに拡張・自動化したものです。
| 項目 | ACL | ファイアウォール |
|---|---|---|
| 制御単位 | IP / ポートベース | アプリケーション / セッションベース |
| 状態管理 | なし(ステートレス) | あり(ステートフル) |
| 高度な機能 | 限定的 | IPS, DPI, URLフィルタなどを搭載 |
つまり、ACLは通信制御の「基礎」、ファイアウォールはそれを「高度化・自動化」した存在と言えます。
ファイアウォールルール設計の基本
① ゼロトラスト原則
すべての通信を信頼せず、明示的に許可された通信のみ通過させる。 初期状態は「すべて拒否(deny all)」とし、必要な通信のみ「許可(permit)」する形をとります。
② 通信の方向を明確化
どのゾーン間(内部→外部、DMZ→内部など)の通信を許可するかを明確にします。 ゾーンベースポリシーを設計する際は、図解で整理するとミスを減らせます。
③ ログ出力を活用
拒否ルールの下に「deny log」を設定することで、不審な通信や誤設定の検知が容易になります。
④ 定期的なレビュー
不要になったルールは定期的に削除し、ルールの肥大化や影響範囲の拡大を防ぐことが大切です。
設計例(ACL+ファイアウォールポリシー)
# 内部LANから外部へのHTTP通信のみ許可
access-list 110 permit tcp 192.168.1.0 0.0.0.255 any eq 80
access-list 110 deny ip any any log
# ファイアウォールポリシー例(ゾーンベース)
policy from inside to outside
permit tcp 192.168.1.0/24 any port 80
deny all log
この構成では、内部LANからインターネットへのHTTP通信のみを許可し、他の通信はすべてログ付きで拒否します。
まとめ
- ACLは通信の許可/拒否を定義する基本的な制御リスト。
- ルールは上から順に評価され、最初に一致した条件が適用される。
- ファイアウォールはACLを拡張し、状態管理やアプリ制御を追加した仕組み。
- 設計の基本は「最小権限」「明示的許可」「ログ出力」「定期見直し」。
ACLとファイアウォールはネットワークセキュリティの基礎です。 両者の仕組みと設計原則を理解することで、安全かつ効率的な通信制御を実現できます。
