Cisco ルータでは、アクセスリストを使って、Cisco ルータ上を通過するパケットを制御 (許可/拒否) します。この機能は、一般的にパケットフィルタリングと呼ばれており、ネットワークのセキュリティを確保するうえで非常に重要なルータの機能です。
※ 正式にはアクセスコントロールリスト (Access Control List : ACL) ですが、アクセスリストと呼ぶ場合がほとんどですので、ここではアクセスリストと呼びます。
Cisco ルータでは、まずアクセスリストを作り、作ったアクセスリストをインターフェイスに適用するという作業を行います。
1) アクセスリストの作成
2) アクセスリストの適用
アクセスリストは、パケットの通過を許可/拒否するための条件文で、特定のインターフェイスにその条件文を適用することにより、そのインターフェイスに入ってくるパケット、そのインターフェイスから出ていくパケットを制御 (許可/拒否) します。
アクセスリストには、標準アクセスリストと拡張アクセスリストがあり、特にIPに関しては、標準IPアクセスリスト、拡張IPアクセスリストと呼びます。アクセスリストには IPX や AppleTalk など、IP以外のものもありますが、本シナリオではIPに関するアクセスリストのみ取り扱います。
1) 標準IPアクセスリスト
2) 拡張IPアクセスリスト
そして、標準、拡張それぞれに、アクセスリストを番号で管理する番号付きIPアクセスリストと、名前で管理する名前付きIPアクセスリストがあります。
1) 標準IPアクセスリスト
|-番号付き標準IPアクセスリスト
|-名前付き標準IPアクセスリスト
2) 拡張IPアクセスリスト
|-番号付き拡張IPアクセスリスト
|-名前付き拡張IPアクセスリスト
標準IPアクセスリストと拡張IPアクセスリストの違いは下表のとおりです。
|
標準IPアクセスリスト |
拡張IPアクセスリスト |
番号付き |
名前付き |
番号付き |
名前付き |
アクセスリストの識別 |
1~99/1300~1999 |
名前 (英数字の文字列) |
100~199/2000~2699 |
名前 (英数字の文字列) |
判断基準 |
送信元IPアドレス |
○ |
○ |
宛先IPアドレス |
× |
○ |
送信元ポート番号 |
× |
○ |
宛先ポート番号 |
× |
○ |
プロトコル |
× |
○ |
方向 |
in/out |
in/out |
適用場所 |
宛先に近いところ |
送信元に近いところ |
● 番号付きIPアクセスリストのアクセスリスト番号
全ての番号付きIPアクセスリストには、アクセスリスト番号があり、この番号でアクセスリストの種類を判断します。例えば、アクセスリスト番号「1」のアクセスリストは標準IPアクセスリストであるとわかり、アクセスリスト番号「150」のアクセスリストは拡張IPアクセスリストであるとわかります。
また、アクセスリストは複数の条件文 (複数行) で構成することができ、同じアクセスリスト番号を持つ複数の条件文は1つのアクセスリストと判断されます。
以下は1つのアクセスリストです。
access-list 1 permit 192.168.1.10
access-list 1 deny 192.168.1.11
access-list 1 permit any
以下にはアクセスリストが2つあります。
access-list 1 permit 192.168.1.10
access-list 1 deny 192.168.1.11
access-list 5 permit any
アクセスリスト番号は、範囲内の番号であれば何を使ってもかまいません。
小さい番号から順に使わなければいけないというような決まりはありません。
● 名前付きIPアクセスリストの名前
先頭文字が英字の1文字以上の英数字の文字列で、標準IPアクセスリストと拡張IPアクセスリストで同じ名前は使えません。
以下は1つのアクセスリストです。
ip access-list standard name1
permit 192.168.1.10
deny 192.168.1.11
permit any
以下にはアクセスリストが2つあります。
ip access-list standard name1
permit 192.168.1.10
deny 192.168.1.11
ip access-list standard name2
permit any
● 判断基準
パケットの通過を許可するか/拒否するか (拒否したパケットは破棄される) の判断を、
標準IPアクセスリストの場合は、送信元IPアドレスのみを使用し、
拡張IPアクセスリストの場合は、送信元/宛先IPアドレス、送信元/宛先ポート番号、プロトコルを
使用することができます。
標準IPアクセスリストよりも拡張IPアクセスリストの方が多くの条件を判断の対象とできるため柔軟性がありますが、
ルータへの負荷も多くなります。
● 方向
作成したアクセスリストをインターフェイスに適用させる場合、適用方向を指定します。
方向には、内向き (in) と外向き (out) があり、
アクセスリストは1つのインターフェイスに、内向き (in) と外向き (out) それぞれ1つ (同じ番号でくくられた1つのグループ) ずつしか適用させることができません。
内向きに適用した場合、
適用したインターフェイスがパケットを受信した時に、そのパケットを出力インターフェイスにルーティングする前に、受信インターフェイスに適用した内向きアクセスリストでパケットは処理 (ルーティングするか、破棄するか) されます。
外向きに適用した場合、
別のインターフェイスでパケットを受信し、そのパケットを出力インターフェイスにルーティングした後で、実際に出力インターフェイスからそのパケットが出て行く前に、出力インターフェイスに適用した外向きアクセスリストでパケットは処理 (出力するか、破棄するか) されます。
● 適用場所
標準IPアクセスリストは、送信元IPアドレスしか指定できませんので、できるだけ宛先に近いところに設定します。
例えば、図のようなネットワークで、PC-A から PC-D へのアクセスを禁止するような標準IPアクセスリストを設定したい場合、
「送信元IPアドレスが PC-A のIPアドレスであれば破棄する」というアクセスリストになります。
これを
A で設定すると、送信元IPアドレスが PC-A のIPアドレスのパケットは全て
A で破棄されますので、PC-A から PC-B や PC-C 宛のパケットも破棄され、これらの PC へのアクセスもできなくなります。
B もしくは
C で設定すると、PC-B 宛のパケットは届きますが、PC-C 宛のパケットは届きません。従って、
D で設定しなくてはいけません。
拡張IPアクセスリストは、送信元IPアドレス、宛先IPアドレス、プロトコル、ポート番号を指定できます。なるべく不要なパケットは通さないようにした方がいいので、拡張IPアクセスリストは送信元に近いところに設定します。
例えば、上図のネットワークで、PC-A から PC-D へのアクセスを禁止するような拡張IPアクセスリストを設定したい場合、「送信元IPアドレスが PC-A のIPアドレスで、かつ、宛先IPアドレスが PC-D のIPアドレスであれば破棄する」というアクセスリストになります。
このアクセスリストは、送信元IPアドレスと宛先IPアドレスの両方が指定されているので、
ABCD のどこでも設定でき、PC-A から PC-D へのアクセスのみ禁止することができます。しかし、
A で設定するとここでフィルタリングされますので、
BCD は通らずに済み不要なトラフィックが減ります。従って、
A で設定するのがベストです。
IPアクセスリストには、標準IPアクセスリスト、拡張IPアクセスリスト以外にも次のものがありますが、このラボ・シナリオではやりません。
1) 再帰 ACL (リフレクシブ ACL)
2) ダイナミック ACL (ロックアンドキー ACL)
3) 時間ベース ACL