Guías
Collapse MFA para RADIUS

RADIUS: implementación de la autenticación de dos factores en toda la red

La solución Protectimus RADIUS 2FA permite habilitar la autenticación de dos factores en cualquier software o equipo compatible con el protocolo de autenticación RADIUS.

El conector Protectimus RADIUS Server funciona como un servidor RADIUS. Transfiere las solicitudes de autenticación desde el dispositivo RADIUS al servidor de autenticación multifactor (MFA) de Protectimus y devuelve la respuesta que permite o deniega el acceso.

Esquema de integración de Protectimus 2FA mediante RADIUS

Añada autenticación de dos factores (2FA/MFA) para proteger su VPN, su red Wi-Fi y cualquier otro software o dispositivo compatible con RADIUS. Para ello, realice la integración con el Servicio MFA en la nube o la Plataforma MFA on-premise mediante el protocolo de autenticación RADIUS.

La lista de software y dispositivos que pueden integrarse con Protectimus mediante el protocolo de autenticación RADIUS incluye, entre otros, los siguientes:


El software Protectimus RADIUS 2FA es fácil de configurar. No obstante, si tiene alguna pregunta, nuestro equipo siempre está dispuesto a ayudarle a implementar la autenticación de dos factores (2FA) mediante RADIUS, incluso en las infraestructuras más complejas. Póngase en contacto con nuestro equipo de soporte.

Para integrar la solución Protectimus 2FA con un dispositivo o software compatible con RADIUS, debe instalar y configurar Protectimus RADIUS Server y, a continuación, configurar las políticas de autenticación en el dispositivo o la aplicación que desea proteger con Protectimus 2FA:

  1. Debe permitir que la solicitud de autenticación se transmita mediante el protocolo RADIUS a Protectimus RADIUS Server;
  2. El componente Protectimus RADIUS Server recibe y procesa la solicitud de autenticación;
  3. A continuación, Protectimus RADIUS Server se comunica con el servidor de autenticación de Protectimus para verificar la contraseña de un solo uso introducida por el usuario.

1. Instalar Protectimus RADIUS Server para habilitar RADIUS 2FA

1.1. Cómo instalar Protectimus RADIUS Server mediante una imagen de Docker


  1. Para comenzar a instalar Protectimus RADIUS Server, descargue e instale primero Docker y Docker Compose:


  1. A continuación, clone el repositorio de Git: https://github.com/protectimus/platform-linux.git

  1. Vaya al directorio platform-linux/radius y ejecute:

docker-compose up -d
  1. Puede supervisar el proceso de despliegue de Protectimus RADIUS Server mediante el comando:

docker-compose logs -f
  1. Una vez finalizado el proceso de despliegue, Protectimus RADIUS Server estará disponible en: https://localhost:8443

1.2. Cómo instalar Protectimus RADIUS Server en Windows


  1. Descargue el instalador en la página Platform.
  2. Ejecute el instalador como administrador.
  3. Marque la casilla Radius correspondiente.
    ¡ATENCIÓN!
    Si tiene previsto utilizar la Plataforma MFA on-premise, mantenga marcada la casilla Platform.
    Si tiene previsto utilizar el Servicio MFA en la nube, desmarque la casilla Platform.

Si tiene previsto utilizar
Plataforma MFA on-premise

Si tiene previsto utilizar
Servicio MFA en la nube

Cómo instalar Protectimus RADIUS Server y Protectimus Platform Cómo instalar Protectimus RADIUS Server si va a utilizar el Servicio MFA en la nube

  1. Java (JDK 7 o posterior) debe estar instalado en el equipo. Si no lo está, se instalará automáticamente. Haga clic en Install.

Cómo instalar Protectimus RADIUS Server: instalar Java
  1. Una vez instalado Java, haga clic en Next.

Cómo instalar Protectimus RADIUS Server: actualizar Java y hacer clic en Next
  1. Elija la carpeta en la que se instalarán los componentes de Protectimus y haga clic en Install.

Cómo instalar Protectimus RADIUS Server: seleccionar la carpeta
  1. Cuando finalice la instalación, verá este mensaje.

Cómo instalar Protectimus RADIUS Server: la instalación se ha completado correctamente

2. Registrarse y configurar los ajustes básicos


Elija la opción de despliegue y complete la configuración básica:

Servicio MFA en la nube


  1. Registrarse en el Servicio MFA en la nube y activar la API.
  2. Añadir un recurso.
  3. Añadir usuarios.
  4. Añadir tokens manualmente o activar el portal de autoservicio para usuarios.
  5. Asignar tokens a los usuarios.
  6. Asignar usuarios y tokens al recurso.

Plataforma MFA on-premise


  1. Instalar la Plataforma MFA on-premise.
  2. Añadir un recurso.
  3. Añadir usuarios.
  4. Añadir tokens manualmente o activar el portal de autoservicio para usuarios.
  5. Asignar tokens a los usuarios.
  6. Asignar tokens y usuarios al recurso.

3. Configurar Protectimus RADIUS Server


