Foro en Español

Reply
Highlighted
Moderator
Posts: 946
Registered: ‎07-29-2010

[Tutorial] Acceso basado en roles con AOS-SW

[ Edited ]

 

Aquí va un tutorial más sobre otra funcionalidad orientada a hacernos la vida más sencilla, en este caso a la hora de desplegar proyectos de AAA cableada. 

 

Descripción:

De igual forma a como lo veníamos haciendo desde hace mucho tiempo en las redes inalámbricas, los switches Aruba permiten configurar control de acceso basado en roles. Con esta funcionalidad se simplifica la securización de los puertos cableados a la vez que se hace más sencilla y automatizada.

 

El objetivo será cargar la misma configuración en todos los puertos de red y dejar que nuestro servidor RADIUS se encargue de colocar a cada dispositivo en el role que le corresponde.

 

Configuración del switch:

Para este acceso basado en roles configuraremos los switches para que todos sus puertos lancen autenticaciones 802.1X/MAC simultáneas contra nuestro servidor AAA corporativo. Si el switch ve que recibe respuesta a la autenticación 802.1X descartará la autenticación MAC por considerarse de mernor prioridad.

!
aaa authorization user-role enable
aaa authentication captive-portal enable
aaa authentication port-access eap-radius
aaa port-access authenticator C1-C20
aaa port-access authenticator C1-C20 client-limit 2
aaa port-access authenticator active
aaa port-access mac-based C1-C20
aaa port-access mac-based C1-C20 addr-limit 2
!

 

Además de esto, definiremos los roles y las políticas de acceso que queramos aplicar.

 

Primero definiremos las políticas de acceso:

 

class ipv4 "CPPM"
     10 match tcp any host 172.16.0.10 established
     20 match tcp any host 172.16.0.10
   exit
class ipv4 "MGMT"
     10 match tcp any 172.16.0.0 255.255.0.0
     20 match tcp any 172.16.0.0 255.255.0.0 established
   exit
class ipv4 "DNS-DHCP"
     10 match udp any any eq 53
     20 match udp any any eq 67
   exit
class ipv4 "HTTP-HTTPS"
     10 match tcp any any eq 80
     20 match tcp any any eq 443
     30 match tcp any any eq 80 established
     40 match tcp any any eq 443 established
   exit
class ipv4 "IP-ANY-ANY"
     10 match ip any any
   exit
class ipv4 "LOCAL-SUBNETS"
     10 match ip any 10.0.0.0 0.255.255.255
     20 match ip any 172.16.0.0 0.15.255.255
     30 match ip any 192.16.0.0 0.0.255.255
   exit
policy user "BYOD-REDIRECT"
     5 class ipv4 "DNS-DHCP" action permit
     10 class ipv4 "CPPM" action permit
     15 class ipv4 "DUO-MFA" action permit
     20 class ipv4 "HTTP-HTTPS" action redirect captive-portal
   exit
policy user "DENY-MGMT"
     5 class ipv4 "DNS-DHCP" action permit
     10 class ipv4 "MGMT" action deny
     20 class ipv4 "IP-ANY-ANY" action permit
   exit
policy user "GUEST-USER"
     10 class ipv4 "DNS-DHCP" action permit
     20 class ipv4 "LOCAL-SUBNETS" action deny
     30 class ipv4 "IP-ANY-ANY" action permit
   exit
policy user "NETWORK-DEVICE"
     30 class ipv4 "IP-ANY-ANY" action permit
   exit
policy user "PERMIT-ANY"
     10 class ipv4 "IP-ANY-ANY" action permit
   exit


 

Como podéis ver he usado el comando "established" en algunas de las ACL. Esto lo hago para que el switch permita automáticamente las conexiones TCP ya establecidas, así no tengo que preocuparme del tráfico de vuelta.

 

Con las políticas de acceso ya definidas, paso a configurar los roles:

 

aaa authorization user-role name "IT"
   policy "PERMIT-ANY"
   reauth-period 86400
   vlan-id 21
   exit
aaa authorization user-role name "VoIP"
   reauth-period 86400
   vlan-id 21
   exit
aaa authorization user-role name "Guest"
   policy "GUEST-USER"
   reauth-period 1800
   vlan-id 11
   exit
aaa authorization user-role name "Employee"
   policy "DENY-MGMT"
   reauth-period 86400
   exit
aaa authorization user-role name "IoT-device"
   policy "GUEST-USER"
   vlan-id 21
   exit
aaa authorization user-role name "BYOD-REDIRECT"
   captive-portal-profile "use-radius-vsa"
   policy "BYOD-REDIRECT"
   reauth-period 1800
   vlan-id 11
   exit
aaa authorization user-role name "NETWORK-DEVICE"
   policy "NETWORK-DEVICE"
   vlan-id 1
   exit

 

Como podéis ver, a cada role le asigno distintas VLANs, ACLs, intervalos de reautenticación... Un detalle curioso es que puedo tener un role genérico de redirección a un portal y pasar la URL mediante una VSA (HPE-Captive-Portal-URL, ID=24). 

 

