再帰ACL

CiscoのACLで面白い機能を見つけたので、メモ。


CCIEの範疇っぽい内容だけど。



IOS11.3以降でサポートされている機能として、再帰ACLと書かれてるんだけど、どうも単なるダイナミックフィルターっぽい。

再帰 ACL は、Cisco IOS ソフトウェア リリース 11.3 で導入されました。 再帰 ACL では、上位層セッションの情報に基づいて IP パケットをフィルタリングできます。 一般に再帰 ACL は、ルータ内部から開始されたセッションに対して、発信トラフィックを許可し着信トラフィックを制限するために使用されます。

再帰 ACL は、拡張名前付き IP ACL でのみ定義できます。 番号付きまたは標準名前付き IP ACL、またはその他のプロトコル ACL では定義できません。 再帰 ACL は、他の標準 ACL やスタティックな拡張 ACL と組み合せて使用できます。


次に、さまざまな再帰 ACL コマンドの構文を示します。

interface
ip access-group {number|name} {in|out}

ip access-list extended name
permit protocol any any reflect name [timeoutseconds]
ip access-list extended name
evaluate name
次に、ICMP については発信および着信トラフィックを許可し、TCP トラフィックについては内部から開始された場合だけ許可して他のトラフィックは拒否する例を示します。

ip reflexive-list timeout 120


interface Ethernet0/1
ip address 172.16.1.2 255.255.255.0
ip access-group inboundfilters in
ip access-group outboundfilters out

ip access-list extended inboundfilters
permit icmp 172.16.1.0 0.0.0.255 10.1.1.0 0.0.0.255
evaluate tcptraffic


!--- 次のコマンドにより、tcptraffic という名前の、outboundfilters ACL
!--- の再帰 ACL 部分を inboundfilters ACL に結び付けます。


ip access-list extended outboundfilters
permit icmp 10.1.1.0 0.0.0.255 172.16.1.0 0.0.0.255

permit tcp 10.1.1.0 0.0.0.255 172.16.1.0 0.0.0.255 reflect tcptraffic



NAT/NAPTと(他社で言うところの)ダイナミックフィルターが使えるって事は簡易的にファイアウォール的な制御も可能って事じゃない?と思ったんだけど・・・。

実際のところ、実験してみないとどれだけ細かく制御できるのとかは判らないし、CEFとかが効くのかも不明だし、どれだけ実用的に使えるかは不明なんですが。
今度、暇ができたらISRとか3750辺りの評価機でも使って実験してみようっと。

なんかあったとき、逃げとして位なら使えるかも知れないし。


ちなみに、本当の意味でのステートフルな制御はコンテキストベース アクセス制御とか言われててFirewallフィーチャセットが必要っぽい。(Firewallフィーチャセットを買って使うくらいの要件ならPIX/ASA使った方が・・・とも、最近ちょっと思う)


以下、ちょっと愚痴。

上記のCBAC、再帰ACL、普通のACLの違いって、話してもなかなか理解してもらえない部分ですよね。ファイアウォールとACLの違いって何?みたいな聞き方をされたときに、もっと判りやすく説明できる方法があればいいんだけどねぇ。(どうしても技術的な話になっちゃうし、くどくなっちゃうから・・・)