Firejail - Ejecutar de forma segura aplicaciones no confiables en Linux


En ocasiones, es posible que desee utilizar aplicaciones que no se hayan probado bien en diferentes entornos, pero debe usarlas. En tales casos, es normal preocuparse por la seguridad de su sistema. Una cosa que se puede hacer en Linux es usar aplicaciones en un recinto de seguridad .

" Sandboxing " es la capacidad de ejecutar aplicaciones en un entorno limitado. De esa manera, se proporciona a la aplicación una cantidad apretada de recursos, necesarios para ejecutar. Gracias a la aplicación llamada Firejail , puede ejecutar de forma segura aplicaciones no confiables en Linux.

Firejail es una aplicación SUID (Establecer ID de usuario propietario) que reduce la exposición de las brechas de seguridad al limitar el entorno de ejecución de programas que no son de confianza usando 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, la tabla de montaje.

Algunas de las funciones que Firejail usa:

  • Linux namespaces
  • Filesystem container
  • Security filters
  • Networking support
  • Resource allocation

Puede encontrar información detallada sobre las características de Firejail en la página oficial.

Cómo instalar Firejail en Linux

La instalación se puede completar descargando el paquete más reciente de la página 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 de 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 un 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 compilado el proyecto desde la fuente, puede encontrar los perfiles en:

# path-to-firejail/etc/

Si ha usado 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 ruta al perfil y agregar sus líneas posteriormente. Esto debería verse algo como esto:

$ 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 realmente describir la ruta completa a la carpeta que desea restringir:

blacklist /home/user/Documents

Hay muchas formas diferentes de configurar sus perfiles de seguridad, como deshabilitar 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.