ACL(アクセス制御リスト)とは

えーしーえる

Access Control Listの略。対象ごとに、どのような条件のアクセスを許可し、どれを拒否するかを並べた規則の一覧。ネットワーク機器では、送信元と宛先のアドレス、プロトコル、ポート番号などを条件に、パケットを通すか捨てるかを決め、上から順に調べて最初に一致した規則で判定する。どれにも一致しないものは拒否する(暗黙の拒否)のが一般的。ファイルシステムで、利用者ごとの権限を並べたものもACLと呼ぶ。

「ACL(アクセス制御リスト)」は、1分野の1問の練習問題に出てきます(ネットワークの設計と運用など)。

この用語の分野: ネットワークの設計と運用

上から順に、最初の一致で決まる

ネットワーク機器のACLは、パケットを規則の上から順に照らし合わせ、最初に一致した規則の「許可」か「拒否」で扱いを決め、それより後の規則は見ません。そのため規則の順番が重要で、特定のサーバだけ許可するといった狭い条件の例外を、広い条件の規則より上に書く必要があります。末尾には、書かれていない「すべて拒否」の規則があるとみなされ(暗黙の拒否)、許可の規則に当てはまらない通信はすべて捨てられます。

適用する場所と向き

ACLは、ルータやスイッチのインターフェースに、入ってくるパケットと出ていくパケットのどちらに適用するかを決めて設定します。送信元・宛先・ポート番号まで細かく指定するACLは送信元の近くに置くと、不要な通信を早く捨てられ、途中のリンクを無駄に使いません。送信元だけを条件にするACLは、送信元の近くに置くとほかの宛先への通信まで止めてしまうので、宛先の近くに置くのが基本です。ACLはパケットを1つずつ見るだけなので、内側から始めた通信の戻りだけを通したい場合は、通信の状態を覚えるステートフルなファイアウォールの機能を使います。

ファイルシステムのACL

ACLという言葉は、ファイルやフォルダのアクセス権でも使われます。Linuxの基本のパーミッションは、所有者・グループ・その他の3種類の権限しか表せませんが、ACLを使うと、特定の利用者やグループごとに読み書きの権限を追加できます。WindowsのNTFSでも、ファイルごとのACLで細かい権限を決めます。対象は違いますが、「誰(何)に何を許すかの一覧」という考え方は共通です。

ACL(アクセス制御リスト)の練習問題に挑戦

ルータのインターフェースに、入ってくるパケットを上から順に調べるACLを設定した。規則1は「宛先 10.0.0.10 のTCP 443番ポートへの通信を許可」、規則2は「送信元が 192.168.1.0/24 の通信をすべて拒否」、規則3は「送信元が 192.168.0.0/16 で、宛先がTCP 80番ポートの通信を許可」で、ほかに規則はない。ア「192.168.1.5 から 10.0.0.10 のTCP 443番ポートへ」、イ「192.168.1.5 から 10.0.0.20 のTCP 80番ポートへ」、ウ「192.168.2.5 から 10.0.0.20 のTCP 80番ポートへ」、エ「192.168.2.5 から 10.0.0.20 のTCP 22番ポートへ」の4つのパケットのうち、通過できるものをすべて挙げたものはどれか。

  1. Aアとウ
  2. Bア、イ、ウ
  3. Cア、ウ、エ
答えと解説を見る

正解:A. アとウ

ACLは上から順に規則と照らし合わせ、最初に一致した規則で許可か拒否かを決め、それより後の規則は見ません。どの規則にも一致しないパケットは、末尾にある見えない「すべて拒否」の規則(暗黙の拒否)で捨てられます。アは規則1に一致して許可されます。イは規則3にも当てはまりますが、先に規則2(送信元 192.168.1.0/24)に一致するので拒否されます。ウは規則1と2に一致せず規則3で許可され、エはどの規則にも一致しないので、暗黙の拒否で捨てられます。

よくある質問

ACLの最後に「すべて拒否」を書く必要はありますか?

多くの機器では末尾に暗黙の拒否があるので、書かなくても、許可されなかった通信は捨てられます。ただし、拒否した通信を記録したい場合などには、「すべて拒否」の規則を明示的に書いて、ログを取る設定にすることがあります。逆に、拒否の規則だけを書いたACLを適用すると、暗黙の拒否ですべての通信が止まるので注意が必要です。

ACLとファイアウォールの違いは何ですか?

ACLは、規則に従ってパケットを1つずつ許可・拒否するしくみで、ルータやスイッチの基本の機能として使われます。ファイアウォールは、ACLのような規則に加えて、通信の状態を覚えて戻りの通信を自動で通すステートフルインスペクションや、アプリケーションの識別などの機能をもつ専用の機器やソフトウェアです。

解説の中の「ACL(アクセス制御リスト)」

「ACL(アクセス制御リスト)」が出てくる問題(1問)

  1. ルータのインターフェースに、入ってくるパケットを上から順に調べるACLを設定した。規則1は「宛先 10.0.0.10 のTCP 443番ポートへの通信を許可」、規則2は「送信元が 192.168.1.0/24 の通信をすべて拒否」、規則3は「送信元が 192.168.0.0/16 で、宛先がTCP 80番ポートの通信を許可」で、ほかに規則はない。ア「192.168.1.5 から 10.0.0.10 のTCP 443番ポートへ」、イ「192.168.1.5 から 10.0.0.20 のTCP 80番ポートへ」、ウ「192.168.2.5 から 10.0.0.20 のTCP 80番ポートへ」、エ「192.168.2.5 から 10.0.0.20 のTCP 22番ポートへ」の4つのパケットのうち、通過できるものをすべて挙げたものはどれか。

ネットワークの設計と運用の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

関連する用語

ルータ パケット TCP アドミニストレーティブディスタンス SNMP OSPF QoS 経路MTU探索 経路集約 スパニングツリープロトコル(STP)

用語集の一覧へ