ACL(アクセスコントロールリスト)とは何か?ネットワークのアクセス制限を中心に解説

2022年7月5日

ACLとは

ACLはファイルやネットワークなど、何らかの対象へのアクセス制限をまとめたリストのことで、IT分野で広く使われる言葉です。ACLは、Access Control Listの略で、日本語ではアクセス制御リストと訳されます。正式名称はアクセスコントロールリストですが「アクセスリスト」や「アクル」と呼ばれることもあります。

ネットワークの分野では、機器を通過するパケットについて、許可または拒否のルールをまとめたものを指します。ここでは、ネットワーク分野におけるACLの種類と、Cisco機器でACLを設定する方法を紹介します。

ACLの設定

Cisco機器でACLを使用する場合、以下の2つの設定が必要です。

  • ACLの作成
  • ACLの適用

制御ルールをまとめたACLを作成し、作成したACLをインターフェースに適用します。
ACLの作成で注意すべきは、「暗黙のdeny」というルールです。暗黙のdenyによって、ACLの最終行には自動的にすべてを拒否するルールが追加されます。そのため、ひとつも許可するACLがない場合、すべてのパケットが拒否されてしまいます。

ACLの種類と設定

Cisco機器では、標準ACL、名前付きACL、拡張ACLの3種類があります。
それぞれの設定方法を説明します。

標準ACL

標準ACLは、送信元IPをもとに、パケットの通過を制御するACLです。送信元IPアドレスのみのルールのため、設定はシンプルです。
標準ACLのACL番号は1~99、または1300~1999 で設定します。
コマンドと設定例は以下のとおりです。

コマンド

access-list [ACL番号] [permit | deny][送信元IP][ワイルドカードマスク]

※ワイルドカードマスクを指定しない場合0.0.0.0が適用されます。

ACLの作成

access-list 50 deny 192.168.1.1 0.0.0.0
access-list 50 permit 192.168.1.0 0.0.0.255

インターフェースへの適用

interface GigabitEthernet 0/1
 ip access-group 50 in

この設定で、GigabitEthernet 0/1に入ってくる通信に対して、192.168.1.1/32の通信は拒否され、それ以外の192.168.1.0/24の通信は許可されます。また、暗黙のdenyによって、それ以外の通信も拒否されます。

名前付きACL

名前付きACLは、標準ACLと同様に、送信IPをもとにパケットの通過を制御するACLです。標準ACLと異なるのは、ACL番号の代わりにACLに名前をつけることができる点です。
コマンドと設定例は以下のとおりです。

コマンド

ip access-list standard [ACLの名前]
  [ permit | deny ] [送信元IP][ワイルドカードマスク]

ACLの作成

ip access-list standard Management
 deny 192.168.1.1 0.0.0.0
 permit 192.168.1.0 0.0.0.255

インターフェースへの適用

interface GigabitEthernet 0/1
 ip access-group Management in

設定の内容は、標準ACLと同じです。制御の用途によって名前をつけることで、管理がしやすくなるメリットがあります。

拡張ACL

拡張ACLは送信元IPアドレスに加えて、宛先IPアドレス、プロトコル番号、送信元ポート番号、宛先ポート番号を組み合わせてパケットの通過を制御できます。
標準ACLや名前付きACLと比較して、柔軟で細かい設定ができるのが拡張ACLの特徴です。
ACL番号は100~199、または2000~2699を使用します。
コマンドと設定例は以下のとおりです。

コマンド

access-list number [permit | deny][プロトコル]
[送信元IP][ワイルドカード][送信元ポート番号][宛先IP][ワイルドカード][宛先ポート番号]

ACLの作成

access-list 150 deny tcp 192.168.1.0 0.0.0.255 10.1.1.0 0.0.0.255 eq 80
access-list 150 permit ip 192.168.0.0 0.0.255.255 10.1.1.0 0.0.0.255

インターフェースへの適用

interface GigabitEthernet 0/1
 ip access-group 150 in

この設定で、GigabitEthernet 0/1に入ってくる通信に対して、制御ルールが適用され、192.168.1.0/24から10.1.1.0/24へのTCP80(http)の通信は拒否されます。一方で、192.168.1.0/24以外の192.168.0.0/16は10.1.1.0/24に対してどのプロトコルでも通信が許可されます。

このように、通信プロトコルでの制御も可能なため、インターネットから入ってくるパケットのうち、HTTPアクセスのみ許可して、それ以外のパケットは通さないなどの設定も可能です。

参考