Como parte de nuestra estrategia de seguridad, debemos considerar el establecimiento de medidas que nos protejan
contra intentos de ataque a nivel físico.
Accesos sin Contraseña
La mayoría de los sistemas operativos, por defecto, es vulnerable a ataques en los cuales el atacante tiene la
capacidad de acceder a los recursos físicos del mismo (teclado, mouse, controles de encendido, etc).
Es muy sencillo tener acceso a un sistema operativo si se puede iniciar la computadora desde otro medio de
arranque y/o si se pueden modificar sus opciones del gestor de arranque.
Por ejemplo, es posible pasar un parámetro al kernel Linux que le indique cuál es el programa que queremos
ejecutar apenas éste se termine de cargar (por defecto, este programa es ‘/sbin/init’).
Esto puede conseguirse seleccionando la opción de arranque del menú que queremos editar y presionando la tecla
“e”. Eso va a abrir el editor, que nos va a permitir modificar cualquier opción. Una vez realizadas las
modificaciones, podemos arrancar con la combinación de teclas “CTRL+x”.
La siguiente captura de pantalla muestra la edición de estos parámetros en el gestor de arranque GRUB2
(actualmente utilizado por la mayoría de las distribuciones).
Como podemos observar en la línea que empieza con “linux”, al final de la misma se está definiendo el parámetro
“init” como “/bin/bash”, lo cual va a generar que, al cargar el sistema, obtengamos algo como lo que muestra la
siguiente imagen:
En ese caso, ya tenemos una shell de root, por lo tanto, tenemos control total sobre el sistema operativo.
Para evitar que esto sea realizado por alguna persona malintencionada, debemos proteger tanto nuestra BIOS como
nuestro gestor de arranque (en este caso, GRUB2).
En el caso de la BIOS, va a depender de la versión y fabricante de nuestra placa madre (motherboard), pero siempre
es algo sencillo de realizar
Protección del Gestor de Arranque GRUB2
Para evitar que las opciones de arranque sean modificadas, podemos proteger el acceso al editor con una
contraseña. Para esto, primero debemos ejecutar el siguiente comando:
grub-mkpasswd-pbkdf2
El cual nos va a preguntar cuál es la contraseña que queremos definir y, una vez hecho esto, nos va a mostrar una
salida como la siguiente:
Your PBKDF2 is
grub.pbkdf2.sha512.10000.32B8E03C7A0806DD5D94966DCCBDA1A295B81A874AD0FA1CAC1A611BDA85
E8760EDA7B59B42C03CCA64E50952B346F4AC48A9D75991F4932588DC27E97DDFADE.4CE988BAF33E6
9D8543510514114459B4B22D44B2255539DDA9C9832DE0106409CC5A0628C292BA1F18A01D4C90D3AEA
25EBDA5A547C1F737A2D7B38DE19B093
Esto es nada más y nada menos que la contraseña seleccionada, procesada por el algoritmo PBKDF2
(http://en.wikipedia.org/wiki/PBKDF2) , el cual simplemente procesa la contraseña con un algoritmo de hash (en
este caso, SHA512) y un valor salt, lo cual vuelve extremadamente difícil adivinar la contraseña por cualquier
técnica de cracking conocida hasta el momento.
Debemos crear un archivo en el directorio de configuración de GRUB2 (‘/etc/grub.d’). Vamos a llamarlo
“01_password” (el nombre del archivo debe empezar con “01”, debido al orden en el que necesita ejecutarse).
En nuestro caso, el archivo creado sería: “/etc/grub.d/01_password”.
El contenido del archivo debe ser el siguiente:
============================================= #!/bin/bash cat << EOF set superusers="root" password_pbkdf2 root grub.pbkdf2.sha512.10000.32B8E03C7A0806DD5D94966DCCBDA1A295B81A874AD0FA1CAC1A611BDA85 E8760EDA7B59B42C03CCA64E50952B346F4AC48A9D75991F4932588DC27E97DDFADE.4CE988BAF33E6 9D8543510514114459B4B22D44B2255539DDA9C9832DE0106409CC5A0628C292BA1F18A01D4C90D3AEA 25EBDA5A547C1F737A2D7B38DE19B093 EOF =============================================
Básicamente, el archivo es un script que va a mostrar por pantalla las configuraciones necesarias para habilitar la
protección por contraseña. Luego, este archivo va a ser procesado, junto con los otros archivos de configuración y,
entre todos ellos, van a formar la configuración completa de GRUB2 (parece complejo, pero es una forma de
configuración modular y flexible).
Luego, debemos hacer que este archivo tenga permisos de ejecución, con el siguiente comando:
chmod u+x /etc/grub.d/01_password
Para actualizar la configuración de GRUB2 y que se apliquen los cambios que acabamos de realizar, debemos
ejecutar el siguiente comando:
update-grub2
Una vez hecho esto y reiniciado el sistema, si queremos editar alguna entrada se nos va a solicitar un usuario y
contraseña, como se muestra a continuación
0 Comentarios