ACLのdenyログにポート番号を表示させる

CiscoのACLでlogオプションを使用するとSyslogに出力することができる。
このログ出力は、ACLの指定の仕方で一部内容が変わってくるので注意が必要。

例えば、下記のようなACLエントリがある場合。

 access-list 101 permit ip host 192.168.1.1 host 192.168.2.1
access-list 101 deny ip any any log


これでdenyログに引っ掛けてみるとこのようなログが出力される。

 %SEC-6-IPACCESSLOGP: list 101 denied tcp 192.168.1.1(0) -> 192.168.3.1(0)


denyされていることは分かるが、ポート番号がすべて0となっており、
なんの通信が来たのかが判断できない。

ポート番号まで表示させたい場合は、ACLにL4のエントリを1行以上追加してあげると
SRCポート、DSTポートともに表示されるようになる。

例えば1行目にTCPでポート番号まで指定したエントリを追加する。

 access-list 101 permit tcp host 192.168.1.1 host 192.168.2.1 eq ssh
access-list 101 permit ip host 192.168.1.1 host 192.168.2.1
access-list 101 deny ip any any log


すると、ログ出力にはこのような変化が出てくる。

 %SEC-6-IPACCESSLOGP: list 101 denied tcp 192.168.1.1(12345) -> 192.168.3.1(80)


IPアドレスに続き、ポート番号まで表示されるようになる。
これなら送信元からどのような通信が来ているのか判断しやすい。

これはすべての行に入れる必要はなく、そのACL内で1行でもL4エントリがあれば良い。

システムのポリシーとして、ACLではIPレベルの制御しか行わないとなっていても、
1行くらいポート番号指定のエントリを入れておいたほうが、運用はしやすくなると思う。



初心者のためのCiscoルータ運用ガイド
最速でCiscoルータを理解するための解説書


人気記事