Configuración del servidor AAA:

Para colocar a cada dispositivo en el rol que le corresponda lo haremos desde nuestro servidor de AAA. Se puede usar cualquier servidor que tenga cargada la VSA (aunque en el portal de soporte siempre podréis encontrar la última versión, adjunto la que he usado para las pruebas). Como no podría ser de otra forma, para mis pruebas he usado un ClearPass :)

 

Cómo hacer la configuración de ClearPass va en gustos, pero yo suelo preferir "marcar" los distintos usuarios/dispositivos con un rol en ClearPass (no confundir con el role del switch): 

RoleMapping.png

 

...y luego aplicar políticas de enforcement en base a esos roles:

RoleEnforcement.png

 

La política de enforcement de este ejemplo es algo más compleja de lo estríctamente necesario. Pero lo importante es que os quedéis con el detalle de que para cada autenticación envío un role hacia el switch:

Screen Shot 2017-04-10 at 11.54.25.png

 

Resultado esperado:

 Al recibir el role correspondiente desde ClearPass el switch pondrá al dispositivo en cuestión en el role correspondiente. Esto incluirá todos los detalles de VLANs, ACLs, etc. Para verificar esto el comando que más me gusta es el de "show port-access clients" y su derivada "show port-access clients detailed".

 

Aquí va un ejemplo de un dispositivo que ha sido redirigido a un portal de invitados:

Access-SW-2# sh port-access clients c15 detailed
 
 
Port Access Client Status Detail
 
  Client Base Details :
   Port            : C15                   Authentication Type : 802.1x
   Client Status   : connecting            Session Time        : 0 seconds
   Client name     :                       Session Timeout     : 0 seconds
   MAC Address     : 38c986-529fd3
   IP              : 10.0.11.238
 
  Client Base Details :
   Port            : C15                   Authentication Type : mac-based
   Client Status   : authenticated         Session Time        : 32 seconds
   Client Name     : 38c986529fd3          Session Timeout     : 1800 seconds
   MAC Address     : 38c986-529fd3
   IP              : 10.0.11.238
 
User Role Information
 
   Name                              : BYOD-REDIRECT
   Type                              : local
   Reauthentication Period (seconds) : 1800
   Untagged VLAN                     : 11
   Tagged VLANs                      :
   Captive Portal Profile            : use-radius-vsa
     URL                             : http://172.16.0.10/guest/wired-landing.php
   Policy                            : BYOD-REDIRECT
 
 
Statements for policy "BYOD-REDIRECT"
policy user "BYOD-REDIRECT"
     5 class ipv4 "DNS-DHCP" action permit
     10 class ipv4 "CPPM" action permit
     15 class ipv4 "DUO-MFA" action permit
     20 class ipv4 "HTTP-HTTPS" action redirect captive-portal
   exit
 
 
 
Statements for class IPv4 "DNS-DHCP"
class ipv4 "DNS-DHCP"
     10 match udp 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 eq 53
     20 match udp 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 eq 67
     30 match udp 0.0.0.0 255.255.255.255 eq 53 0.0.0.0 255.255.255.255
     40 match udp 0.0.0.0 255.255.255.255 eq 67 0.0.0.0 255.255.255.255
   exit
 
Statements for class IPv4 "CPPM"
class ipv4 "CPPM"
     10 match tcp 0.0.0.0 255.255.255.255 172.16.0.10 0.0.0.0 established
     20 match tcp 0.0.0.0 255.255.255.255 172.16.0.10 0.0.0.0
   exit
 
Statements for class IPv4 "DUO-MFA"
class ipv4 "DUO-MFA"
     10 match tcp 0.0.0.0 255.255.255.255 52.19.127.193 0.0.0.0
     20 match tcp 0.0.0.0 255.255.255.255 52.19.127.193 0.0.0.0 established
   exit
 
Statements for class IPv4 "HTTP-HTTPS"
class ipv4 "HTTP-HTTPS"
     10 match tcp 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 eq 80
     20 match tcp 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 eq 443
     30 match tcp 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 eq 80 established
     40 match tcp 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 eq 443 established
   exit 

 

Otra posibilidad para verificar esto mismo es hacerlo a través del interfaz web del propio switch. Ahí podemos ir a "Security > Clients" y ver el detalle de los clientes conectados:

IT_Role.png

 

Y esto es todo. ¿Qué os parece? Animaos a aplicar control de acceso basado en roles en vuestros proyectos. No hay mejor manera de automatizar la gestión de vuestros switches de acceso (y de securizar, por supuesto).

 

Un abrazo!!! 

 

 

Samuel Pérez
ACMP, ACCP, ACDX#100

---

If I answerd your question, please click on "Accept as Solution".
If you find this post useful, give me kudos for it ;)
Search Airheads
Showing results for 
Search instead for 
Did you mean: