Si algo ha destacado de Linux desde siempre ha sido su seguridad. Y es que, en comparación con Windows, este sistema operativo de código abierto siempre se ha considerado infinitamente más seguro y a prueba de hackers, a pesar de la existencia de malware y vulnerabilidades para él. Las amenazas informáticas están constantemente evolucionando, y por ello es necesario proteger los sistemas operativos adecuadamente si queremos evitar disgustos. Pero en el caso de Linux, la cosa es diferente: y es que hasta su propio creador asegura que el sistema es tan seguro que no hace falta añadir nuevos módulos «inútiles» de seguridad.
La seguridad de los sistemas Linux es posible gracias a los distintos Linux Security Modules (LSM) que forman parte del sistema. LSM es un pequeño framework que hay dentro del Kernel que es el que se encarga de orquestar e implementar los distintos modelos de seguridad. Ahora mismo, algunos de los módulos de seguridad más conocidos para Linux son:
- SELinux (Security-Enhanced Linux). Desarrollado originalmente por la NSA, este es el más completo, y al mismo tiempo el más complejo. Gracias a él es posible implementar un sistema de control de acceso obligatorio (MAC) extremadamente granular, basado en políticas muy detalladas. Es el módulo de seguridad usado por las distros Linux empresariales, como Red Hat Enterprise Linux, Fedora o CentOS, además de ser una de las medidas estrella de la seguridad de Android.
- AppArmor. Es similar a SELinux. Este módulo también implementa MAC, pero con un enfoque mucho más sencillo y basado en perfiles por aplicación, definidos por rutas y permisos claros. Es el que utilizan las distros Linux de uso doméstico y para servidores, como Ubuntu o openSUSE. Es un sistema mucho más fácil de entender, tiene una buena integración con el software moderno, pero no es tan granular, ni flexible, como el anterior.
- Smack (Simplified Mandatory Access Control Kernel). Smack es un LSM más simple, pensado desde el inicio para sistemas embebidos y entornos controlados. Se utiliza, sobre todo, en sistemas embebidos, dispositivos industriales y en algunos proyectos específicos (como Tizen en su día). Es mucho más sencillo, consume menos recursos, pero su ecosistema es mucho más reducido.
- Landlock. Landlock es un LSM relativamente nuevo que permite a aplicaciones sin privilegios autoimponerse restricciones de seguridad, especialmente sobre el acceso al sistema de archivos. Se usa, sobre todo, como complemento de SELinux/AppArmor para brindar un plus de seguridad en aplicaciones modernas y sandboxing de procesos, pero su funcionalidad, aún, está muy limitada.
- TOMOYO Linux. Este módulo se centra en el comportamiento de los procesos, aprendiendo cómo funciona una aplicación antes de aplicar restricciones estrictas. Su uso es muy minoritario, y se usa, especialmente, en Japón.

Desde hace tres años, un equipo de investigadores estaba trabajando en un nuevo módulo de seguridad, TSEM, un módulo de seguridad diferente a todos los anteriores y que trae el sistema un enfoque de seguridad diferente: en lugar de decidir si un proceso puede o no acceder a un recurso, se encarga de evaluar la seguridad del sistema en función de eventos y del estado de confianza. Dicho de forma sencilla: TSEM no se centra en «permisos», sino en «confianza y comportamiento». Los investigadores han estado intentando incluir este módulo de seguridad en el Kernel principal sin recibir apenas revisión ni orientación clara del proceso de inclusión. Como respuesta, plantearon la posibilidad de llevar el caso a la Technical Advisory Board (TAB) de la Linux Foundation con el fin de poder obtener criterios más claros sobre cómo presentar estos nuevos módulos de seguridad.
Pero al propio creador de Linux, Linus Torvalds, no le ha sentado muy bien.
Hay demasiados módulos de seguridad «inútiles» en Linux
Sin ser borde, pero con su característica dureza, Linus Torvalds respondió con franqueza a la petición de estos desarrolladores. En la respuesta, el creador de Linux ha sido claro: y es que, si no pueden convencer a los actuales mantenedores de los LSM para incluir un nuevo módulo de seguridad, tampoco va a poder convencerle a él directamente. De hecho, ha sido en esta respuesta cuando ha admitido que ya hay demasiados módulos de seguridad «inútiles» o «redundantes» en el kernel. En este caso, los mantenedores de los módulos de seguridad consideran que TSEM no encaja dentro del Kernel porque se solapa con otras funciones de seguridad ya presentes, como Audit o IMA (Integrity Measurement Architecture), y no hay motivos para que viva dentro del Kernel en vez de como una solución externa.
Existe una línea fina entre diversidad y confusión cuando cada persona piensa que su enfoque de seguridad es el mejor. Y, por ello, antes de que la implementación de la seguridad se desmadre, el propio Linus sugiere que lo ideal es crear un estándar de seguridad, y centrarse en trabajar con las soluciones ya existentes en vez de crear nuevas por separado y que todo acabe siendo un caos.
Pese a su punto de vista, Linus también ha dejado claro que no quiere convertirse en árbitro de esta situación. Según sus propias declaraciones, ya hay demasiados debates internos entre los defensores de los distintos modelos de seguridad como para generar más.
¿Y qué opina la comunidad? Esta vez, parecen estar de acuerdo con el fundador de Linux. Y es que ya habían pedido en otras ocasiones una declaración formal para bloquear los LSM nuevos de manera que se pudiera mantener a Linux tecnológicamente cohesionado y evitar que la fragmentación vuelva a ocurrir como ocurrió en su día con los sistemas Unix comerciales.
