Si encuentra que la autenticación basada en contraseña y de dos factores no es confiable, considere configurar la autenticación basada en hardware en Linux usando YubiKey.
No está solo si le preocupa la amenaza cada vez mayor de la piratería. Si bien las solicitudes de autenticación y 2FA son suficientes para protegerse de la mayoría de los posibles piratas informáticos, todavía se producen miles de infracciones todos los días.
Una de las soluciones más promocionadas para el problema de autenticación es YubiKey. Pero, ¿qué es YubiKey y cómo funciona la autenticación de hardware? ¿Puedes proteger tu PC con Linux con YubiKey?
¿Por qué usar YubiKey para la autenticación de hardware?
Existen muchos tipos diferentes de autenticación, incluidas contraseñas, autenticación por SMS e incluso aplicaciones de autenticación que puede usar con su teléfono. Un tipo menos común es la autenticación de hardware, que implica el uso de un pequeño dispositivo enchufable para enviar un token de autenticación cuando se le solicite.
YubiKeys y otros dispositivos de autenticación de hardware tienen algunas ventajas sobre otros autenticadores. Son más fáciles de usar, mucho más seguras y casi imposibles de comprometer sin acceso a la propia YubiKey física.
Primeros pasos con Yubikey
Puede comenzar con YubiKey en solo unos simples pasos. Como primer paso, debe utilizar el cuestionario realizado por Yubico para comprar la mejor YubiKey para las especificaciones de su dispositivo. Una vez que tenga su YubiKey a mano, puede usarla como un dispositivo de autenticación para sitios web y aplicaciones.
Incluso puede usarlo para autenticar sudo y SSH en su computadora con Linux. Le explicaremos todo lo que necesita saber sobre cómo elegir una YubiKey compatible con sudo/SSH y configurarla para la autenticación.
Elección de la YubiKey adecuada para su sistema
Si desea usar su YubiKey para la autenticación en su computadora Linux, hay algunas YubiKeys que se destacan como opciones superiores. YubiKey 5 y YubiKey 5 NFC son clásicos que funcionan bien con sistemas con USB-A y USB-C, respectivamente.
Si desea usar su YubiKey con su computadora Linux y teléfono Android, debe considerar una YubiKey 5c NFC. Si tiene una computadora con Linux y un iPhone, debería considerar una YubiKey 5ci porque es compatible con USB-C y lightning.
Es importante tener en cuenta que la serie YubiHSM no es compatible con la autenticación sudo. Las YubiKeys heredadas pueden o no ser compatibles con la autenticación sudo/SSH según sus características específicas.
Antes de comenzar con la autenticación sudo o SSH, debe instalar el PPA de YubiKey. abre la terminal e ingrese los siguientes comandos para actualizar sus paquetes e instalar YubiKey Authenticator y YubiKey Manager:
sudo add-apt-repositorio ppa: yubico/estable
sudo apt-obtener actualización
sudo apt install yubikey-manager libpam-yubico libpam-u2f
A continuación, deberá verificar que su sistema esté listo para funcionar con su YubiKey. Ejecute el siguiente comando en la terminal para verificar su versión de udev:
sudo udevadm --versión
El terminal devolverá un número. Si el número es 244 o superior, su sistema es compatible con YubiKey. Puede omitir el siguiente paso en este caso.
De lo contrario, deberá configurar su sistema. Debe usar los siguientes comandos para verificar si udev está instalado en su computadora e instalarlo si no lo está:
dpkg -s libu2f-udev
sudo apt install libu2f-udev
A continuación, compruebe si la interfaz U2F de su YubiKey está desbloqueada. Si tiene una YubiKey NEO o YubiKey NEO-n, inserte su YubiKey, abra YubiKey Manager y vaya a Interfaces. Habilitar el interfaz U2F y presiona Ahorrar.
Configure YubiKey para la autenticación sudo en Linux
sudo es uno de los comandos más peligrosos en el entorno Linux. En las manos adecuadas, proporciona un impresionante nivel de acceso que es suficiente para realizar la mayoría de los trabajos. En las manos equivocadas, el acceso a nivel raíz que proporciona sudo puede permitir que usuarios maliciosos exploten o destruyan un sistema.
Las YubiKeys son excelentes para la autenticación sudo porque su autenticación es casi imposible de replicar sin acceso a la propia YubiKey. La mayoría de YubiKeys son compatibles con la autenticación sudo, incluidas las series 5 FIP, Key Series, 4 FIP Series, Bio Series, 5 Series y 4 Series.
De acuerdo a Yubico, el primer paso que debe realizar para configurar la autenticación sudo es crear un archivo de reglas. Si su versión de udev es 188 o superior, instale las nuevas reglas U2F desde GitHub y copiar el 70-u2f.reglas archivo a /etc/udev/rules.d.
Si su versión de udev es inferior a 188, instale las reglas U2F heredadas de GitHub y copiar el 70-old-u2f.rules archivo a /etc/udev/rules.d.
Si su versión de udev es 244 o superior o ha creado los archivos de reglas necesarios, está listo para vincular su YubiKey con su cuenta.
Inserte la YubiKey en su computadora, abra la terminal e ingrese los siguientes comandos para vincular su YubiKey con su cuenta:
mkdir -p ~/.config/Yubicopamu2fcfg > ~/.config/Yubico/u2f_keys
Espere unos momentos hasta que la luz indicadora de su YubiKey comience a parpadear. Toque el botón en su YubiKey para confirmar el enlace del dispositivo.
Si tiene otra YubiKey a mano, debe agregarla como dispositivo de respaldo ingresando el siguiente comando y completando el mismo proceso:
pamu2fcfg -n >> ~/.config/Yubico/u2f_keys
Finalmente, deberá configurar el comando sudo para solicitar la autenticación YubiKey. Debe comenzar ingresando el siguiente comando para abrir el archivo de configuración de sudo:
sudo vi /etc/pam.d/sudo
Una vez que el archivo de configuración esté abierto, pegue la siguiente línea justo debajo del @incluir autenticación común línea para configurar sudo para requerir autenticación YubiKey:
autenticación requerida pam_u2f.so
Guarde y salga del archivo presionando Escapar, mecanografía :wq, y presionando Ingresar, pero mantenga la terminal abierta. No podrá revertir los cambios que realizó en la autenticación sudo si la terminal se cierra.
Abra una segunda terminal y ejecute el siguiente comando con su YubiKey desconectada, luego ingrese su contraseña:
prueba de eco sudo
El proceso de autenticación fallará. Inserte su YubiKey y vuelva a ingresar el comando y su contraseña. Cuando la luz indicadora de YubiKey comience a parpadear, toque el botón en su YubiKey. Debe autenticar el comando. Si es así, su YubiKey está completamente configurada para la autenticación sudo.
Cómo configurar YubiKey para la autenticación SSH
¡También puede usar su YubiKey para la autenticación SSH! Varias series de YubiKey son compatibles con SSH, incluidas las series 5 FIPS, 5 Series, 4 FIPS Series y 4 Series. El uso de YubiKey para autenticar sus conexiones le permitirá hacer que todos y cada uno de los inicios de sesión SSH sean mucho más seguros.
El mejor método para configurar YubiKey fue descrito por un usuario experimentado en GitHub. Necesitará SSH 8.2 o posterior y una YubiKey con firmware 5.2.3 o posterior. Puede verificar su versión de OpenSSH, y actualizarla si es necesario, con los siguientes comandos:
ssh -V
actualización de sudo apt && actualización de sudo apt
A continuación, deberá configurar SSH para aceptar su YubiKey. Introduzca el siguiente comando para abra el editor vi y edite el archivo de configuración:
sudo vi /etc/ssh/sshd_config
Agregue la siguiente línea al archivo de configuración para que se acepte su YubiKey:
PubkeyAcceptedKeyTypes [email protected], [email protected]
Guarde y salga del archivo presionando Escapar, mecanografía :wq, y golpeando Ingresar. Por último, reinicia el servicio SSH con el siguiente comando para que tu nueva configuración se active:
reiniciar servicio sudo ssh
Finalmente, está listo para crear el par de claves que usará para la autenticación SSH. Navegue al directorio SSH y cree su nueva clave SSH con los siguientes comandos:
cd inicio/nombre de usuario/.ssh
ssh-keygen -t ed25519-sk
Se crearán dos archivos en el ~/.ssh/ directorio. Tenga en cuenta que es posible que necesite usar ecdsa-sk en lugar de ed25519-sk si su sistema es incompatible y el terminal indica que la inscripción de clave falló.
A continuación, deberá agregar la clave pública a su servidor con el siguiente comando:
ssh-copy-id -i ~/.ssh/id_ed25519_sk.pub usuario@servidor
También debe agregarse al archivo sudoers para mantener los permisos después de deshabilitar el inicio de sesión raíz. Accede al archivo y ábrelo con visudo.
No abra el archivo sudoers con un editor de texto normal.
Debajo de la línea que dice raíz TODO = (TODO: TODO) TODO, agregue la siguiente línea:
nombre de usuario TODO = (TODO: TODO) TODO
Abre el /etc/ssh/ssd_config archivo y agregue las siguientes líneas para deshabilitar el inicio de sesión raíz y el inicio de sesión basado en contraseña:
ChallengeResponseAuthentication noPermitRootLogin no
Finalmente, ingrese el siguiente comando para cargar su clave en su agente SSH durante la sesión:
ssh-añadir ~/.ssh/id_ed25519_sk
Ahora puede usar su YubiKey para la autenticación SSH. Deberá insertar su YubiKey en su computadora cuando se le solicite y toque el botón cuando el indicador parpadee. Con este nuevo método de autenticación, el acceso SSH a su servidor remoto será significativamente más seguro.
Otros usos potenciales de YubiKey
No hay ningún límite real sobre cómo puede usar YubiKey en su sistema Linux. Si desea que su PC sea más segura, considere usar su YubiKey para el cifrado de disco o sin contraseña. Incluso puede usarlo para firmar correos electrónicos y archivos si lo desea.
Proteja su sistema Linux con YubiKey
No tiene que limitarse a usar su YubiKey para la autenticación SSH y Sudo. También puede usar su YubiKey para autenticar el acceso a muchas de sus cuentas en la web. La mejor parte es que comenzar con YubiKey 2FA es un proceso simple.