Paramétrer les listes de contrôles d’accès dans un firewall ASA avec de nombreux serveurs ou de nombreux services devient rapidement fastidieux et même cause d’erreurs, surtout si ces éléments doivent être réutilisés à de nombreuses reprises dans des listes différentes.
Pour configurer une ACL dans un firewall ASA, il est possible de définir des groupes d’objets pour différentes catégories :
- icmp-type pour regrouper des types de messages ICMP.
- protocol pour lister des protocoles tels que TCP, UDP, ICMP, IP…
- network pour regrouper des adresses de réseaux ou d’hôtes.
- Service pour rassembler des ports TCP ou UDP.
Un autre avantage réside dans les facilités de mise à jour que l’IOS nous fournit. En effet, si nous souhaitons modifier l’adresse d’un serveur, ajouter des droits d’accès analogues à un serveur nouveau ou non encore présent dans le groupe, il suffit de faire des modifications dans le groupe auquel il appartient et cela sera immédiatement pris en compte dans les ACLs faisant référence à ce groupe. Notez bien qu’il en est de même pour les autres types d’objets énumérés ci-dessus.
Observez l’ACL suivante, elle devient très vite repetitive et fastidieuse :
ciscoasa(config)# access-list INSIDE permit tcp any host 172.16.1.1 eq http
ciscoasa(config)# access-list INSIDE permit tcp any host 172.16.1.1 eq https
ciscoasa(config)# access-list INSIDE permit tcp any host 172.16.1.1 eq ftp
ciscoasa(config)# access-list INSIDE permit tcp any host 172.16.2.1 eq http
ciscoasa(config)# access-list INSIDE permit tcp any host 172.16.2.1 eq https
ciscoasa(config)# access-list INSIDE permit tcp any host 172.16.2.1 eq ftp
ciscoasa(config)# access-list INSIDE permit tcp any host 172.16.3.1 eq http
ciscoasa(config)# access-list INSIDE permit tcp any host 172.16.3.1 eq https
ciscoasa(config)# access-list INSIDE permit tcp any host 172.16.3.1 eq ftp
Configuration d’une ACL avec des groups d’objets:
L’objectif dans cet exemple est d’autoriser le trafic http, HTTPS et FTP des réseaux 10.1.1.0/24 et 192.168.1.0/24 vers les deux serveurs 172.16.1.1 et 172.16.2.1.
Definition d’un ensemble de services:
object-group service SERVICES tcp
port-object eq http
port-object eq https
port-object eq ftp
Definition d’un ensemble de réseaux:
object-group network INSIDE
network-object 10.1.1.0 255.255.255.0
network-object 192.168.1.0 255.255.255.0
Definition d’un ensemble de serveurs:
object-group network SERVER
network-object host 172.16.1.1
network-object host 172.16.2.1
access-list INSIDE extended permit tcp object-group INSIDE object-group SERVER object-group SERVICES
Enfin il ne reste plus qu’à appliquer notre ACL sur l’interface appropriée :
Access-group INSIDE in interface inside
Si nous souhaitons ajouter un troisième serveur dont l’adresse IP est 172.16.3.1 pour les mêmes droits d’accès, il suffit d’apporter la modification au niveau du groupe d’objets dénommés SERVER sans se soucier de l’ACL puisque celle-ci prendra immédiatement en compte la modification.
object-group network SERVER
network-object host 172.16.3.1
Il est possible dans un groupe de faire appel à d’autres groupes du même type, ce qui permet d’avoir une hiérarchie des groupes, en d’autres termes on peut faire une imbrication de groupes comme le montre l’exemple ci-dessous :
object-group network WEB-SERVER
network-object host 172.16.1.1
network-object host 172.16.2.1
object-group network FTP-SERVER
network-object host 192.168.1.1
network-object host 192.168.2.1
object-group network ALL-SERVER
group-object WEB-SERVER
group-object FTP-SERVER