Mi empresa tiene unas pocas docenas de servidores alojados en un proveedor en la nube. Todos menos uno (host OpenVPN) está cerrado a Internet. Estamos utilizando OpenVPN AS, que utiliza certificados + Autentificador de Google para iniciar sesión.
Estamos muy interesados en la seguridad y queremos minimizar el daño potencial en caso de infiltración de las computadoras de uno de nuestros empleados. Para ello, hemos obligado a los empleados a bloquear sus máquinas personales a través de Yubico-PAM.
También quiero usar los Yubikeys para el acceso SSH. Ahora, el Neo admite claves SSH / GPG a través de su JavaCard apoyo. Me gusta esta opción porque no requiere una modificación significativa de ninguno de nuestros servidores existentes, solo sus archivos authorized_keys
.
También he visto la integración de Yubico-PAM a través de una contraseña (escriba la contraseña, toque yubikey). Esto es bueno, pero no usamos contraseñas, usamos archivos de claves y, a menos que haya una razón de seguridad convincente para cambiar, prefiero mantenerlo así.
La tercera opción que he visto es AuthenticationMethods
en las versiones más recientes de sshd ( más información aquí ). Esto correctamente le permite usar un par de llaves y el Yubikey. Al iniciar sesión con una clave correcta, se le pide al usuario que presione el botón en su yubikey. Lamentablemente, parece que el servidor necesita hacer ping a Yubicloud.
En ambos casos, es probable que compile y consulte un servidor LDAP para la autenticación Yubikey, de modo que podamos revocar / agregar claves fácilmente sin tener que ssh en cada máquina.
En mi opinión, la primera opción es la mejor (generar claves en el propio Yubikey Neo), ya que requiere la configuración más mínima de nuestros servidores, no se basa en el servicio de Yubicloud para evitar la reproducción y no requiere un servidor LDAP.
¿Alguno de ustedes ha integrado Yubikeys (u otros tokens de hardware) en su flujo de administración? Si es así, ¿qué método eligió y por qué lo eligió?