barra de menu

martes, 16 de julio de 2019

Capítulo 3: Authentication and Access Control

La seguridad a nivel de puertos de acceso es una preocupación que muchas veces se deja de lado. Una vez conectado un dispositivo a un puerto de un switch, este podrá ejecutar muchos tipos de ataque.

Existen algunas herramientas que podemos usar para autenticar los equipos que se conectan a los puertos de los switches.

RADIUS

Es un modelo cliente-servidor para administrar una base de datos con usuarios. Nos ofrece el famoso AAA (autenticación, autorización y contabilidad) del entorno de la red.

Cuando un usuario intentar acceder a la red, el Radius verifica que el usuario está en la base de datos, que tiene permiso a los recursos que solicita y además lleva un registro de las actividades.


Es el switch EX el que pide el acceso al Radius Server.




El flujo del tráfico lo podemos definir en 5 pasos:

  1. El usuario hace una conexión inicial a la red
  2. El EX crea y envía una paquete de petición de acceso, que incluye un usuario/contraseña
  3. El RADIUS consulta en su base de datos de usuario
  4. El RADIUS devuelve el paquete al EX diciendo si se le debe dar acceso o no
  5. El EX acepta la conexión del usuario
Esta es la manera de que Radius autentique el acesso a un usuario a un dispositivo de red. Podemos hacer que lo haga para toda la red


802.1X

Es un estándar IEEE para el control de acceso y autenticación. Puede trabajar conjuntamente con otras funciones de seguridad como Port Security, DHCP Snooping, Dynamic ARP Inspection (DAI), mac limiting...

Se basa en EAP (Extensible Authentication Protocol). EAP en realidad provee de un método para negogiar el mecanismo de autenticación usado entre cliente y servidor. Una vez autenticados se les puede asociar con un determinado perfil y vlan.

3 componentes básicos de 802.1X:
  • Supplicant (PC): el dispositivo que quiere acceder (Pc, Ip Phone, Printer, etc)
  • Authenticator (EX): dispositivo que detiene el acceso y pregunta al server
  • Authentication Server (RADIUS): el servidor que autentica.



Los supplicants necesitan de un pequeño software de cliente. Windows lo trae por defecto.




Cuando el supplicant ya no necesita más acceso, se lo notifica al authenticator y este corta el acceso hasta la siguiente petición.

Las peticiones del supplicant al authenticator son a través del protocolo EAPOL (EAP over LAN). El authenticator extrae y reenvía al server la finormación de identidad. El autenticator no evalua la petición,solo la reenvía.


Modos del Supplicant

La manera de acceder de los dispositivos viene determinada por la configuración del puerto de acceso del switch EX. Los modos pueden ser:
  • Single: autentica solo al primer supplicant. Las peticiones posteriores de otros supplicants por ese puerto son permitidas sin volver a pedir autenticación. Es la configuración por defecto en los EX. Es lo que se recomienda cuando PC y Ip Phone usan el mismo puerto y uno de ellos no soporta 802.1X
  • Single-Secure: permita solo un supplicant conectado al puerto. No se permite otro supplicant hasta que no se desconecte el anterior.
  • Multiple: permite múltiples supplicant conectarse al puerto. Cada supplicant es autenticado individualmente.

Por defecto, los switches EX fuerzan la renovación de la autenticación de los supplicants cada 3600 segundos (1 hora) Se puede configurar este tiempo entre 1 y 65535 segundos o directamente deshabilitarla.

Nos podemos encontrar con 2 típicos escenarios:
  • El supplicant no soporta o no tiene habilitado 802.1X y el EX sí lo tiene habilitado. El EX nunca dejará pasar tráfico.
  • El supplicant tiene habiliado 802.1X y el EX no. El supplicant mandará mensajes EAP y cuando llegue al tiempo máximo sin ser autenticado, se dará por autenticado y empezará a mandar tráfico normal. En este caso podremos usar la "guest vlan" o "static MAC bypass".


Asignación Dinámica de Vlan y Filtros

En el proceso de autenticación podemos hacer que se le asigne al supplicant una determinada vlan. Para ello hay que configurar el servidor RADIUS para que devuelva esta información. También debe estar configurada esta vlan en el puerto del switch EX por donde se conecta el supplicant.

Los filtros también se pueden mandar. Es simplemente texto (VSA - Vendor Specific Attribute) que envía el RADIUS al authenticator. Se basa en la RFC 2138. Juniper Networks usa el Vendor ID 2636

VSA solo se soporta con el modo Single y el modo Multiple.



Guest Vlan

Se suele utilizar para dar acceso a internet a los invitados o los dispositivos que fallan la autenticación.

Cuando la autenticación falla, el switch EX recibe un mensaje de rechazo del acceso para el dispositivo final, el supplicant, y mira si tiene configurada la "guest vlan".  Si la tiene, mueve a ese dispositivo a la "guest vlan", que es local.

El mensaje de rechazo de acceso que viene del RADIUS puede traer la información de una vlan para asignarle. Entonces configuraría esta vlan y no la guest vlan local.

Podemos usar la guest vlan para dar acceso a internet a un dispositvo que no tiene el software de 802.1X instalado. Este dispositivo se conectaría a internet, se bajaría el software y podría autenticarse.


Fallo del Authentication Server


Si el RADIUS falla o deja de responder por cualquier causa, podemos especificar 4 opciones en el switch EX:
  • Permit: permitimos tráfico si el dispositivo estuvo autenticado por el RADIUS
  • Deny: no deja acceder a los dispositivos (por defecto)
  • Move: asocia los dispositivos a la Vlan especificada
  • Sustain: mantiene autenticados los dispositivos que tienen ya acceso y deniega a los que no.


