9 de octubre de 2016

macOS SIERRA. Recuerda permanentemente la passphrase de las claves SSH por defecto

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.
  • 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 -Kfor f in ~/Library/Keychains/*/keychain-2.db; do sqlite3 $f "delete from genp where agr
Fuente: Redeszone.net