Los ajustes de Protectimus RADIUS Server pueden configurarse especificándolos en el archivo radius.yml, que debe encontrarse en el mismo directorio que el ejecutable.

Entre las propiedades disponibles que debe añadir al archivo radius.yml se incluyen las siguientes:

3.1. Configuración del proceso de autenticación


auth:
    providers:
        - LDAP
        - PROTECTIMUS_OTP
    re-enter-otp: true
    principal-normalization: true
    bypass-otp:
        ldap-filter: (memberOf=cn=bypass-otp,ou=groups,dc=test,dc=com)
        usernames:
              - john
              - luci
    inline-mode:
        enabled: false
           separator: ''
           attributes:
             NAS-Identifier:
               - home-nas
               - work-nas

NOMBRE DE LA PROPIEDAD DESCRIPCIÓN DE LA PROPIEDAD
providers:
Puede ser:
  • LDAP
  • AD
  • PROTECTIMUS_PASSWORD
  • PROTECTIMUS_OTP
  • RADIUS_PROXY
  • PROTECTIMUS_PUSH
  • LDAP: la autenticación con el proveedor LDAP realiza una operación de enlace LDAP para validar las credenciales del usuario. Busca el DN del usuario mediante el filtro especificado y, a continuación, intenta realizar el enlace con la contraseña proporcionada para comprobar que las credenciales sean válidas.
  • AD: la autenticación con el proveedor AD realiza una operación de enlace LDAP mediante userPrincipalName. El nombre de usuario completo tiene un formato similar al de una dirección de correo electrónico (por ejemplo, user@example.com), donde la parte @example.com se obtiene de un archivo de configuración.
  • PROTECTIMUS_PASSWORD: el primer factor se verificará mediante la contraseña del usuario creada en Protectimus Service/Platform.
  • PROTECTIMUS_OTP: el segundo factor se verificará mediante Protectimus Service/Platform utilizando una OTP.
  • RADIUS_PROXY: la instalación actual se utilizará como servidor proxy únicamente para el primer factor; las solicitudes del segundo factor no se redirigirán (por eso, si necesita 2FA, también debe especificar el proveedor PROTECTIMUS_OTP en la configuración actual).
re-enter-otp:
Cuando re-enter-otp está habilitado, no se vuelve a solicitar la contraseña después de una verificación de OTP fallida.
principal-normalization:
Cuando normalization está habilitado, se elimina del nombre de usuario toda la información del dominio, de modo que "username", "DOMAIN\username" y "username@domain.com" se convierten en un único "username".
bypass-otp:
Cuando bypass-otp está habilitado, no se solicita OTP para los usuarios especificados.
inline-mode:
El modo inline permite utilizar 2FA cuando Access-Challenge no es compatible.

El modo inline puede activarse mediante ‘enabled: true’ o utilizando los atributos de la solicitud que coincidan.

En este caso, la contraseña debe tener el formato siguiente: 'password,otp', si se utiliza el separador: ‘,’.

3.2. Ajustes RADIUS


radius:
  secret: secret
  clients:
    - name: vpn-client
      secret: secret
      ips:
        - 10.0.0.0/24
  auth-port: 1812
  listen-address: 0.0.0.0
  dictionaries:
    - file:<some_path>/<some_name>.dat
  attributes:
    copy-state: true
    defaults:
      Service-Type: NAS-Prompt-User
    for-users:
      john:
        Service-Type: Login-User
    ldap:
      memberOf:
        '[cn=admins,ou=groups,dc=test,dc=com]':
          Service-Type: Administrative
      uid:
        john_wick:
          Class: Pro
    conditional:
      '[ldapUser.attributes["uid"] == "john"]':
        Service-Type:
          - Login-User
      '[request.getAttributeValue("User-Name") == "john"]':
        Class:
          - RDP_HeadOffice_GP
  ip-attributes:
    - NAS-IP-Address
    - NAS-IPv6-Address

NOMBRE DE LA PROPIEDAD DESCRIPCIÓN DE LA PROPIEDAD
secret:
El secreto que utilizará su servidor RADIUS.
clients:
Clientes con secretos específicos (los clientes se identifican mediante su dirección IP).
Cada cliente DEBE tener un nombre único.
auth-port:
El puerto donde se ejecutará el servidor RADIUS.
listen-address:
La dirección IP en la que escucha el servidor.
dictionaries:
Extensión de la lista de atributos para RADIUS. Encontrará un ejemplo de la extensión del diccionario en la sección Ejemplo de diccionario.
attributes:
Atributos que se devolverán en la respuesta cuando la autenticación se complete correctamente.
copy-state:
Copia cada atributo devuelto en la respuesta.
defaults:
Atributos para todos los usuarios.
for-users:
Atributos para usuarios específicos.
ldap:
Atributos para un usuario concreto o un grupo de usuarios de LDAP.
conditional:
Cuando la condición está habilitada, permite especificar un script que compruebe la condición en la que se devolverá el atributo.
ip-attributes:
Atributos que devolverán la dirección IP de la solicitud entrante mediante el atributo especificado.

3.3. Ajustes de la API de PROTECTIMUS (configuración de la conexión con el servicio PROTECTIMUS)


