Secure ssh Keygen for the Cloud

November 27, 2020, 1:43 pm CLOUD seguridad key blog-header-image

Cuando creamos instancias Unix/Linux en la nube (independientemente del proveedor que habitualmente usemos), se nos pide usar un conjunto de clave publica/privada para securizar el acceso a las instancias. Sin esta protección adicional y unicamente confiando en un Login/Password, nuestros sistemas son vulnerables a ataques de diccionario o fuerza bruta, que dependiendo de la fortaleza de nuestra contraseña aguantara más o menos.

Normalmente cuando generamos nuestras claves, no solemos preocuparnos demasiado y asumimos que son de por si seguras.

pero la realidad es que dependiendo de las opciones que elijamos al crearla estas serán, más o menos robustas.

La passphrase es importante:

La passphrase es muy importante, porque se usara para cifrar la Private Key, de tal manera que si alguien obtiene esta Private Key, estará protegida. La passphrase debe ser criptograficamente fuerte.

Si queréis podéis encontrar un generador aleatorio aquí.

Eligiendo algoritmo y Key Size:

Pues si, tenemos varias opciones de las cuales las más comunes son:

  • RSA => es un algoritmo bastante viejo, que se basa en la dificultad de factorizar números grandes. No deberías usar bajo ningún concepto una clave inferior a 2048 bits, si puedes 4096 es una mucho mejor opción. El punto fuerte de este algoritmo es la compatibilidad, ya que (principalmente debido a su antigüedad) esta ampliamente soportado.
  • DSA=> otro viejo rockero, en este caso desarrollado por el gobiernos de los Estados Unidos y que se basa en la dificultad de procesar logaritmos. Se suele usar una longitud de clave de 1024 y salvo que no tengas otra opción, no aporta demasiadas ventajas usarlo, ni en seguridad ni en compatibilidad
  • ECDSA=>es un algoritmo desarrollado también por el gobierno de Estados Unidos relativamente nuevo. Basa su fuerza en el calculo de curvas elipticas y es probablemente una buena opción a día de hoy, En su contra, decir que usa longitudes de clave pequeñas (256, 384 y 521), por lo que recomendaría usar siempre la opción de 521. En cuanto a portabilidad, la mayoría de los clientes SSH ya la soportan.
  • ED25519=>este algoritmo se añadio recientemente a OpenSSH y tiene como principal pega que el soporte por parte de los clientes. Es una opción recomendable si nuestros sistemas lo soportan.

ssh-keygen -t rsa -b 4096 ssh-keygen -t dsa ssh-keygen -t ecdsa -b 521 ssh-keygen -t ed25519

¿Cual uso yo?

Pues fundamentalmente uso RSA de 4096 y ed25519 dependiendo de lo que soporten los sistemas. Si no os queréis complicar una RSA de 4096 os dará una buena seguridad y excelente portabilidad. Si no os genera desconfianza que este desarrollada por el gobierno, ECDSA es también una excelente opción.

Espero que os haya resultado de interés!!

Previous Post