La cuestión:
A veces necesitas inspeccionar el contenido de dispositivos USB de familiares o amigos, pero no sabes si realmente es un dispositivo seguro, aunque lo más probable es que lo sea.
Quiere hacerlo con el mínimo esfuerzo y al mismo tiempo protegerse de vectores de ataque comunes.
Método:
Tenga un usuario invitado más seguro para que su directorio de inicio vuelva a su estado original por solicitud.
Implementación:
Cree un nuevo usuario a través de GUI.
Es un usuario estándar (no administrador).
Llamemos a este usuarioguest
.De forma predeterminada, deshabilite al usuario con:
usermod --expiredate 1 guest
Copie el contenido de
~/guest
en un directorio en un almacenamiento persistente.
Llamemos a este directorio/path/to/perst/guesthome
.Vacíe todo el contenido del directorio
~/guest
.Cree un archivo de script
init_guest.sh
que realice lo siguiente:
Vacíe todo el contenido del directorio
~/guest
.Monta un sistema de archivos tmpfs en
~/guest
.Copia (rsync, mantiene permisos) el contenido del directorio:
/path/to/perst/guesthome
al directorio:
~/guest
Habilite el usuario solo por hoy con:
usermod --expiredate $( date "+%Y-%m-%d" )
Ventajas:
- Algo de protección contra ataques populares como badUSB (teclado simulado) o ejecutables riesgosos. (El entorno invitado se actualiza para que no haya cambios persistentes en los archivos de inicio del usuario). Por lo tanto, es relativamente más seguro inspeccionar contenidos de dispositivos USB externos y no confiables.
- Los archivos de los usuarios personales están protegidos gracias a los permisos básicos de Linux.
- Impacto mínimo en el almacenamiento persistente (desgaste reducido).
- Posibilidad de cambiar fácilmente el entorno inicial para el huésped.
¿Se considera un enfoque relativamente seguro o pasé por alto un problema?