Configuración del proveedor de autenticación PROTECTIMUS_PASSWORD/PROTECTIMUS_OTP.

protectimus-api:
    login:
    api-key:
    url: https://api.protectimus.com/
    resource-id:

NOMBRE DE LA PROPIEDAD DESCRIPCIÓN DE LA PROPIEDAD
login:
Su nombre de usuario en el sistema PROTECTIMUS.
api-key:
Su clave de API en el sistema PROTECTIMUS.
url:
Si utiliza el servicio en la nube de PROTECTIMUS, especifique la siguiente URL de la API: https://api.protectimus.com/

Si utiliza la Plataforma MFA on-premise, la URL de la API será similar a la siguiente: protectimus.api.url=http://127.0.0.1:8080/
resource-id:
ID del recurso que creó en el sistema PROTECTIMUS.

3.4. Ajustes de LDAP


Configuración del proveedor de autenticación LDAP.

ldap:
  base: dc=test,dc=com
  urls:
    - ldap://127.0.0.1:389
  username: admin@test.com
  password: secret
  principal-attribute: userPrincipalName
  custom-filter: (memberof=cn=managers,ou=groups,dc=test,dc=com)

NOMBRE DE LA PROPIEDAD DESCRIPCIÓN DE LA PROPIEDAD
base:
El DN de LDAP del grupo o de la unidad organizativa que contiene a todos los usuarios a los que desea permitir iniciar sesión.
urls:
El nombre de host o la dirección IP de su controlador de dominio.
principal-attribute:
Se utiliza para la autenticación LDAP por atributo definido.

Si desea autenticar al usuario mediante "sAMAccountName" en lugar de "userPrincipalName", especifique los atributos "query-attribute" y "principal-attribute" según corresponda.
custom-filter:
Se utiliza para restringir qué usuarios pueden autenticarse.

3.5. Configuración del proveedor de autenticación RADIUS_PROXY


Configuración del proveedor de autenticación RADIUS_PROXY.

proxy:
  secret: secret
  auth-port: 1812
  remote-address: 192.168.1.1

NOMBRE DE LA PROPIEDAD DESCRIPCIÓN DE LA PROPIEDAD
secret:
El secreto que utilizará su servidor RADIUS_PROXY.
auth-port:
El puerto donde se ejecutará el servidor RADIUS.
remote-address:
Dirección IP del servidor PROXY_RADIUS.

3.6. Configuración del proveedor de autenticación AD


Configuración del proveedor de autenticación AD.

ad:
  urls:
    - ldap://127.0.0.1:389
  domain: test.com

3.7. Ejemplo de archivo radius.yml


radius:
  secret: secret
  clients:
    - name: vpn-client
      secret: secret
      ips:
        - 10.0.0.0/24
  auth-port: 1812
  listen-address: 0.0.0.0
  dictionaries:
    - file:/.dat
  attributes:
    copy-state: true
    defaults:
      Service-Type: NAS-Prompt-User
    for-users:
      john:
        Service-Type: Login-User
    ldap:
      memberOf:
        '[cn=admins,ou=groups,dc=test,dc=com]':
          Service-Type: Administrative
      uid:
        john_wick:
          Class: Pro
    conditional:
      '[ldapUser.attributes["uid"] == "john"]':
        Service-Type:
          - Login-User
      '[request.getAttributeValue("User-Name") == "john"]':
        Class:
          - RDP_HeadOffice_GP
  ip-attributes:
    - NAS-IP-Address
    - NAS-IPv6-Address

auth:
  providers:
    - LDAP
    - AD
    - PROTECTIMUS_PASSWORD
    - PROTECTIMUS_OTP
    - RADIUS_PROXY
  bypass-otp:
    ldap-filter: (memberOf=cn=bypass-otp,ou=groups,dc=test,dc=com)
    usernames:
      - john
      - luci
    ips:
      - 10.0.0.0/24
      - 1::/64
  re-enter-otp: true
  principal-normalization: true
  inline-mode:
    enabled: false
    separator: ''

ldap:
  base: dc=test,dc=com
  urls:
    - ldap://127.0.0.1:389
  username:
  password:
  principal-attribute: userPrincipalName
  custom-filter: (memberof=cn=managers,ou=groups,dc=test,dc=com)

ad:
  urls:
    - ldap://127.0.0.1:389
  domain: test.com

protectimus-api:
  login: test@protectimus.com
  api-key: secret
  url: https://api.protectimus.com/
  resource-id: 1

proxy:
  secret: secret
  auth-port: 1812
  remote-address: 192.168.1.1

3.8. Ejemplo de diccionario


VENDOR      12356   fortinet

VENDORATTR  12356   Fortinet-Group-Name         1   string
VENDORATTR  12356   Fortinet-Access-Profile     6   string

Ahora debe configurar el dispositivo o la aplicación para que se comunique con el servicio Protectimus RADIUS Server mediante el protocolo RADIUS.

Si tiene alguna otra pregunta, póngase en contacto con el equipo de soporte de Protectimus.

    Tabla de contenidos