LoginSignup
4
9

More than 5 years have passed since last update.

ACLとかあれこれ

Posted at

ACLとは

アクセスコントロールリスト。
通信アクセスを制限するためのリストのこと。フィルタリング。
ACLを定義することで、ルータを通過するパケットに対して、通信を許可するパケットと、通信を拒否するパケットのルールを決めることができる。

ファイアウォールとは何が違うの?
→応答パケットへを許可するかどうかがちがう。

  1. ファイアウォールの場合
    クライアント →(リクエスト)→ ファイアウォール(許可)     →(リクエスト)→ サーバ        ←(レスポンス)← ファイアウォール(無条件に許可) ←(レスポンス)←

※リクエストがルール上許可された通信の場合、応答パケットはルールに明記されていなくても許可する

  1. ACLの場合
    クライアント →(リクエスト)→ ファイアウォール(許可)     →(リクエスト)→ サーバ                 ファイアウォール(拒否)    ←(レスポンス)←
    ※リクエストがルール上許可された通信の場合でも、応答パケットはルールに明記されていない場合は拒否する

ACLの処理順序

例えば以下のようなACLがあるとする。

1行目 送信元アドレス192.168.0.1 拒否
2行目 送信元アドレス192.168.0.0/24 許可
3行目 暗黙のdeny any

ACLの処理は、上から順に行われる。ここがポイント。
例えば 
192.168.0.1 の送信元アドレスからパケットを受信した場合、1行目のルールに合致するため「拒否」となる。
2行目のルールにも合致するが、ルールに1つ合致した時点で以降のルールはチェックされないため、適用されない。
つまり、限定的な条件ほど、始めのほうに記述すること。
順番を間違えると、思っている通りの動きにならないため注意!

暗黙のdeny

上のACLの3行目にある、「暗黙のdeny any」の記述について。

ACLの最終行には「暗黙のdeny」と呼ばれる、全てのパケットを拒否するルールが追加される。
これはリストには表示されていないが、自動的に追加されるので注意する。

このため、ACLには最低1行は許可するルールが記述されていない場合は、全パケットが拒否されることになる。

ACLの種類

一般に使用されるACLとして、以下の2つがある(Cisco製品)。

1.標準ACL

送信元IPアドレスをもとにフィルタリングを行う。

image.png

上の図では、R1に設定すると、送信元のIPアドレスしか見れないため20.1.1.1への通信もできなくなってしまう。
通常、標準ACLは宛先に近いところで設定することが望ましい。  

2.拡張ACL

送信元IPアドレス、宛先IPアドレス、プロトコル番号、送信元ポート番号、宛先ポート番号。。などでフィルタリングできる。標準ACLよりも柔軟に制御可能であるため、こちらのほうがよく使われている。

image.png
上の図では、拡張ACLは宛先のIPアドレスが見れるので、R1でもR2でもどちらに設定しても条件は満たせる。
しかしR2に設定した場合、その分無駄なトラフィックが生じることになるので、R1で設定するほうが良い。

通常、標準ACLは送信元に近いところで設定することが望ましい。

参考

ACL - Check Rule

4
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
9