Hola a todos! Especialmente para los estudiantes del curso de seguridad de Linux, preparamos una traducción de las preguntas frecuentes oficiales de SELinux. Nos parece que esta traducción puede ser útil no solo para los estudiantes, por lo que la compartimos con usted.

Intentamos responder algunas de las preguntas más frecuentes sobre el proyecto SELinux. Actualmente, las preguntas se dividen en dos categorías principales. Todas las preguntas y respuestas se encuentran en la página de preguntas frecuentes .
Revisar
Revisar
- ¿Qué es Linux con seguridad mejorada?
Linux con seguridad avanzada (SELinux - Linux con seguridad mejorada) es la implementación de referencia de la arquitectura de seguridad de Flask para un control de acceso forzado flexible. Fue creado para demostrar la utilidad de los mecanismos flexibles de control de acceso forzado y cómo dichos mecanismos pueden agregarse al sistema operativo. La arquitectura de Flask se integró posteriormente en Linux y se transfirió a varios otros sistemas, incluido el sistema operativo Solaris, el sistema operativo FreeBSD y el núcleo Darwin, lo que dio lugar a una amplia gama de trabajos relacionados. La arquitectura Flask proporciona soporte general para la aplicación de muchos tipos de políticas de control de acceso forzado, incluidas las basadas en los conceptos de Aplicación de tipo, Control de acceso basado en roles y Seguridad multinivel. - ¿Qué le da a Linux con seguridad mejorada lo que Linux estándar no puede dar?
El kernel de Linux con seguridad mejorada establece políticas de control de acceso forzado que restringen los programas de usuario y los servidores del sistema al conjunto mínimo de privilegios que necesitan para hacer su trabajo. Con esta limitación, la capacidad de estos programas de usuario y demonios del sistema para hacer daño en caso de compromiso (por ejemplo, debido a un desbordamiento del búfer o configuración incorrecta) se reduce o elimina. Este mecanismo de restricción funciona independientemente de los mecanismos tradicionales de control de acceso de Linux. No tiene el concepto de superusuario raíz y no comparte las deficiencias conocidas de los mecanismos tradicionales de protección de Linux (por ejemplo, la dependencia de los archivos binarios setuid / setgid).
La seguridad de un sistema Linux no modificado depende de la corrección del núcleo, de todas las aplicaciones privilegiadas y de cada configuración. Un problema en cualquiera de estas áreas puede llevar a un compromiso de todo el sistema. Por el contrario, la seguridad de un sistema modificado basado en el kernel de Linux con seguridad mejorada depende, en primer lugar, de la corrección del kernel y la configuración de su política de seguridad. Aunque los problemas con la corrección o la configuración de las aplicaciones pueden permitir un compromiso limitado de los programas de usuario individuales y los demonios del sistema, no representan un riesgo de seguridad para otros programas de usuario y demonios del sistema ni para la seguridad del sistema en su conjunto. - ¿Para qué es bueno?
Las nuevas características de Linux con seguridad mejorada están diseñadas para proporcionar información compartida basada en requisitos de confidencialidad e integridad. Están diseñados para evitar los procesos de lectura de datos y programas, falsificación de datos y programas, eludir los mecanismos de seguridad de las aplicaciones, ejecutar programas no confiables o interferir con otros procesos en violación de la política de seguridad del sistema. También ayudan a limitar el daño potencial que puede causar el malware o los programas incorrectos. También deberían ser útiles para garantizar que los usuarios con diferentes permisos de seguridad puedan usar el mismo sistema para acceder a diferentes tipos de información con diferentes requisitos de seguridad sin perjuicio de estos requisitos. - ¿Cómo consigo una copia?
Muchas distribuciones de Linux incluyen compatibilidad con SELinux, ya incorporada como característica predeterminada o como paquete adicional. El código principal de Userland SELinux está disponible en GitHub . Los usuarios finales generalmente deben usar los paquetes proporcionados por su distribución. - ¿Qué se incluye en su lanzamiento?
La versión NSA SELinux incluye el código central de usuario de SELinux. El soporte de SELinux ya está incluido en el núcleo principal de Linux 2.6, disponible en kernel.org. El código central de usuario de SELinux consiste en una biblioteca para manipular políticas binarias (libsepol), un compilador de políticas (checkpolicy), una biblioteca para aplicaciones de seguridad (libselinux), una biblioteca para herramientas de administración de políticas (libsemanage) y varias utilidades relacionadas con políticas (policycoreutils).
Además del kernel habilitado para SELinux y el código de usuario principal, necesitará una política y algunos paquetes de espacio de usuario arreglados para que SELinux use SELinux. La política se puede obtener del proyecto de política de referencia SELinux . - ¿Puedo instalar Linux con protección mejorada en un sistema Linux existente?
Sí, solo puede instalar modificaciones de SELinux en su sistema Linux existente, o puede instalar una distribución de Linux que ya incluye soporte de SELinux. SELinux consiste en un núcleo Linux con soporte SELinux, un conjunto básico de bibliotecas y utilidades, algunos paquetes personalizados modificados y una configuración de políticas. Para instalarlo en un sistema Linux existente que carece de soporte SELinux, debe poder compilar el software, así como tener otros paquetes de sistema necesarios. Si su distribución de Linux ya incluye soporte para SELinux, no necesita construir o instalar la versión NSA SELinux. - ¿Cuán compatible es Linux con seguridad mejorada con Linux no modificado?
Linux con seguridad mejorada proporciona compatibilidad binaria con las aplicaciones de Linux existentes y con los módulos de kernel de Linux existentes, pero algunos módulos de kernel pueden requerir modificaciones para funcionar correctamente con SELinux. Estas dos categorías de compatibilidad se analizan en detalle a continuación:
- Compatibilidad de aplicaciones
SELinux proporciona compatibilidad binaria con aplicaciones existentes. Hemos ampliado las estructuras de datos del kernel para incluir nuevos atributos de seguridad y hemos agregado nuevas llamadas de API para aplicaciones de seguridad. Sin embargo, no cambiamos ninguna estructura de datos visible para las aplicaciones, y no cambiamos la interfaz de ninguna llamada al sistema existente, por lo que las aplicaciones existentes pueden funcionar sin cambios si la política de seguridad les permite funcionar. - Compatibilidad del módulo de kernel
Inicialmente, SELinux proporcionó compatibilidad inicial solo para los módulos del núcleo existentes; fue necesario volver a compilar dichos módulos de acuerdo con los encabezados de kernel modificados para capturar los nuevos campos de protección agregados a las estructuras de datos del kernel. Debido a que LSM y SELinux ahora están integrados en el núcleo principal de Linux 2.6, SELinux ahora proporciona compatibilidad binaria con los módulos de kernel existentes. Sin embargo, algunos módulos del kernel pueden no interactuar bien con SELinux. Por ejemplo, si un módulo del núcleo asigna e instala directamente un objeto del núcleo sin utilizar las funciones de inicialización habituales, entonces el objeto del núcleo puede no tener la información de seguridad adecuada. Algunos módulos del kernel también pueden carecer de controles de seguridad adecuados para sus operaciones; cualquier llamada existente a las funciones del kernel o las funciones de permisos también ejecutará las comprobaciones de permisos de SELinux, pero se pueden requerir controles más detallados o adicionales para hacer cumplir las políticas de MAC.
Linux con seguridad mejorada no debería crear problemas de interoperabilidad con los sistemas Linux normales si todas las operaciones necesarias están permitidas por la configuración de la política de seguridad.
- ¿Cuáles son los objetivos del ejemplo de configuración de la política de seguridad?
A un alto nivel, el objetivo es demostrar la flexibilidad y la seguridad de los controles de acceso forzado y proporcionar un sistema de trabajo simple con cambios mínimos en las aplicaciones. En un nivel inferior, una política tiene varios objetivos descritos en la documentación de la política. Estos objetivos incluyen la gestión del acceso a datos sin procesar, la protección de la integridad del núcleo, el software del sistema, la información de configuración del sistema y los registros del sistema, lo que limita el daño potencial que podría causar la explotación de una vulnerabilidad en un proceso que requiere privilegios, protegiendo los procesos privilegiados de la ejecución de código malicioso, proteger la función del administrador y el dominio de iniciar sesión sin autenticación del usuario, evitando la interferencia de los procesos ordinarios del usuario en el proceso del sistema procesos o procesos del administrador, así como proteger a los usuarios y administradores de la explotación de vulnerabilidades en su navegador con código móvil malicioso. - ¿Por qué se eligió Linux como plataforma base?
Linux fue elegido como la plataforma para la implementación de referencia inicial de este trabajo debido a su creciente éxito y entorno de desarrollo abierto. Linux ofrece una excelente oportunidad para demostrar que esta funcionalidad puede ser exitosa en el sistema operativo principal y, al mismo tiempo, contribuir a la seguridad del sistema ampliamente utilizado. La plataforma Linux también ofrece una excelente oportunidad para que este trabajo obtenga la visión más amplia posible y, posiblemente, servirá como base para la investigación de seguridad adicional de otros entusiastas. - ¿Por qué hiciste este trabajo?
El Laboratorio de Investigación de Seguridad de la Información Nacional de la Agencia de Seguridad Nacional es responsable de la investigación y el desarrollo de tecnología avanzada para que la NSA pueda proporcionar soluciones, productos y servicios de seguridad de la información para infraestructuras de información críticas para los intereses de seguridad nacional de los EE.
Crear un sistema operativo viable y seguro sigue siendo un desafío crítico de investigación. Nuestro objetivo es crear una arquitectura efectiva que brinde el soporte necesario para la seguridad; ejecutar programas es en gran medida transparente para el usuario y atractivo para los proveedores. Creemos que un paso importante para lograr este objetivo es demostrar cómo los mecanismos de control de acceso forzado pueden integrarse con éxito en el sistema operativo principal. - ¿Cómo se relaciona esto con investigaciones anteriores de la NSA?
Investigadores del Laboratorio Nacional de Investigación de Confiabilidad de la Información de la NSA, junto con Secure Computing Corporation (SCC), han desarrollado una arquitectura poderosa y flexible para el control de acceso forzado basado en Type Enforcement, un mecanismo desarrollado por primera vez para el sistema LOCK. NSA y SCC desarrollaron dos prototipos de la arquitectura basada en Mach: DTMach y DTOS ( http://www.cs.utah.edu/flux/dtos/ ). La NSA y SCC luego trabajaron con el equipo de investigación Flux de la Universidad de Utah para portar la arquitectura al sistema operativo de investigación Fluke. Durante esta migración, la arquitectura se perfeccionó para proporcionar un mejor soporte para políticas de seguridad dinámicas. Esta arquitectura mejorada se denominó Flask ( http://www.cs.utah.edu/flux/flask/ ). NSA ahora ha integrado la arquitectura Flask en el sistema operativo Linux para transferir esta tecnología a una comunidad más amplia de desarrolladores y usuarios. - ¿Es Linux con seguridad mejorada un sistema operativo confiable?
La frase "Sistema operativo confiable", por regla general, se refiere a un sistema operativo que proporciona suficiente soporte para la protección y validación multinivel para cumplir con un conjunto específico de requisitos gubernamentales. Linux con seguridad mejorada incluye ideas útiles de estos sistemas, pero se centra en el control de acceso forzado. La tarea inicial de desarrollar Linux con seguridad mejorada fue crear características útiles que brinden beneficios de seguridad tangibles en una amplia gama de entornos del mundo real para demostrar esta tecnología. SELinux en sí no es un sistema operativo confiable, pero proporciona una característica de seguridad crítica (control de acceso forzado) necesaria para un sistema operativo confiable. SELinux se ha integrado en distribuciones de Linux que han sido clasificadas de acuerdo con el Perfil de protección de seguridad etiquetado. Puede encontrar información sobre productos probados y verificados en http://niap-ccevs.org/ . - ¿Está ella realmente protegida?
El concepto de un sistema seguro incluye muchos atributos (por ejemplo, seguridad física, seguridad del personal, etc.) y Linux con direcciones de seguridad aumentadas solo un conjunto muy limitado de estos atributos (es decir, controles de acceso forzado en el sistema operativo). En otras palabras, "sistema seguro" significa lo suficientemente seguro como para proteger cierta información en el mundo real de un adversario real, del cual se advierte al propietario y / o usuario de la información. Linux con seguridad mejorada solo tiene la intención de demostrar los controles esenciales en un sistema operativo moderno como Linux, y por lo tanto, por sí solo, es poco probable que cumpla con alguna definición interesante de sistema seguro. Creemos que la tecnología demostrada en Linux con seguridad mejorada será útil para las personas que crean sistemas seguros. - ¿Qué has hecho para aumentar tu garantía?
El objetivo de este proyecto era agregar controles de acceso forzado haciendo cambios mínimos en Linux. Este último objetivo limita severamente lo que se puede hacer para aumentar la garantía, por lo que no hubo trabajo para aumentar la garantía de Linux. Las mejoras, por otro lado, se basan en trabajos previos sobre el desarrollo de una arquitectura de seguridad altamente confiable, y la mayoría de estos principios de diseño se han trasladado a Linux con seguridad mejorada. - ¿CCEVS evaluará Linux con seguridad mejorada?
Linux en sí con seguridad mejorada no está diseñado para abordar la gama completa de problemas de seguridad representados por el perfil de seguridad. Aunque sería posible evaluar solo su funcionalidad actual, creemos que dicha evaluación tendrá un valor limitado. Sin embargo, hemos trabajado con otros para incorporar esta tecnología en las distribuciones de Linux que se han evaluado y las distribuciones que se están evaluando. Puede encontrar información sobre productos probados y verificados en http://niap-ccevs.org/ . - ¿Has intentado arreglar alguna vulnerabilidad?
No, no buscamos y no encontramos ninguna vulnerabilidad en el curso de nuestro trabajo. Solo hemos hecho un mínimo para agregar nuestros nuevos mecanismos. - ¿Este sistema está aprobado para uso gubernamental?
Linux con seguridad mejorada no tiene aprobación especial o adicional para el uso del gobierno sobre cualquier otra versión de Linux. Linux con seguridad mejorada no tiene un permiso especial o adicional para el uso del gobierno sobre cualquier otra versión de Linux. - ¿Cómo es esto diferente de otras iniciativas?
Linux con seguridad mejorada tiene una arquitectura bien definida para el control de acceso forzado flexible, que se ha probado experimentalmente utilizando varios sistemas prototipo (DTMach, DTOS, Flask). Se han realizado estudios detallados sobre la capacidad de la arquitectura para admitir una amplia gama de políticas de seguridad y están disponibles en http://www.cs.utah.edu/flux/dtos/ y http://www.cs.utah.edu/flux/flask/ .
La arquitectura proporciona un control detallado sobre muchas abstracciones del núcleo y servicios que no están controlados por otros sistemas. Algunas de las características distintivas de un sistema Linux de seguridad mejorada son:
- Separación neta de la política de los derechos de aplicación
- Interfaces de políticas claramente definidas
- Independencia de políticas específicas y lenguajes de políticas
- Independencia de formatos y contenidos específicos de etiquetas de seguridad
- Etiquetas y controles separados para objetos y servicios del núcleo
- Soluciones de acceso de caché para la eficiencia
- Soporte de cambio de política
- Supervisión del proceso de inicialización y herencia y ejecución del programa.
- Administrar sistemas de archivos, directorios, archivos y descripciones de archivos abiertos
- Socket, mensajería y gestión de interfaz de red
- Monitoreo del uso de "Oportunidades"
- ¿Cuáles son las restricciones de licencia para este sistema?
Todo el código fuente que se encuentra en https://www.nsa.gov se distribuye bajo las mismas condiciones que el código fuente original. Por ejemplo, los parches para el kernel de Linux y los parches para muchas utilidades existentes disponibles aquí se publican bajo los términos de la Licencia Pública General (GPL) de GNU . - ¿Hay algún control de exportación?
Para Linux con seguridad mejorada, no hay controles de exportación adicionales en comparación con cualquier otra versión de Linux. - ¿La NSA planea usarlo en el país?
Por razones obvias, la NSA no comenta sobre el uso operativo. - ¿La Declaración de Garantía del 26 de julio de 2002 de Secure Computing Corporation cambia la posición de la NSA de que SELinux recibió la Licencia Pública General de GNU?
La posición de la NSA no ha cambiado. La NSA continúa creyendo que los términos y condiciones de la Licencia Pública General de GNU rigen el uso, la copia, la distribución y la modificación de SELinux. Ver comunicado de prensa de la NSA el 2 de enero de 2001 . - ¿La NSA admite software de código abierto?
Las iniciativas de seguridad de software de la NSA cubren software de código abierto y propietario, y hemos utilizado con éxito modelos de código abierto y de propietario en nuestras actividades de investigación. Los esfuerzos de la NSA para mejorar la seguridad del software están motivados por una simple consideración: utilizar nuestros recursos de la manera más eficiente posible para proporcionar a los clientes de la NSA las mejores opciones de seguridad posibles en sus productos más utilizados. El propósito del programa de investigación de la NSA es desarrollar avances tecnológicos que puedan compartirse con la comunidad de desarrollo de software a través de varios mecanismos de transferencia. La NSA no admite ni promueve ningún producto de software específico o modelo de negocio. Más bien, la NSA mejora la seguridad. - ¿La NSA es compatible con Linux?
Como se señaló anteriormente, la NSA no admite ni promociona ningún producto o plataforma de software en particular; La NSA solo contribuye a una mayor seguridad. La arquitectura de Flask demostrada en la implementación de referencia de SELinux ha sido portada a varios otros sistemas operativos, incluidos Solaris, FreeBSD y Darwin, portados al hipervisor Xen y aplicados a aplicaciones como X Window System, GConf, D-BUS y PostgreSQL. Los conceptos de arquitectura de matraces son ampliamente aplicables a una amplia gama de sistemas y entornos.
Colaboración
- ¿Cómo planeamos interactuar con la comunidad Linux?
Tenemos un conjunto de páginas web en NSA.gov que servirán como nuestra forma principal de publicar información de Linux con mayor seguridad. Si está interesado en Linux con seguridad mejorada, le recomendamos que se una a la lista de correo del desarrollador, vea el código fuente y proporcione sus comentarios (o código). Para unirse a la lista de correo del desarrollador, consulte la página de la lista de correo del desarrollador de SELinux . - ¿Quien puede ayudar?
SELinux ahora es compatible y desarrollado por la comunidad de desarrollo de software Linux de código abierto. - ¿La NSA financia algún trabajo de seguimiento?
Actualmente, la NSA no está considerando propuestas para más trabajo. - ¿Qué tipo de soporte está disponible?
Tenemos la intención de resolver los problemas a través de la lista de correo selinux@tycho.nsa.gov, pero no podremos responder todas las preguntas relacionadas con un sitio en particular. - Quien ayudo ¿Qué hicieron ellos?
El prototipo de seguridad mejorada de Linux fue desarrollado por la NSA en colaboración con socios de investigación de NAI Labs, Secure Computing Corporation (SCC) y MITRE Corporation. Después del lanzamiento público inicial, siguieron muchos otros materiales. Ver la lista de participantes . - ¿Cómo puedo obtener más información?
Le recomendamos que visite nuestras páginas web, lea documentación e investigaciones anteriores, y participe en nuestra lista de correo selinux@vger.kernel.org
¿Le resulta útil la traducción? Escribe comentarios!