Static MAC Bypass

Podemos crear una lista de direcciones MAC para permitir a equipos que no se autentican en el RADIUS.

Cuando configuramos "static mac bypass", la dirección mac del supplicant se chequea en la base de datos del switch local y le da acceso. No se pide más autenticación. Si no está en la base de datos local, si está configurado el 802.1X, el switch intentará el proceso de autenticación con el server y permitirá o no, o le dará acceso con la "vlan guest" si está configurada.

Se puede vincular la dirección mac con un puerto específico. Esto solo se puede hacer en el modo multiple.


Ejemplo:

Topología

Para configurar en el switch 802.1X, lo hacemos en 2 partes:


                        ------------------------------------------------------------


root@EX> show configuration
access {
     radius-server {
             server-address {
                       port port;

                       secret RADIUS-secret;
                       source-address source-address;
                         }

             }
     profile profile-name {
             authentication-order radius;

                       radius {
                       authentication-server server-address;
                         }

             }

}


                         ---------------------------------------------------------


root@EX> show configuration
protocols {
       dot1x {
             authenticator {
                       authentication-profile-name
profile-name;

                       static {
                              mac-address {
                                     vlan-assignment (vlan-name | vid];
                                     interface interface-name;
                              }
                       }
                      interface {
                             interface-name  {
                                       disable;
                                       supplicant (single | single-secure | multiple);
                                       reauthentication seconds;
                                       no-reauthentication; 
                                       guest-vlan (vlan-name | vid); 
                                       server-fail (deny | permit | use-cache | vlan); 
                      }
                }

          }
    }
}



La parte de static es para el "Static MAC Bypass"

En la parte de interface aplicamos configuración al puerto. Ahí le ponemos la guest vlan y el server fail fallback (cuando falla el radius).

 
                        --------------------------------------------------------------------

Comandos para comprobar.
  • show dot1x interface
  • show dot1x static-mac-address
  • show dot1x authentication-failed-users

MAC RADIUS

Usa una base de datos centralizada para autenticar a dispositivos que no tienen 802.1X habilitado.

Se puede configurar junto con 802.1X en el mismo puerto. Si sabes que en un puerto solo entran dispositivos que no tienen 802.1X, podemos usar el atributo "mac-radius restrict" para ahorrarnos los hasta 90 segundos que puede tardar el proceso de 802.1X. Los paquetes 802.1X son descartados directamente, por lo que si tenemos un dispositivo que si tiene habilitado 802.1X nunca será autenticado.

Todas las demás características del Radius siguen funcionando.


Para configurarlo:



root@EX> show configuration
protocols {
       dot1x {
             authenticator {
                       authentication-profile-name
profile-name;
                        interface {
                             ge-0/0/1.0  {
                                       mac-radius;
                             ge-0/0/2.0  {                                       
                                       mac-radius {
                                                 restrict;
                      }
                }

          }
    }
}


Portal Cautivo

Es un mecanismo de control de acceso que hace que los usuarios se tengan que autenticar con usuario/contraseña en un portal con formato web.

Podemos hacerlo de 2 maneras:

  • El proceso se hace en el switch EX excepto la autenticación que la hace el RADIUS.
  • Junos Pulse Access Control:  producto de Juniper para autenticar


Este proceso conlleva que el usuario, antes de ser autorizado, necesita una dirección ip, una puerta de enlace y dns para poder abrir el portal web. El puerto del switch EX se encarga de dejar pasar este tráfico cuando el usuario todavía no está autenticado.

El Portal Cautivo también tiene la posibilidad de configurar una "white list" para dispositivos que no tienen la capacidad de abrir HTTP como impresoras o teléfonos. Es similar al "static mac bypass".


Solo se puede configurar en interfaces de capa 2 y no permite la asignación dinámica de vlan  a través de un radius. Soporta fallback para 802.1X

Por defecto usa el modo single para el supplicant. Si usamos whitelist tenemos que configurar modo multiple.

Por defecto corta el acceso a los 3 intentos y deja 60 segundos para volver a probar.

Las sesiones son mantenidas 1 hora. Después se tiene que re-autenticar.



Para configurar un Portal cautivo en un EX:

Generamos un certificado desde el propio switch:

  • set system services web-management https system-generated-certificate


O lo cargamos manualmente en 2 pasos. El primero es generar la clave pareja criptográfica (cryptographic key pair). Y el segundo es generar el certificado, incluyendo ID, DN, IP, dominio y email del certificador.

  • request security pki generate-key-pair size 1024 type rsa certificate-id X
  • request security pki local-certificate generate-self-signed certificate-id X domain name xxx.com email xx@xxx.com ip-address X.X.X.X subject "CN=SDFSAFD, CN=system generated, CN=self-signed"
  • set system services web-management https pki-local-certificate X


    root@EX> show configuration
    services {
         captive-portal {
                
    authentication-profile-name profile-name;
                 interface {

                           ge-0/0/0.0 {
                           supplicant multiple;
                             }

                 } 
                    secure-authentication https;
                             }
                 }

    }



    Una "authentication whitelist"


    root@EX> show configuration
    ethernet-switching-options {
            authentication-whitelist {
                 00:23:65:f2:a:67/48 {

                           interface ge-0/0/0.0;
                             }

                 }
    }



    Para monitorizar:
    • show captive-portal interface
    • show captive-portal authentication-failed-users



    Flujo del proceso de autenticación






    No hay comentarios:

    Publicar un comentario