Las aplicaciones que instalamos en sistemas operativos como Windows o Mac suelen traer suficientes registros se seguridad como para salvaguardar nuestros datos e informaciones más sensibles en situaciones normales, aunque nunca estaremos exentos de robo de identidad o entrada de malware. Sin embargo, en el sistema operativo Linux todo es más abierto y necesitaremos un extra de sandboxing para salvaguardar nuestra seguridad al mismo tiempo que usamos aplicaciones y navegamos por Internet.
En este artículo, vamos a ver algunas aplicaciones sandboxing que podemos instalar en nuestras distribuciones de Linux para mejorar en dicho aspecto y algunos consejos prácticos.
¿Qué es sandboxing?
Sandboxing hace referencia a «entorno aislado». Se trata de una capa extra de protección como medida de prevención para detectar las diferentes amenazas que los endpoints (ordenadores, móviles, tablets…) no logran identificar.
Aplicaciones sandboxing para Linux
Hemos recopilado una serie de aplicaciones que funcionan de diferentes maneras para atribuir seguridad a nuestro sistema operativo Linux.
Flatpak
Flatpak es un administrador de paquetes universal para el sistema operativo Linux. Su principal función es proveer de un formato de paquete universal, capaz de funcionar con la mayoría de distribuciones para proporcionar cierto control de permisos. Sin embargo, no es el mejor sandboxing, aún tiene mucho margen de mejora.
Aun así, es capaz de anular aplicaciones a través de comandos, algo muy útil. Eso sí, te recomendamos quitarle algunos permisos como el acceso a Internet, acceso a salida y entrada de audio y acceso al monedero.
Firejail
Seguimos con Firejail, otro de los métodos de mejora de sandboxing para Linux. En este caso, estamos delante de un setuid binario de gran tamaño (conjunto de permisos que pueden asignarse a archivos o directorios) capaz de gestionar de manera eficiente todos los permisos.
Sin embargo, existen muchas investigaciones a cerca del tema que declaran que Firejail puede, en ocasiones, empeorar la seguridad del dispositivo. Te dejamos un enlace a una de ellas.
La importancia del control de acceso obligatorio en Linux
Los sistemas de control de acceso obligatorio se componen por un conjunto de archivos que contienen políticas de refuerzo de restricciones del sistema. Los dos sistemas principales de este control son SELinux y AppArmor.
Fedora y Android usan SELinux de manera predeterminada, haciendo que se limiten los procesos en segundo plano. Es muy importante que jamás deshabilitemos esta opción.
Otras opciones como openSUSE ofrecen ambas opciones, tanto SELinux como AppArmor durante el proceso de instalación. Aunque realmente es recomendable ceñirse a la configuración predeterminada para cada uno, es decir, AppArmor para Tumbleweed y SELinux para MicroOS.
Por otro lado, están las distribuciones para Linux basadas en Arch, que no tienen un sistema de control de acceso obligatorio de manera inicial. En este caso, se debe configurar de manera manual con una de las alternativas anteriores.
Para mayor seguridad, crea tus propios perfiles
Otra opción muy interesante para mejorar el sandboxing de Linux es crear perfiles de políticas de permisos dentro de AppArmor o SELinux con listas negras de aplicaciones. Se trata de una tarea más avanzada, no apta para principiantes, pero muy efectiva. Como decimos, es un proceso muy complejo, pero aquí te dejamos un ejemplo realizado en AppArmor.
Protege los contenedores de Linux
Si estás trabajando en un servidor común, es posible que hayas oído hablar de los contenedores de Linux (Docker o Podman). Son espacios muy comunes para aplicaciones de uso independiente.
Por un lado, tenemos Docker, una de las soluciones más comunes, pero que no ejecuta un sandbox adecuado, por lo que existe una gran superficie de ataque en el kernel o núcleo. Su funcionamiento se basa en el funcionamiento en segundo plano y esa es la razón de que si algo falla, podríamos estar en peligro.
Por otro lado tenemos a Podman, asegurado con SELinux para aislar los contenedores entre sí. Si bien Docker requiere de root, Podman puede ejecutarse sin él y además no requiere de actividad en segundo plano. De esta manera, si un contenedor cae, el resto no se ve afectado.
Conclusiones
Ya hemos visto la importancia del sandboxing en Linux. Mientras otros sistemas operativos como Windows, MacOS o Android hacen que nos despreocupemos de este aspecto, Linux requiere que le prestemos buena atención.
La seguridad es el aspecto principal en el mundo de la informática y salvaguardarla con ese extra de seguridad que hemos visto es tremendamente importante en sistemas operativos de código abierto y tan amplias como Linux.