セグメントやポート番号などをobjectとして作成し、
それをACLの対象として割り当てる方式だ。
もちろんACLに直接IPを記載しても良いのではあるが、
ASAのACLの性質上とても見づらくなる可能性もあり、
最近はあまり見かけなくなってきた。
objectは慣れないと理解しづらい部分もある。
特にポート番号部分のobjectに少々癖があるのでメモしておきたい。
port-object
こちらは一般的なFW製品にあるようなobjectを作成して、
グループでまとめてといった方法とは異なり、
直でobject-groupに記載していく形になる。
作成方法は以下になる。
元々object-groupなのでそのまま複数記載可能。
object-group service TCP-HTTP tcp
port-object eq 80
port-object eq 8080
ACLへの適用は以下になる。
access-list TEST extended permit tcp any any object-group TCP-HTTP
通常のACLと同様にpermit/denyの後にprotocolを指定して、
「eq xxx」の位置と同じ箇所でobjectを指定する形になる。
適用に関しては違和感はあまりないので取っ付き易いかなと思う。
service-object
こちらは一般的なFW製品にあるように個別のobjectを作成して、
必要に応じてグループでまとめていく方式になる。
作成に関してはあまり違和感なく入れると思う。
作成方法は以下になる。
■個別に作成
object service TCP-80
service tcp destination eq 80
object service TCP-8080
service tcp destination eq 8080
■必要に応じてグループ化
object-group service TCP-HTTP
service-object object TCP-80
service-object object TCP-8080
個別に作成しているため、グループ化の際にTCPやUDPを混ぜることができる。
ACLへの適用は以下になる。
access-list TEST extended permit object TCP-HTTP any anyこのパターンでは通常のACLでprotocolを指定する箇所にobjectを適用する。
少々違和感があるが、そういうものだと覚えるしかない。
ちなみに、port-objectなのにprotocol部分へ適用しようとするとエラーになる。
逆に、service-objectなのにポート番号部分へ適用しようとしてもエラーになる。
ASAはConfigの書き方によって適用すべき箇所をちゃんと把握しているようだ。
個人的にはobjectの考え方は合わせたいのでservice-objectをよく使っているが、
人によって様々ではあるので、やりやすい方法で良いと思う。
以上。

Cisco ASA 5506-X Network Security Firewall Appliance