macOS Sierra recuerda permanentemente la passphrase de las claves SSH por defecto

Escrito por Sergio De Luz

El sistema operativo macOS Sierra incorpora de manera predeterminada un cliente SSH. Este protocolo permite dos formas de autenticación: usuario y contraseña, y una pareja de claves SSH. La segunda opción es la más segura, y a la hora de crear las claves podremos introducir una “passphrase” o contraseña para iniciar sesión en un servidor SSH.

De esta manera, si estamos utilizando una pareja de claves SSH e intentamos iniciar sesión en un servidor SSH remoto, nos pedirá esta “passphrase” para que el software sea capaz de “leer” las claves creadas anteriormente. De lo contrario, no podremos conectarnos porque dicha clave estará cifrada. Esto es ideal de cara a posibles atacantes, en caso de llevemos con nosotros dichas claves SSH en un pendrive y nos lo roben, no podrán acceder a la clave privada sin conocer la “passphrase”. Lo mismo ocurre si intentan acceder a nuestro sistema operativo, sin la “passphrase” no podremos conectarnos, es una medida de seguridad adicional (y opcional).

El problema en macOS Sierra con el recordatorio de la clave

Se ha descubierto que el sistema operativo macOS Sierra recuerda esta passphrase permanentemente de manera predeterminada. De esta forma, un usuario que introduzca la passphrase de la clave SSH para conectarse a un servidor remoto, iniciará la sesión sin problemas, y cuando vaya otra vez a iniciar la sesión en el mismo servidor, el sistema operativo habrá recordado dicha clave y ya no será necesaria introducirla nunca más.

OpenSSH - Fallo de seguridad

Esto supone un problema de seguridad bastante importante, porque la seguridad adicional que nos proporcionaba introducir esta “passphrase” a nuestra pareja de claves, queda totalmente inutilizado “gracias” al recordatorio que realiza macOS Sierra. En las versiones anteriores del sistema operativo de Apple, no hacía esto de manera predeterminada, de hecho, si actualizáis desde una versión anterior a la última, veréis cómo os ha cambiado esta política automáticamente y sin avisar.

Un usuario en Open Radar, ha expresado su malestar por la nueva política de Apple, en este enlace podéis ver en detalle todas las pruebas que ha realizado el usuario para llegar a esta conclusión.

Solución para que macOS Sierra no recuerde las passphrases

Para que el sistema operativo no recuerde de manera predeterminada estos passphrases de nuestras claves SSH, debemos irnos a la configuración del cliente SSH en “~/.ssh/config” y en el archivo de configuración poner lo siguiente:

Host *
  UseKeyChain no

Borrar las passphrases recordadas

Si no os habéis dado cuenta de este detalle y queréis eliminar las passphrases que macOS ha almacenado de manera predeterminada, tenemos la posibilidad de eliminarlas para que siempre nos pida la passphrase. En este enlace podéis ver exactamente cómo se eliminan de una pequeña base de datos SQlite. Básicamente hay que ejecutar lo siguiente:

ssh-add -D -K
for f in ~/Library/Keychains/*/keychain-2.db; do sqlite3 $f "delete from genp where agrp = 'com.apple.ssh.passphrases';"; done

¿Qué os parece esta nueva política que ha seguido Apple en su nuevo sistema operativo macOS Sierra? ¿Eliminaréis esta opción para recordar la passphrase de manera predeterminada?

Últimos análisis

Valoración RZ
7
Valoración RZ
9
Valoración RZ
8
Valoración RZ
8
Valoración RZ
8
Valoración RZ
8
Valoración RZ
10