El uso de Linux como sistema operativo de nuestro equipo o servidor es, ya de por sí, un símbolo de seguridad. El uso de contraseñas Linux es el método más simple y popular para añadir seguridad a cualquier equipo, siempre teniendo presente las medidas básicas de seguridad de las contraseñas como la longitud, caracteres especiales y demás. Cuando se instala un sistema operativo Linux, se crea tanto el usuario administrador, el cual tiene más permisos que un usuario base, como el usuario root con el que hay que tener extremo cuidado, ya que posee todos los permisos para realizar acciones en el sistema como crear, editar o eliminar usuarios, aplicaciones etc. Si no tenemos experiencia en el uso y manejo de usuarios root, os recomendamos que leáis algo al respecto ya que, tomando decisiones equivocadas con los permisos de este usuario, pueden llegarse a dejar inservibles ciertos dispositivos.
Por ello, el trabajo de este usuario debe ser especialmente responsable, si por alguna razón deseamos acceder a Linux con este usuario root y hemos olvidado la contraseña, lo que pasa con más frecuencia de lo que pensáis, debemos seguir los pasos que aquí os daremos junto con los consejos necesarios para recuperar dicha contraseña, teniendo la opción de cambiarla o eliminarla sin ningún problema, ya que, con el uso de root es más simple ejecutar las tareas de soporte y administración en el sistema evitando el uso de «sudo» para dichas operaciones.
¿Qué es la contraseña de root en Linux?
Uno de los conceptos más importantes que necesitas saber antes de seguir es qué es un usuario root y para qué sirve la contraseña de root.
La contraseña de root en Linux es la contraseña asignada al usuario root, que es el administrador del sistema. El usuario root tiene privilegios elevados y control total sobre el sistema. La contraseña root es necesaria para realizar tareas administrativas más importantes o consideradas críticas, como instalar o desinstalar algún software, modificar configuraciones en el sistema y realizar otro tipo de operaciones que requieren privilegios de administrador.
Es importante saber que la contraseña root es sensible a mayúsculas y minúsculas, y debe mantenerse en secreto para garantizar la seguridad del sistema. En la mayoría de las distribuciones Linux, durante la instalación del sistema operativo, se solicita que se establezca la contraseña root para poder continuar con el proceso de instalación.
Sabiendo esto, es de entender lo importante que es utilizar la cuenta de root con precaución, ya que tiene el poder de realizar cambios muy importantes en el sistema y, si se utiliza de manera errónea, podría causar daños u comprometer la seguridad de nuestro equipo. Es por esto que, muchos sistemas Linux aconsejan el uso de cuentas de usuarios normales para realizar tareas administrativas, lo que permite a los usuarios obtener temporalmente los privilegios de root para ejecutar comandos específicos sin tener que conocer la contraseña root.
Consideraciones antes de modificar la contraseña de root en Linux
Antes de modificar esta contraseña, deberías tener ciertos temas claros, ya que el cambio de clave puede suponer algunos problemas. Es por ello que vamos a verlos para que al menos estés informado, y si todos te parecen correctos, procedas a poner una nueva, aunque es muy importante seguir las recomendaciones, ya que una vez cambiada, no hay vuelta atrás.
- Primero, asegúrate de tener una copia de seguridad de todos los datos importantes. Cambiar la contraseña de root sin cuidado puede bloquearte del acceso al sistema, especialmente si ocurre un error durante el proceso.
- Por otro lado, cambiar la contraseña no implica un riesgo de seguridad, sin embargo, eliminarla y dejarlo sin ninguna sí. El sistema se volvería totalmente vulnerable a ataques o accesos no autorizados, por lo que cualquier persona podría entrar y ejecutar comandos que requieran permisos de administrador sin ningún problema ni restricción.
- Otra cosa a tener en cuenta es lo que podría ocasionar en el funcionamiento de aplicaciones o servicios que dependan de la autenticación de root. Cambiar la contraseña puede interrumpir la operación de estos servicios, por lo que ten cuidado y deja todo bien guardado y cerrado antes de realizar el cambio.
Por tanto, cambiar la clave es algo habitual, y que muchos hacen, pero hay que tener en cuenta estos 3 puntos antes de ello, ya que pese a que no son muy graves, podrían afectar al sistema en muchas ocasiones, así que, ahora que ya lo sabes, podrás realizarlo con mayor seguridad.
Qué es el GRUB y para qué sirve en Linux
El GRUB (GRand Unified Bootloader) es el cargador de arranque desarrollado por el proyecto GNU que nos permitirá elegir qué sistema operativo debe arrancar en el ordenador o en el servidor. Normalmente se utiliza en sistemas operativos basados en GNU/Linux, pero también es capaz de arrancar un sistema operativo Windows sin ningún problema. Otras características interesantes de GRUB es que admite comandos de configuración y puede cargar una configuración predeterminada, además, tenemos una interfaz de menú y también una línea de comandos para ejecutar lo que nosotros queramos, admite todos los sistemas de archivos que se usan actualmente, como BtfFS, cualquier versión de EXT y FAT, NTFS, ZFS y muchos otros. También es capaz de acceder a datos ubicados en cualquier dispositivo instalado, e incluso admite direccionamiento de bloque lógico (LBA) y arranque en red.
El GRUB es lo primero que se carga en el arranque del sistema, la BIOS o UEFI se encargará de buscar un dispositivo de inicio como el disco duro o SSD, y cargará el MBR con el GRUB en su interior. En la primera fase arrancará el GRUB básico, y se encargará de cargar el GRUB completo ubicada en cualquier parte del disco. Una vez que haya cargado, se presentará al usuario el menú de inicio, y podremos cargar el Kernel o el sistema operativo que nosotros deseemos.
¿Qué ocurre si olvido la clave de root en mi servidor?
La contraseña de administrador o root en un servidor con sistema operativo Linux no debemos olvidarla nunca, sin embargo, en el caso de que la hayamos olvidado o algún compañero de trabajo la haya cambiado y no tengamos la nueva, siempre podremos modificar o eliminar esta contraseña directamente desde el GRUB de arranque en nuestro sistema operativo. La contraseña de root siempre se almacena en local en un archivo en concreto, con el objetivo de poder autenticarnos cuando arranca el sistema operativo para acceder a él.
La ventaja de utilizar el GRUB para «recuperar» la contraseña es que es la forma más limpia de poder hacerlo sin necesidad de tener que formatear nuestro servidor y empezar desde cero. Además, también es la forma más rápida de hacerlo y no tendremos ningún tipo de pérdida de información. La desventaja de usar este método, es que cualquier usuario con acceso físico al servidor podría también resetear o borrar la contraseña de root de nuestro sistema operativo. Para evitar este tipo de problemas, es muy recomendable y necesario por seguridad, que el GRUB también tenga una contraseña de acceso, con el objetivo de evitar posibles problemas de seguridad y que alguien con acceso físico al servidor sea capaz de modificarnos nuestra contraseña de acceso. Eso sí, de hacer esto, hay que tener mucho cuidado en no perder esta clave, ya que sin ella sí que estaríamos perdidos y no podríamos solucionarlo de una forma tan sencilla.
Otras funciones de GRUB
GRUB contiene muchas funciones, que hacen de él uno de los mejores gestores de arranque actuales para la arquitectura x86. Vamos a ver algunas de las más importantes.
- GRUB nos proporciona un entorno basado en comandos: esta funcionalidad nos otorga gran flexibilidad para realizar la carga de los sistemas con algunas opciones específicas, o con la recopilación de información sobre el sistema. Durante mucho tiempo, las arquitecturas que eran diferentes x86, también usaban entornos previos a los sistemas operativos para realizar el arranque mediante una línea de comandos.
- Soporta el modo Direccionamiento Lógico de Bloques (LBA): este modo, coloca la conversión del direccionamiento utilizado para realizar búsqueda de archivos en las unidades de disco duro. Previamente a LBA, estos gestores de arranque tenían alguna limitación, donde la BIOS no podía encontrar archivos. Pero con LBA, permite que GRUB arranque los sistemas operativos desde particiones, directamente. Pero para que esto pueda ocurrir, la propia BIOS debe soportar este sistema. Actualmente, la gran mayoría de las BIOS son capaces de reconocer y soportar este sistema.
- Puede leer particiones EXT2: esto permite a GRUB acceder a archivos de configuración cada vez que el sistema arranca. Esto elimina la necesidad del usuario de escribir una versión de la primera etapa del gestor de arranque al MBR. En todo caso, esto ocurre cuando se realizan cambios en la configuración. Un caso donde el usuario necesita reinstalar GRUB en el MBR, es cuando la partición de arranque, se traslade de disco.
Además, GRUB cuenta con mucha terminología, la cual es también una de sus funciones más importantes. Esta hace referencia a los dispositivos como pueden ser los discos duros e incluso a las particiones en los mismos. Todo esto es muy importante si queremos configurar GRUB de forma que se puedan arrancar varios sistemas operativos.
Seguridad de GRUB
Una de las características de seguridad más importantes de GRUB es la capacidad de configurar una contraseña de arranque. Esto evita que los usuarios no autorizados accedan al sistema sin la contraseña correcta. Si alguien intenta iniciar sesión sin la contraseña, el sistema no permitirá el acceso y mostrará un mensaje de error.
Otra función de seguridad importante es la capacidad de verificar la integridad del sistema antes de iniciar el arranque. Esto se logra a través de la función de verificación de la suma de comprobación, que verifica que los archivos críticos del sistema no hayan sido modificados desde la última vez que se verificaron. Si se detecta una modificación, se emite una alerta y el sistema se bloquea para evitar la ejecución de código malicioso. Además, GRUB también proporciona una función de autenticación de firmware segura (SFA), que ayuda a proteger el sistema de arranque contra ataques de firmware maliciosos. Esta función se encarga de verificar la integridad de todo el firmware utilizado en el proceso de arranque, lo que ayuda a garantizar que el firmware no haya sido comprometido por malware o virus.
Por otro lado, GRUB también ofrece una función de ocultación del menú de arranque, que oculta el menú de selección de sistema operativo para evitar que los usuarios no autorizados accedan a sistemas operativos o configuraciones que no deberían tener acceso. Esto ayuda a proteger el sistema contra ataques maliciosos y aumenta la privacidad del usuario. Finalmente, GRUB también proporciona la capacidad de cifrar el disco duro, lo que ayuda a proteger los datos almacenados en el disco contra el acceso no autorizado. Esto es especialmente útil en entornos empresariales o gubernamentales donde la información confidencial debe ser protegida en todo momento. Lo cual nos da una capa de seguridad añadida a nuestro sistema.
Así puedes modificar o borrar la clave de root desde el GRUB
Si queremos recuperar la contraseña de root, o, mejor dicho, resetear esta contraseña, deberemos encender o reiniciar el sistema para acceder a la consola inicial de GRUB, la cual nos va a permitir iniciar el proceso de recuperación de contraseña y que cuando se despliega nos ofrece las siguientes opciones:
Para este caso seleccionamos la opción inicial, o bien entramos dentro de los diferentes kernel instalados.
Pulsamos la tecla «e» para acceder al editor de GRUB el cual tiene la siguiente apariencia. Allí usamos las flechas de desplazamiento de nuestro teclado paras ubicar la línea que inicia con «Linux» y al final de ella está el término «ro single«. Tenemos que cambiar la cadena «ro single» por «rw init=/bin/bash«. Debes acordarte quitar también el «single», ahora mismo en la siguiente captura está puesto si habéis seleccionado el kernel del modo recuperación.
Ahora debemos usar las teclas Ctrl + X o F10 para iniciar el modo de usuario simple (single-user) y una vez accedemos a la línea de consola ejecutamos el siguiente comando:
Lo que hará es cargar en modo lectura y escritura ejecutando el terminal bash, para resetear la contraseña de root. Esto nos permite habilitar permisos de escritura en el gestor de inicio del sistema, y poder realizar modificaciones en el sistema operativo.
Ejecutamos el popular comando:
passwd
Y podremos cambiar la contraseña del superusuario de manera fácil y rápida. Es en este paso cuando debemos elegir si queremos cambiar o eliminar la contraseña de root, ya que, si escribimos algo y aceptamos el texto, lo que hayamos escrito quedará como contraseña. En caso de querer eliminarla, no ingresaremos ningún texto y aceptaremos igualmente como nueva contraseña para el usuario root, después recibiremos la confirmación del cambio que acabamos de ejecutar, si hemos escrito algo será la nueva contraseña y si no hemos escrito nada, se eliminará la contraseña y no nos la solicitará a la entrada al root.
Después de esto podemos iniciar Linux de nuevo y acceder con el usuario root usando la contraseña que hemos establecido anteriormente, o accediendo directamente en caso de haberla borrado.
Con estos sencillos pasos lograremos cambiar o eliminar la contraseña de root, solo tenemos que fijarnos en lo que elegimos en el par de pasos intermedios, puesto que es lo más complicado de este método, el resto de pasos son sencillos y en pocos minutos podremos tener cambiada o eliminada nuestra contraseña root, desde aquí te recomendamos cambiarla, porque eliminarla puede ser altamente peligroso y muy poco recomendable.
¿Cómo proteger el GRUB?
Todo lo que tiene que ver con la seguridad es muy importante hoy en día. Tanto en casa como en el trabajo. Pero especialmente en entornos laborales, es extremadamente importante. Si bien siempre se agradece más seguridad, hay algunas veces que se debe tomar un trato especial con estos temas. Son los siguientes:
- En entornos laborales y profesionales.
- En equipos compartidos con diferentes usuarios.
- En equipos portátiles que no estén en casa de forma permanente.
- Cuando nuestro equipo sea usado a menudo por otros usuarios, y quede desatendido en ocasiones.
También tenemos diferentes formas en las que podemos proteger el GRUB. Esto es mediante las contraseñas, y para ello podemos aplicar varios pasos.
- Bloquear los accesos a la línea de comandos del GRUB.
- Bloquear la posibilidad de la edición de entradas del GRUB.
- Bloquear la capacidad de ejecutar las entradas del GRUB.
Lo más recomendable es hacer una copia de seguridad, a modo de precaución. Esto siempre nos dará un punto de retorno en caso de cometer algún error que corrompe un poco el funcionamiento del equipo. Luego tendremos que definir a los usuarios y sus contraseñas, incluido los que van a poder realizar modificaciones en el Grub. Esto último, tiene que ir acompañado de un sistema de cifrado de contraseñas. Una vez realizado, procedemos con la actualización del Grub, que es donde podremos establecer los bloqueos para ejecución o edición de entradas de esta función.
En este último paso tendremos cierta libertad para manejar permisos y diferentes reglas. Para lo cual la complejidad puede llegar a ser bastante alta, donde se va a requerir cierto nivel de conocimientos. Sobre todo si creamos reglas complejas que tengan niveles muy altos de permisos. Normalmente esto se hace en el sector profesional, y dependiendo de la cantidad de usuarios que deban tener unos permisos u otros puede ser más sencillo o no.
¿Es esto un fallo de seguridad de Linux?
Por lo sencillo del método, parece que se puede acceder a cualquier sistema operativo Linux a través del cambio o eliminación de la contraseña de root. Sin embargo, debemos tener presente que es necesario estar físicamente en el ordenador o servidor, o al menos, tener una interfaz de administración con acceso físico al equipo, de esta forma, podremos acceder al root. No se puede hacer vía remota a través de protocolos como SSH o Telnet, solamente con acceso físico.
Si quieres evitar que alguien pueda realizar este método para cambiar o eliminar la clave de root, tendrás que incorporar una contraseña de autenticación en el GRUB, sin esta contraseña no podrás iniciar el GRUB y proceder con el paso. Otra forma es cifrar por completo la partición del sistema operativo con LUKS o similares, de esta forma, no se podrá acceder al cambio del sistema operativo si no conocemos esta contraseña de paso.
Qué pasa al recuperar una contraseña
En el momento de recuperar una contraseña, pueden surgir varias cuestiones al respecto y, sobre todo, dudas sobre el proceso en general, como si es legal y la seguridad que puede implica este proceso. Por esto mismo, es importante dar respuesta a estas dudas generales.
Por ejemplo, hay que tener en cuenta que el hecho de recuperar esta contraseña de root en Linux no es algo que debamos realizar en todos los equipos que queramos. Lo suyo es que se realice este proceso en equipos propios en los que actuemos con el permiso del administrador en sí. Lo que hay que tener claro es que llevar a cabo este proceso sin autorización lo cierto es que podría meternos en problemas legales.
Además de esto, hay otras cuestiones relevantes. Como es el claro ejemplo de qué sucede si otros consiguen la contraseña. Hay que tener en cuenta que si se usa Linux, otro usuario que quieras acceder a nuestro PC puede llegar a recurrir a este método para modificar la contraseña de superusuario o robarla de nuestro equipo con el fin de tomar el control del ordenador. De ahí que los ciberdelincuentes vayan a atacar normalmente a las cuentas root.
Y, por otro lado, puede darse el caso de que se corrompan los datos del usuario y lleguemos a perder el acceso al perfil. Y eso no es todo, ya que podría darse el caso de que borres algo que no debes del sistema y ya no puedas seguir utilizando Linux.