it-swarm-es.com

¿Cómo puedo configurar la autenticación SSH de tarjeta inteligente?

Me gustaría poder ssh a mi máquina utilizando una tarjeta inteligente Gemalto .NET como el método de autenticación. ¿Cómo se podría hacer esto en una máquina Fedora 13 (o estilo genérico de estilo rojo)?

Estos son los pasos ásperos que creo que se necesitan:

  1. ¿Certificado de provisión para la tarjeta inteligente (y posiblemente una CA para emitirla?)
  2. Obtenga el certificado en la tarjeta inteligente
  3. Configure SSH Server para permitir la autenticación de tarjeta inteligente y configurarla para usar un certificado/CA en particular
  4. Un cliente SSH que tiene soporte de tarjeta inteligente (puntos extra para una ventana gratuita basada en Windows)
9
Geoff Childs

Los conductores de Gemalto ahora son de código abierto, creo. Tienen el código fuente en su sitio web.

Deberá configurar el módulo pam (No estoy seguro de cómo hacer esto, pero el código ciertamente está allí). Me imagino que la configuración pam requeriría un mapeo de un principio de certificado a un ID de usuario local.

GDM Creo que es compatible con las tarjetas inteligentes ahora, pero no estoy seguro de cómo lo detecta. Intentaré buscar esto más tarde (es probable que sea fácil de echar un vistazo al código fuente gdm).

Por supuesto, todo esto requiere pcscd y libpcsclite para estar instalado. También deberá copiar el libgtop11dotnet.so para /usr/lib.

2
vwduder

Recomiendo a Kerberos. MIT produce un cliente y un servidor KRB5.

vWDUDER, ¿podría recomendar un lector de tarjetas inteligentes y una fuente de tarjetas compatibles con FIPS-201?

http://csrc.nist.gov/publications/fips/fips201-1/fips-201-1-chng1.pdf

Tengo una copia en mi propio servidor, pero no soy lo suficientemente popular en este Packtrace en este momento para compartirlo con usted. Lo anterior es solo un poco menos confiable que nuestros propios servidores, por lo que probablemente podrá obtenerlos de ellos;)

[editar] ¡Ahora soy lo suficientemente popular!

http://www.colliertech.org/state/fips-201-1-chng1.pdf

2
cjac

Cuando se utiliza las teclas RSA, 1) y 2) son triviales, porque como veremos en 3) el certificado real es irrelevante en este contexto. Simplemente diríjase a cacert.org o generar un certificado autofirmado y todos están configurados.

Para 3) deberá extraer su clave pública e instalarla en $ HOME/.ssh/Authorized_Keys. ¡Preste atención a la propiedad y permisos de archivos! (700 para .ssh, 600 para Authorized_Keys). La autenticación de la clave pública de ancho de host se desalienta, pero se deja como un ejercicio para las mentes inquisitivas.

En cuanto a 4) debe mirar en masilla SC ( http://www.joebar.ch/puttyssc/ ) o -preferablemente- PUTTY-CAC (- http://www.risacher.org/putty-cac/ ) que mejora sobre masty SC con un mejor algoritmo de extracción de clave pública y también incluye el soporte de Kerberos-GSSAPI de La rama de desarrollo de la masilla.

1
codehead

Hice un video para mostrar para usar una tarjeta inteligente con un servidor Linux usando PUTTYSC y SecureCRT . Puedes verlo aquí: Cómo SSH con tu tarjeta inteligente

No explico cómo aprovisionar un certificado en la tarjeta, pero si lo hace, recuerde que la clave de administración de la tarjeta debe cambiarse utilizando un sistema de administración de tarjetas. Será mucho más fácil para usted si su empresa le proporciona una tarjeta inteligente para que no tenga que preocuparse por esta parte.

Una vez que tenga la tarjeta aprovisionada, debe extraer la clave pública, luego agregarla a ~/.ssssshd/autorized_key.

Para conectarse al servidor, puede usar herramientas como PUTTYSC o SecureCRT. Deberá obtener la biblioteca PSKC # 11 para la tarjeta (ya sea desde el fabricante de la tarjeta inteligente o de una versión de código abierto). Configure la herramienta SSH con la biblioteca, debería poder leerlo y encontrar el certificado.

Cuando se autentique, la herramienta le solicitará el PIN de la tarjeta inteligente.

0
Matthias Buchner