Prácticamente diste en el clavo cuando dijiste que necesitabas acceso físico a la máquina.
Si tiene acceso físico, no necesita para seguir los pasos oficiales para restablecer la contraseña de root, ya que puede voltear bits en el disco duro directamente, si sabe lo que está haciendo. Es decir, puede iniciar un sistema operativo de recuperación desde un DVD o una unidad flash y montar la unidad de esa manera para obtener acceso completo de lectura/escritura a todo el disco.
El cifrado de disco mitigará el riesgo, pero no lo eliminará por completo*, pero hará que los ataques sean mucho más complicados. Lo mejor es suponer que un atacante con acceso físico podrá influir en todos los aspectos del dispositivo a tiempo.
Dado que se supone que los atacantes con acceso físico siempre obtendrán acceso privilegiado a la cuenta con el tiempo, no tiene sentido poner a los administradores legítimos en problemas adicionales si pierden su contraseña.
Todas las distribuciones de Linux que he usado tenían esta característica, aunque es posible que algunas de las distribuciones dirigidas a una audiencia más paranoica puedan desactivarla.
Además, es una característica estándar en BSD Unixes, se probó en el examen CCNA hace al menos 15 años cuando lo tomé para dispositivos Cisco, y es bastante trivial restablecer contraseñas en una máquina con Windows si no está explícitamente protegida.
*
El atacante podría, por ejemplo, agregar un kernel de puerta trasera o initrd en el /boot
directorio, que debe estar sin cifrar porque el gestor de arranque debe poder leer los archivos kernel e initrd.
¿Cómo es que esto no es una vulnerabilidad de seguridad evidente?
Está. El acceso físico a su sistema es la máxima vulnerabilidad.
¿Hay alguna forma de deshabilitar esta 'característica' para que no se pueda cambiar desde GRUB de esta manera?
¿Puedes hacer esto en todas las demás distribuciones de Linux también? ¿O es una habilidad exclusiva de Redhat?
Infórmate de lo que está pasando aquí:
Su sistema operativo ni siquiera se está ejecutando cuando el atacante toma el control de su sistema.
Mientras que GRUB viene empaquetado con Linux, no es una parte integral de él y, de hecho, el atacante podría reemplazar GRUB con algún otro cargador de arranque sin que el sistema operativo se dé cuenta.
Por lo tanto, no se trata tanto de que su sistema operativo sea vulnerable. Se trata de su sistema operativo, cualquiera OS realmente, habiendo sido eliminado de la ecuación .
Incluso si tiene su disco duro encriptado, se requiere que el usuario ingrese la contraseña antes del arranque real. Con acceso físico a su sistema, nada evita que el atacante, p. instalar un keylogger (hardware o software) para obtener esa contraseña la próxima vez que se ingrese.
Dado que prácticamente no hay forma de defenderse de un atacante con acceso físico a su máquina, los sistemas operativos genéricos no se molestan en dificultar (más) las cosas para un atacante con tales privilegios. Ya has perdido la pelea en este punto.
Alguien con acceso físico es , efectivamente, un usuario root.