Tengo una computadora portátil que ejecuta Linux encriptada usando dmcrypt. Para usar git, acabo de crear una clave SSH, pero no la protegí con una contraseña. Dado que mi disco duro ya está encriptado, ¿hay algún beneficio en proteger mi clave SSH?
Tengo una computadora portátil que ejecuta Linux encriptada usando dmcrypt. Para usar git, acabo de crear una clave SSH, pero no la protegí con una contraseña. Dado que mi disco duro ya está encriptado, ¿hay algún beneficio en proteger mi clave SSH?
Sí.
El sistema de archivos y el cifrado del disco duro son controles de seguridad que se defienden contra una amenaza específica, en este caso, por lo general, protege los datos cuando el sistema se toma físicamente.
Cuando los atacantes acceden a un sistema mientras se ejecuta a través de algo como una aplicación web vulnerable o mediante algún otro método, están accediendo a los sistemas de archivos localmente con permisos de usuario de cualquier aplicación que hayan comprometido o, en algunos casos raros, se apoderen del kernel. Cuando esto sucede, los controles que mantienen el sistema de archivos o el cifrado del disco se omiten de manera efectiva y el "usuario" puede tomar cualquier archivo al que tenga acceso a través de la cuenta comprometida. Del mismo modo, hay muchas otras fallas que permiten a los atacantes en los sistemas, pero el punto es que los dos controles de seguridad que mencionó protegen de diferentes vectores de ataque y son importantes para crear una estrategia de Defensa en Profundidad.
El control de seguridad de la contraseña que protege su clave SSH sigue siendo válido y ofrece una protección adicional que el sistema de archivos o el cifrado de disco por sí mismo no ofrece, especialmente en el caso de un atacante que tiene acceso a su sistema de forma remota . En este caso, el atacante tomaría o usaría una copia de su clave y tendría acceso instantáneo a su cuenta de Git.
El cifrado del disco duro solo es realmente seguro cuando su computadora está apagada .
No es un reemplazo para ninguna contraseña.
Sin embargo, sobre la contraseña:
Una contraseña utilizada para cifrar la clave SSH localmente puede ser forzada brutalmente si alguien obtiene la clave, sin ninguna limitación de qué tan rápido puede intentar el atacante. No es muy útil si su clave es robada de todos modos.
No estoy seguro de si y cómo esto es posible con GIT, pero en el caso de una clave SSH para el inicio de sesión del servidor, requerir la contraseña de la cuenta de usuario en el servidor es mucho más seguro, porque se pueden usar cosas como fail2ban, etc.
Aclaración: no sugiero utilizar la contraseña del lado del servidor en su lugar de la clave. Sugiero usar ambos . Y sí, esto es posible con un AuthenticationMethods publickey,password
en sshd_config. Consulte enlace . Lo que llamo inseguro es el PW opcional del lado del cliente que nunca se envía al servidor, solo se usa para leer la clave.