-->

martes, 2 de junio de 2015

JAIL (JAULA) en fedora 22 "chroot"

Hola hoy toca explicar algo más específico de seguridad informática, y más particularmente el tema de jail o jaula en linux (en este caso fedora), primero que nada voy a explicarles un poco que es esto de jail, empecemos:

  1. Jail siempre funciona con la operación chroot que es la encargada de generar dicha jail.
  2. Chroot lo que hace es cambiar el directorio raíz para un proceso en particular o para todo lo que instalemos en dentro de ese directorio.
  3. Este directorio o jail permite que todo lo que esté dentro de el no pueda ver los demás directorios pues cree que ya está en la raíz del sistema y por ende no tendría acceso a las demás partes del sistema si alguna de estas aplicaciones fueran comprometidas.
  4. La jaula bloque para un ID o proceso determinado el acceso a otras áreas del sistema por lo que expliqué en el apartedo 3.
  5. El mecanismo chroot no puede defenderse de manipulaciones o acceso a este sistema como root pues en este caso si tendría acceso pues es el real root y podria ver el directorio raíz real de todo el sistema, por eso hay que tener mucho cuidado con esto....
  6. Para poder ejecutar una aplicación en esta jaula se debe de llenar la carpeta chroot con todos los archivos de dicha aplicación o dicho de otra manera más simple es instalar esta aplicación en el directorio chrooot.

Luego de explicar que es esto de jail o jaula o chroot vamos de lleno a explicar como implementarlo, para este ejemplo voy a meter a veracrypt dentro de la jaula:

  1. Hay que crear los directorios en nuestra distribución:
  2. Inicializamos la base de datos:
  3. El siguiente paso es descargar los archivos necesarios para poder ejecutar las aplicaciones desde chroot:
  4. Nos vamos al directorio:
  5. Nos vamos al directorio:
  6. Acá llega el punto más crucial, pues debemos instalar la aplicación dentro de chroot, esto puede variar dependiendo de la aplicación, en mi caso es un poco más complejo de lo normal, primero descargamos veracrypt dentro de la carpeta /home/tuusuario/chroot/veracrypt desde acá luego lo descomprimimos en ese mismo lugar y entramos en la carpeta desde la terminal:
  7. Para instalar es muy simple:
  8. Nos dira lo siguiente:



  9. Seleccionamo la opción 1


  10. Apretamos la letra "q" (sin comillas) para irnos al final de la liciencia y escribimos yes:

  11. Luego se instala, al final apretamos enter y listo:

  12. Como se habrán dado cuenta en la ultima pantalla muestra que se instalo en la raiz de root y no dentro de chroot, ahora el paso seria copiar cada uno de esos archivos que nos muestra esa pantalla dentro de chroot de la siguiente manera:
  13. Ya casi ya casi... ahora lo que debemos hacer es modificar el archivo llamado "veracrypt.desktop" (sin comillas):
  14. Nos va a aparecer algo como esto:
  15. Y modificamos la linea que dice: "Exec=/usr/bin/veracrypt" por: "Exec=/home/tuusuario/chroot/veracrypt/usr/bin/veracrypt" quedando de la siguiente manera:
  16. Nos va a aparecer algo como esto:
  17. Modificamos el archivo veracrypt-uninstall.sh:
  18. El código que aparece es:
  19. Y lo modificamos dejándolo así:
  20. Debemos desinstalar veracrypt pues no esta dentro de chroot, buuee si esta y ejecuta pero no desde chroot, asique ejecutamos:
  21. Copiamos el archivo que modificamos osea "veracrypt.desktop" a (esto es opcional por si queremos ejecutar la aplicación desde el verdadero raíz):
  22. Listo jejeje:




Datos importantes, si listan dentro de /home/tuusiario/chroot/veracrypt veran un listado de archivos similar al del raiz "/", esto lo hice solo como prueba pero si quicieran instalar alguna aplicacion diferente deben hacer:
dnf --installroot=/chroot/nombre_paquete -y install [nombre_paquete]

Ahora toca explicar que existe el comando chroot.... como en las imágenes anteriores


Con esto entrariamos en un bash muy básico pues es como un fedora dentro de otro, y por ende no tiene casi ningun comando ni nada, pero si tiran el comando "pwd" les va a salir "/" y era eso lo que queriamos...,
Ahora tiren los siguientes comandos para darle funcionalidad a ese bash:

Recuerden una cosa importante acá se pueden incluso crear usuarios y demás cosas, osea se puede jugar mucho con todo esto, aunque no niego que hay que tener cierta base de linux como para hacer este tipo de cosas, por ejemplo si instalan otra aplicacion como por ejemplo apache podrian ejecutarlo con el comando chroot y ese apache no tendira acceso al raíz del root real y asi pasa con cualquier aplicación....


Espero que les sea de su agrado el post, bueno sin más me despido...

No hay comentarios.:

Publicar un comentario