Cómo Recuperar la Contraseña de Root en Solaris 11: Solución Definitiva

Recuperar contraseña de root en solaris 11

Cómo Recuperar la Contraseña de Root en Solaris 11: Solución Definitiva

CONTENIDO LEGADO

Este artículo forma parte de la bitácora histórica de Sys Adventures (originada en 2019)

La información o visión técnica aquí descrita puede no reflejar los estándares actuales del sitio. Úsalo como referencia, pero siempre valida bajo tu propia responsabilidad.

Recuperar la Contraseña de Root en Solaris 11: Guía de Resiliencia

Perder el acceso a la cuenta de root en Oracle Solaris 11 es un escenario de crisis que pone a prueba la capacidad de respuesta de cualquier Administrador de Sistemas. En Sys Adventures entendemos que la estabilidad es una disciplina, y a veces, esa disciplina requiere intervenir el sistema desde sus cimientos.

A diferencia de versiones legadas, Solaris 11 integra profundamente ZFS y Boot Environments (BE), lo que exige un procedimiento quirúrgico utilizando la media de instalación para montar el pool de almacenamiento y manipular los archivos de identidad.

Paso 1: Boot desde la media de instalación

Dependiendo de tu arquitectura, inicia el sistema desde un CD/DVD o ISO de Solaris 11:

  • SPARC: Después de entrar al OK PROMT, ingresar boot cdrom -s
  • x86: Selecciona el inicio desde CD/DVD en el menú de BIOS/UEFI.

Al cargar el menú, selecciona la opción 3 (Shell) para entrar a la línea de comandos.

solaris menu

 

Paso 2: Importar el pool de almacenamiento (ZFS)

El sistema de archivos de Solaris 11 es resiliente por naturaleza. Primero, debemos localizar el rpool (Root Pool) para hacerlo visible al entorno de recuperación:

zpool import

 

zpool import sol11

Importa el pool (se recomienda usar el ID si hay ambigüedad):

zpool import -f rpool

Paso 3: Montar el Boot Environment (BE)

Solaris 11 utiliza entornos de arranque por capas. Debemos identificar cuál es el entorno activo (identificado con el flag R) para realizar la modificación:

beadm list

list boot enviroment

Siempre vamos a usar el enviroment que tenga el Flag R debido a que es el que se usa de forma predeterminada.

Una vez identificado, creamos un punto de montaje temporal

mkdir /pool_pass

y accedemos al BE:

beadm mount solaris /pool_pass

montaje boot enviroment

Paso 4: Manipulación del Archivo Shadow

El archivo /etc/shadow es el corazón de la autenticación. Para resetear la contraseña, eliminaremos el hash existente del usuario root.

Debemos otorgar permisos de escritura al archivo

chmod 777 /pool_pass/etc/shadow

Posterior a eso, podemos manipular su contenido

vi /pool_pass/etc/shadow

shadow pool rec

Busca la línea que empieza con root:. Verás una cadena larga de caracteres entre el primer y segundo : (dos puntos). Borra todo lo que esté entre esos dos puntos.

shadow pool rec 02

Con esto eliminamos la contraseña encriptada del usuario, también es posible dejarle otra contraseña encriptada que conozcamos, pero en este caso, simplemente se deja vacía.

Paso 5: Ajuste de Políticas de Login (Temporal)

Por defecto, Solaris bloquea accesos con contraseñas vacías por seguridad. Debemos relajar esta política temporalmente, para lograrlo debemos manipular el archivo login

vi /pool_pass/etc/default/login

pass req 01

En el debemos buscar el parámetro PASSREQ=yes y cambiarlo por PASSREQ=no

pass req 02

Esto permitirá el acceso directo una vez reiniciado el sistema.

Paso 6: Sincronización y Reinicio

Para que el sistema reconozca los cambios en el próximo arranque, debemos actualizar el archivo de archivo de arranque (boot archive):

bootadm update-archive -R /pool_pass

boot update
Tras este comando, puede reiniciar el sistema. Al cargar, el usuario root no solicitará contraseña.

login
Recuperar contraseña root Solaris 11

Checklist de Seguridad Post-Recuperación

¡ATENCIÓN! Su sistema se encuentra actualmente vulnerable. Para recuperar el Silencio Operativo y la seguridad, es obligatorio completar estos pasos inmediatamente después de entrar:

1. Asignar una nueva contraseña:

passwd root

2. Revertir PASSREQ=yes en /etc/default/login

3. Restaurar permisos en el archivo shadow:

chmod 000 /etc/shadow

Con esto, hemos logrado recuperar la contraseña de root en Solaris 11.

Referencia

Recovering Passwords in Solaris 11

How to Boot From Media to Resolve an Unknown root Password – Booting and Shutting Down Oracle® Solaris 11.4 Systems

Share this post

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *