Inicio de sesión en Linux
Ironchip se integra en Linux mediante PAM (Pluggable Authentication Modules) y añade el segundo factor a servicios como sudo, SSH o el inicio de sesión local. Usa esta página para crear la aplicación, instalar el módulo y configurar PAM.
Requisitos
Sección titulada «Requisitos»- Acceso a la consola de administración de Ironchip.
- Un usuario con permisos de administrador (
rootosudo) en el equipo Linux. - Conectividad desde el equipo con la API de Ironchip (
https://api.ironchip.com). - Un sistema Linux con PAM. Para macOS, consulta Inicio de sesión en macOS.
Configuración en Ironchip
Sección titulada «Configuración en Ironchip»Crear la aplicación
Sección titulada «Crear la aplicación»-
Ve a Applications > New application.

-
Selecciona el tipo de integración Linux Logon.

-
Escribe un nombre descriptivo para la aplicación y haz clic en Add.

-
Guarda la API key que se muestra al crear la aplicación: la necesitarás más tarde.

Dar acceso a los usuarios
Sección titulada «Dar acceso a los usuarios»-
Abre la aplicación recién creada y haz clic en el botón para añadir un nuevo acceso.

-
Selecciona los usuarios que van a utilizar el servicio.

-
Configura el nombre de usuario para que coincida con el del sistema Linux.

-
Configura las condiciones de acceso que tiene que cumplir el usuario para acceder al equipo.

-
Guarda el acceso.

Configuración en Linux
Sección titulada «Configuración en Linux»Instalar el módulo PAM
Sección titulada «Instalar el módulo PAM»-
Opcional: instala estas dependencias, que solo hacen falta en algunos casos.
Ventana de terminal # Debian y Ubuntusudo apt-get install libcurl4-openssl-dev libpam-dev uuid-dev# RHEL, AlmaLinux y CentOSsudo yum install curl-devel pam-devel libuuid libuuid-devel -
Crea una carpeta en una ubicación segura.
Ventana de terminal mkdir /usr/local/lib/security -
Guarda en ella el archivo
pam_ironchip_auth.so, que encontrarás en el apartado Plugins de la consola de Ironchip.Ventana de terminal mv pam_ironchip_auth.so /usr/local/lib/security/
Configurar PAM
Sección titulada «Configurar PAM»Ve a /etc/pam.d y abre con un editor de texto uno de estos archivos, según las necesidades de la compañía. Los nombres pueden cambiar según la arquitectura del sistema.
| Archivo | Protege |
|---|---|
sudo |
La autenticación en el comando sudo. |
sshd |
La autenticación en el servicio SSH. |
gdm-password |
El inicio de sesión en el equipo. |
common-auth |
Todos los servicios anteriores. |
gdm-password gestiona el inicio de sesión gráfico (GNOME Display Manager). common-auth centraliza la autenticación que importan servicios como sudo, login o sshd con la línea @include common-auth.
Añade esta línea con tus datos:
auth required <ruta absoluta de pam_ironchip_auth.so> host=https://api.ironchip.com api_key=<API_KEY>La API key es la que guardaste al crear la aplicación.
Parámetros del módulo
Sección titulada «Parámetros del módulo»| Parámetro | Obligatorio | Descripción |
|---|---|---|
host |
Sí | URL del servidor de identidad de Ironchip, por ejemplo https://api.ironchip.com. |
api_key |
Sí | API key de la aplicación, usada en la autenticación. |
offline_skip |
No | Con offline_skip=true, si no hay conectividad con Ironchip el módulo se omite y PAM lo da por válido. |
whitelisted_users |
No | Usuarios separados por ; que omiten el módulo, por ejemplo whitelisted_users=root;ubuntu. |
Exigir el segundo factor o aceptarlo como suficiente
Sección titulada «Exigir el segundo factor o aceptarlo como suficiente»El verbo que uses en la línea auth decide cómo se combina Ironchip con el resto de módulos PAM:
required: el usuario debe superar este módulo como mínimo. Es la opción para que el segundo factor sea obligatorio.sufficient: si el módulo se supera, PAM termina la autenticación con éxito de inmediato e ignora el resto de módulos.
auth required pam_ironchip_auth.so <opciones>auth sufficient pam_ironchip_auth.so <opciones>SSH con clave pública e Ironchip
Sección titulada «SSH con clave pública e Ironchip»Esta configuración exige a la vez la clave pública y Ironchip como autenticación interactiva (keyboard-interactive).
Configurar sshd_config
Sección titulada «Configurar sshd_config»-
Abre el archivo de configuración principal de SSH con privilegios de administrador.
Ventana de terminal sudo nano /etc/ssh/sshd_config -
Localiza y ajusta estos parámetros, o añádelos al final del archivo.
/etc/ssh/sshd_config # Habilitar llaves y desactivar contraseñas simplesPubkeyAuthentication yesPasswordAuthentication no# Forzar AMBOS: llave pública + Ironchip (keyboard-interactive)AuthenticationMethods publickey,keyboard-interactive# Configuración necesaria para que PAM (Ironchip) funcioneUsePAM yesKbdInteractiveAuthentication yes # Ubuntu/Debian modernos -
Si tu sistema Linux no es Ubuntu o Debian, añade además esta línea.
ChallengeResponseAuthentication yes
Autenticar en SSH sin contraseña
Sección titulada «Autenticar en SSH sin contraseña»Para que el servidor SSH reconozca a Ironchip como método de autenticación interactiva, modifica la configuración de PAM. Así el sistema valida la identidad con Ironchip sin pedir además la contraseña tradicional de Linux.
-
Abre el archivo que gestiona la autenticación del servicio SSH.
Ventana de terminal sudo nano /etc/pam.d/sshd -
Añade esta línea al principio del archivo, para que sea el primer método que se evalúa en la fase interactiva.
/etc/pam.d/sshd auth sufficient pam_ironchip_auth.so host=https://api.ironchip.com api_key=<API_KEY>
Permitir la conexión con SELinux
Sección titulada «Permitir la conexión con SELinux»El servidor debe hacer peticiones salientes a api.ironchip.com para validar la identidad. En sistemas con SELinux habilitado, como RHEL, AlmaLinux o CentOS, el servicio SSH tiene restringido el acceso a la red por defecto, y eso bloquearía la comunicación con Ironchip.
Importa el módulo de política que permite al proceso de SSH establecer conexiones de red.
semodule -i mi-sshdsession.ppAplicar los cambios
Sección titulada «Aplicar los cambios»Guarda los archivos y reinicia el servicio SSH.
# Sistemas con systemd (Ubuntu, Debian, RHEL 7+)sudo systemctl restart sshd
# Verificar el estado del serviciosudo systemctl status sshdCon sufficient, el cliente SSH sigue mostrando el aviso de contraseña. El usuario puede escribir cualquier valor: no se valida si Ironchip ya ha aceptado la autenticación. Para que no se pregunte, añade PermitEmptyPasswords yes en /etc/ssh/sshd_config y reinicia sshd. Hazlo solo si usas el módulo como método sufficient. Si esperas un segundo factor (MFA), no cambies este parámetro.
Comprobación
Sección titulada «Comprobación»- Mantén abierta una sesión de
rooty abre otra terminal. - Ejecuta un comando que pase por PAM, por ejemplo
sudo -k && sudo ls. - Autoriza el acceso en Ironchip cuando te lo pida.
- Si protegiste SSH, abre una conexión nueva con el usuario configurado en Ironchip y autoriza el acceso.
Si algo falla, restaura la línea de PAM desde la sesión de root, que sigue abierta.
Registros
Sección titulada «Registros»El módulo escribe sus registros en syslog. Consúltalos así:
tail -f /var/log/auth.logPara filtrar el inicio de sesión gráfico:
tail -f /var/log/syslog | grep gdm-passwordProblemas frecuentes
Sección titulada «Problemas frecuentes»SSH sigue pidiendo la contraseña de Linux. Comprueba que UsePAM yes está en /etc/ssh/sshd_config y reinicia el servicio. Si quieres evitar el aviso con el método sufficient, consulta Aplicar los cambios.
En RHEL, AlmaLinux o CentOS, SSH no valida con Ironchip. Importa el módulo de política de SELinux de la sección Permitir la conexión con SELinux.
¿Te ha resultado útil esta página?
Gracias. Lo tendremos en cuenta para mejorar la documentación. Si quieres contarnos qué falta o qué no está claro, escríbenos a support@ironchip.com.