Firejail: ejecute de forma segura aplicaciones que no sean de confianza en Linux


A veces, es posible que desee utilizar aplicaciones que no han sido bien probadas en diferentes entornos, pero debe utilizarlas. En tales casos, es normal preocuparse por la seguridad de su sistema. Una cosa que se puede hacer en Linux es usar aplicaciones en una caja de arena.

"Sandboxing" es la capacidad de ejecutar aplicaciones en un entorno limitado. De esa forma, la aplicación recibe una cantidad reducida de recursos necesarios para su ejecución. Gracias a la aplicación llamada Firejail, puede ejecutar de forma segura aplicaciones que no son de confianza en Linux.

Firejail es una aplicación SUID (Establecer ID de usuario del propietario) que reduce la exposición a las brechas de seguridad al limitar el entorno de ejecución de programas que no son de confianza que utilizan espacios de nombres de Linux y seccomp-bpf.

Hace que un proceso y todos sus descendientes tengan su propia vista secreta de los recursos del kernel compartidos globalmente, como la pila de red, la tabla de procesos y la tabla de montaje.

Algunas de las características que usa Firejail:

  • Espacios de nombres de Linux
  • Contenedor del sistema de archivos
  • Filtros de seguridad
  • Soporte de redes
  • Asignación de recursos

Se puede encontrar información detallada sobre las funciones de Firejail en la página oficial.

Cómo instalar Firejail en Linux

La instalación se puede completar descargando el último paquete de la página de github del proyecto usando el comando git como se muestra.

$ git clone https://github.com/netblue30/firejail.git
$ cd firejail
$ ./configure && make && sudo make install-strip

En caso de que no tenga git instalado en su sistema, puede instalarlo con:

$ sudo apt install git  [On Debian/Ubuntu]
# yum install git       [On CentOS/RHEL]
# dnf install git       [On Fedora 22+]

Una forma alternativa de instalar firejail es descargar el paquete asociado con su distribución de Linux e instalarlo con su administrador de paquetes. Los archivos se pueden descargar desde la página SourceForge del proyecto. Una vez que haya descargado el archivo, puede instalarlo con:

$ sudo dpkg -i firejail_X.Y_1_amd64.deb   [On Debian/Ubuntu]
$ sudo rpm -i firejail_X.Y-Z.x86_64.rpm   [On CentOS/RHEL/Fedora]

Cómo ejecutar aplicaciones con Firejail en Linux

Ahora está listo para ejecutar sus aplicaciones con firejail. Esto se logra iniciando una terminal y agregando firejail antes del comando que desea ejecutar.

Aquí hay un ejemplo:

$ firejail firefox    #start Firefox web browser
$ firejail vlc        # start VLC player

Firejail incluye muchos perfiles de seguridad para diferentes aplicaciones y se almacenan en:

/etc/firejail

Si ha creado el proyecto desde la fuente, puede encontrar los perfiles en:

# path-to-firejail/etc/

Si ha utilizado el paquete rpm/deb, puede encontrar los perfiles de seguridad en:

/etc/firejail/

Los usuarios deben colocar sus perfiles en el siguiente directorio:

~/.config/firejail

Si desea extender un perfil de seguridad existente, puede usar incluir con la ruta al perfil y agregar sus líneas después. Esto debería verse así:

$ cat ~/.config/firejail/vlc.profile

include /etc/firejail/vlc.profile
net none

Si desea restringir el acceso de la aplicación a cierto directorio, puede usar una regla de lista negra para lograr exactamente eso. Por ejemplo, puede agregar lo siguiente a su perfil de seguridad:

blacklist ${HOME}/Documents

Otra forma de lograr el mismo resultado es describir realmente la ruta completa a la carpeta que desea restringir:

blacklist /home/user/Documents

Hay muchas formas diferentes en las que puede configurar sus perfiles de seguridad, como no permitir el acceso, permitir el acceso de solo lectura, etc. Si está interesado en crear perfiles personalizados, puede consultar las siguientes instrucciones de Firejail.

Firejail es una herramienta increíble para los usuarios preocupados por la seguridad que desean proteger su sistema.