Preguntas frecuentes de SELinux (FAQ)

¡Hola a todos! Especialmente para los estudiantes del curso. "Seguridad Linux" hemos preparado una traducción de las FAQ oficiales del proyecto SELinux. Nos parece que esta traducción puede ser útil no solo para estudiantes, por eso la compartimos contigo.

Preguntas frecuentes de SELinux (FAQ)

Hemos intentado responder algunas de las preguntas más frecuentes sobre el proyecto SELinux. Las preguntas se dividen actualmente en dos categorías principales. Todas las preguntas y respuestas se dan en la página de preguntas frecuentes.

Descripción

Descripción

  1. ¿Qué es Linux con seguridad mejorada?
    Linux con seguridad mejorada (SELinux) es la implementación de referencia de la arquitectura de seguridad de Flask para un control de acceso flexible y aplicado. Fue creado para demostrar la utilidad de los mecanismos de aplicación flexibles y cómo dichos mecanismos pueden agregarse a un sistema operativo. Posteriormente, la arquitectura Flask se integró en Linux y se transfirió a varios otros sistemas, incluido el sistema operativo Solaris, el sistema operativo FreeBSD y el kernel de Darwin, lo que dio lugar a una amplia gama de trabajos relacionados. La arquitectura de Flask brinda soporte general para hacer cumplir muchos tipos de políticas de cumplimiento de control de acceso, incluidas aquellas basadas en los conceptos de cumplimiento de tipos, control de acceso basado en roles y seguridad multinivel.
  2. ¿Qué proporciona Linux con seguridad mejorada que Linux estándar no puede?
    El kernel de Linux con seguridad mejorada aplica políticas de control de acceso que restringen los programas de usuario y los servidores del sistema al conjunto mínimo de privilegios que requieren para hacer su trabajo. Con esta restricción, se reduce o elimina la capacidad de estos programas de usuario y demonios del sistema para causar daños en caso de compromiso (por ejemplo, debido a un desbordamiento de búfer o una configuración incorrecta). Este mecanismo de restricción funciona independientemente de los mecanismos tradicionales de control de acceso de Linux. No tiene el concepto de un superusuario "raíz" y no comparte las conocidas deficiencias de los mecanismos de seguridad tradicionales de Linux (por ejemplo, la dependencia de los binarios setuid/setgid).
    La seguridad de un sistema Linux no modificado depende de la corrección del kernel, todas las aplicaciones privilegiadas y cada una de sus configuraciones. Un problema en cualquiera de estas áreas puede comprometer todo el sistema. Por el contrario, la seguridad de un sistema modificado basado en el kernel de Linux con seguridad mejorada depende principalmente de la corrección del kernel y de la configuración de su política de seguridad. Si bien los problemas con la corrección o configuración de la aplicación 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 o para la seguridad del sistema en su conjunto.
  3. ¿Para qué es buena?
    Las nuevas características de seguridad mejorada de Linux están diseñadas para proporcionar segregación de información basada en requisitos de confidencialidad e integridad. Están diseñados para evitar que los procesos lean datos y programas, alteren datos y programas, pasen por alto los mecanismos de seguridad de las aplicaciones, ejecuten programas no confiables o interfieran con otros procesos en violación de la política de seguridad del sistema. También ayudan a limitar el daño potencial que pueden causar los programas maliciosos o defectuosos. 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 comprometer esos requisitos.
  4. ¿Cómo puedo obtener una copia?
    Muchas distribuciones de Linux incluyen soporte para SELinux ya integrado como función predeterminada o como paquete opcional. El código principal de la zona de usuario de SELinux está disponible en GitHub. Los usuarios finales generalmente deberían usar los paquetes proporcionados por su distribución.
  5. ¿Qué se incluye en su liberación?
    El lanzamiento de la NSA de SELinux incluye el código principal de la zona de usuario de SELinux. El soporte para SELinux ya está incluido en el kernel principal de Linux 2.6, disponible en kernel.org. El código principal de la zona de usuario de SELinux consta de una biblioteca para la manipulación de 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 espacio de usuario básico, necesitará una política y algunos paquetes de espacio de usuario con parches de SELinux para usar SELinux. La póliza se puede obtener de Proyecto de política de referencia de SELinux.
  6. ¿Puedo instalar Linux reforzado en un sistema Linux existente?
    Sí, solo puede instalar modificaciones de SELinux en un sistema Linux existente, o puede instalar una distribución de Linux que ya incluye compatibilidad con SELinux. SELinux consta de un kernel de Linux compatible con SELinux, un conjunto básico de bibliotecas y utilidades, algunos paquetes de usuario modificados y una configuración de políticas. Para instalarlo en un sistema Linux existente que carece de compatibilidad con SELinux, debe poder compilar el software y también tener otros paquetes de sistema necesarios. Si su distribución de Linux ya incluye soporte para SELinux, no necesita compilar o instalar la versión NSA de SELinux.
  7. ¿Qué tan compatible es Linux con seguridad mejorada con Linux sin modificar?
    Linux con seguridad mejorada proporciona compatibilidad binaria con las aplicaciones de Linux existentes y con los módulos del kernel de Linux existentes, pero algunos módulos del kernel pueden requerir modificaciones para interactuar correctamente con SELinux. Estas dos categorías de compatibilidad se analizan en detalle a continuación:

    • Compatibilidad de la aplicación
      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 API para aplicaciones de seguridad. Sin embargo, no hemos cambiado ninguna estructura de datos visible de la aplicación, ni hemos cambiado la interfaz de ninguna llamada al sistema existente, por lo que las aplicaciones existentes aún pueden ejecutarse siempre que la política de seguridad lo permita.
    • Compatibilidad con el módulo del kernel
      Inicialmente, SELinux solo brindaba compatibilidad inicial para los módulos del kernel existentes; era necesario volver a compilar dichos módulos con encabezados de kernel modificados para recoger los nuevos campos de seguridad 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 del núcleo existentes. Sin embargo, es posible que algunos módulos del kernel no interactúen bien con SELinux sin modificaciones. Por ejemplo, si un módulo del núcleo asigna y configura directamente un objeto del núcleo sin usar las funciones de inicialización normales, es posible que el objeto del núcleo no tenga la información de seguridad adecuada. Algunos módulos del núcleo también pueden carecer de controles de seguridad adecuados en sus operaciones; cualquier llamada existente a las funciones del kernel o funciones de permisos también activará las verificaciones de permisos de SELinux, pero es posible que se requieran 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 la configuración de la política de seguridad permite todas las operaciones necesarias.
  8. ¿Cuál es el propósito 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 forzados y proporcionar un sistema de trabajo simple con cambios mínimos en las aplicaciones. En un nivel inferior, una política tiene un conjunto de objetivos, descritos en la documentación de la política. Estos objetivos incluyen controlar el acceso a datos sin procesar, proteger la integridad del kernel, el software del sistema, la información de configuración del sistema y los registros del sistema, limitar el daño potencial que podría causar la explotación de una vulnerabilidad en un proceso que requiere privilegios, proteger los procesos privilegiados de ejecutar proteger el dominio y la función de administrador para que no inicien sesión sin la autenticación del usuario, evitar que los procesos normales del usuario interfieran con el sistema o los procesos de administración, y proteger a los usuarios y administradores de la explotación de vulnerabilidades en su navegador mediante código móvil malicioso.
  9. ¿Por qué se eligió Linux como plataforma base?
    Se eligió Linux como plataforma para la implementación de referencia inicial de este trabajo debido a su creciente éxito y entorno de desarrollo abierto. Linux brinda una excelente oportunidad para demostrar que esta funcionalidad puede tener éxito en un sistema operativo host y, al mismo tiempo, contribuir a la seguridad de un sistema ampliamente utilizado. La plataforma Linux también brinda una excelente oportunidad para que este trabajo obtenga la visión más amplia posible y tal vez sirva como base para investigaciones de seguridad adicionales por parte de otros entusiastas.
  10. ¿Por qué hiciste este trabajo?
    Laboratorio Nacional de Investigación de Seguridad de la Información La Agencia de Seguridad Nacional es responsable de la investigación y el desarrollo de tecnología avanzada para permitir que la NSA proporcione soluciones, productos y servicios de seguridad de la información a infraestructuras de información críticas para los intereses de seguridad nacional de los EE. UU.
    La creación de un sistema operativo seguro viable sigue siendo un importante desafío de investigación. Nuestro objetivo es crear una arquitectura eficiente que brinde el soporte necesario para la seguridad, ejecute programas de manera transparente para el usuario y sea atractiva para los proveedores. Creemos que un paso importante para lograr este objetivo es demostrar cómo los mecanismos de control de acceso forzado se pueden integrar con éxito en el sistema operativo principal.
  11. ¿Cómo se relaciona esto con investigaciones previas de OS NSA?
    Los investigadores del Laboratorio Nacional de Investigación de Aseguramiento de la NSA se han asociado con Secure Computing Corporation (SCC) para desarrollar una arquitectura de cumplimiento poderosa y flexible basada en Type Enforcement, un mecanismo iniciado por el sistema LOCK. La NSA y SCC desarrollaron dos arquitecturas prototipo basadas en Mach: DTMach y DTOS (http://www.cs.utah.edu/flux/dtos/). Luego, la NSA y el SCC trabajaron con el Flux Research Group de la Universidad de Utah para trasladar la arquitectura al sistema operativo Fluke Research. Durante esta migración, la arquitectura se perfeccionó para brindar un mejor soporte para las políticas de seguridad dinámicas. Esta arquitectura mejorada se ha denominado Flask (http://www.cs.utah.edu/flux/flask/). Ahora la NSA ha integrado la arquitectura Flask en el sistema operativo Linux para llevar la tecnología a la comunidad más amplia de desarrolladores y usuarios.
  12. ¿Linux con seguridad mejorada es un sistema operativo confiable?
    La frase "Sistema operativo confiable" generalmente se refiere a un sistema operativo que brinda suficiente soporte para seguridad y validación en capas para cumplir con un conjunto específico de requisitos gubernamentales. Linux con seguridad mejorada incorpora información útil de estos sistemas, pero se enfoca en el control de acceso forzado. El objetivo original de desarrollar Linux con seguridad mejorada era crear una funcionalidad útil que proporcionara beneficios de seguridad tangibles en una amplia gama de entornos del mundo real para demostrar esta tecnología. SELinux no es en sí mismo un sistema operativo de confianza, pero proporciona una característica de seguridad crítica—control de acceso forzado—necesario para un sistema operativo de confianza. SELinux se ha integrado en las distribuciones de Linux que se han clasificado de acuerdo con el perfil de protección de seguridad etiquetado. La información sobre los productos probados y probados se puede encontrar en http://niap-ccevs.org/.
  13. ¿Está realmente protegida?
    El concepto de un sistema seguro incluye muchos atributos (por ejemplo, seguridad física, seguridad del personal, etc.), y Linux con seguridad mejorada aborda solo un conjunto muy limitado de estos atributos (es decir, los controles de cumplimiento del sistema operativo). En otras palabras, "sistema seguro" significa lo suficientemente seguro para proteger cierta información en el mundo real de un adversario real contra el cual se advierte al propietario y/o usuario de la información. Linux con seguridad mejorada solo pretende mostrar los controles necesarios en un sistema operativo moderno como Linux, por lo que es poco probable que se ajuste a una definición interesante de un sistema seguro. Creemos que la tecnología demostrada en Linux con seguridad mejorada será útil para las personas que construyen sistemas seguros.
  14. ¿Qué habéis hecho para mejorar la garantía?
    El objetivo de este proyecto era agregar controles de acceso forzado con cambios mínimos a Linux. Este último objetivo limita severamente lo que se puede hacer para mejorar la garantía, por lo que no se ha trabajado para mejorar la garantía de Linux. Por otro lado, las mejoras se basan en trabajos previos sobre el diseño de una arquitectura de seguridad de alta seguridad, y la mayoría de estos principios de diseño se trasladaron a Linux con seguridad mejorada.
  15. ¿CCEVS evaluará Linux con seguridad mejorada?
    Por sí mismo, Linux con seguridad mejorada no está diseñado para abordar el conjunto completo de problemas de seguridad representados por un perfil de seguridad. Si bien sería posible evaluar solo su funcionalidad actual, creemos que dicha evaluación tendría un valor limitado. Sin embargo, hemos trabajado con otros para incluir esta tecnología en distribuciones de Linux que han sido evaluadas y distribuciones que están en evaluación. La información sobre los productos probados y probados se puede encontrar en http://niap-ccevs.org/.
  16. ¿Has intentado arreglar alguna vulnerabilidad?
    No, no buscamos ni encontramos ninguna vulnerabilidad en el curso de nuestro trabajo. Solo hemos contribuido lo mínimo necesario para agregar nuestros nuevos engranajes.
  17. ¿Este sistema está aprobado para uso gubernamental?
    Linux con seguridad mejorada no tiene aprobación especial o adicional para uso gubernamental sobre ninguna otra versión de Linux Linux con seguridad mejorada no tiene aprobación especial o adicional para uso gubernamental sobre cualquier otra versión de Linux.
  18. ¿En qué se diferencia esto de otras iniciativas?
    Linux con seguridad mejorada tiene una arquitectura bien definida para un control de acceso forzado flexible que ha sido probado experimentalmente con varios sistemas prototipo (DTMach, DTOS, Flask). Se han realizado estudios detallados sobre la capacidad de la arquitectura para soportar una amplia gama de políticas de seguridad y están disponibles en http://www.cs.utah.edu/flux/dtos/ и http://www.cs.utah.edu/flux/flask/.
    La arquitectura proporciona un control detallado sobre muchas abstracciones y servicios del núcleo que no están controlados por otros sistemas. Algunas de las características distintivas de un sistema Linux con seguridad extendida son:

    • Separación pura de la política de los derechos de ejecución
    • Interfaces de políticas bien definidas
    • Independencia de políticas y lenguajes de políticas específicos
    • Independencia de los formatos y contenidos específicos de las etiquetas de seguridad
    • Etiquetas y controles separados para objetos y servicios del kernel
    • Almacenamiento en caché de decisiones de acceso para mayor eficiencia
    • Soporte para cambios de política
    • Control sobre la inicialización y herencia de procesos y ejecución de programas.
    • Gestión de sistemas de archivos, directorios, archivos y descripciones de archivos abiertos
    • Gestión de sockets, mensajes e interfaces de red.
    • Control sobre el uso de "Oportunidades"
  19. ¿Cuáles son las restricciones de licencia para este sistema?
    Todo el código fuente encontrado en el sitio https://www.nsa.gov, se distribuye bajo los mismos términos que los códigos fuente originales. Por ejemplo, las correcciones para el kernel de Linux y las correcciones para muchas de las utilidades existentes disponibles aquí se publican bajo los términos Licencia pública general de GNU (GPL).
  20. ¿Hay controles de exportación?
    No hay controles de exportación adicionales para Linux con seguridad extendida en comparación con cualquier otra versión de Linux.
  21. ¿La NSA planea usarlo a nivel nacional?
    Por razones obvias, la NSA no comenta sobre el uso operativo.
  22. ¿Cambia la Declaración de garantías del 26 de julio de 2002 de Secure Computing Corporation la posición de la NSA de que SELinux estaba disponible bajo la Licencia pública general GNU?
    La posición de la NSA no ha cambiado. La NSA todavía cree 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. Cm. Comunicado de prensa de la NSA 2 de enero de 2001.
  23. ¿La NSA admite software de código abierto?
    Las iniciativas de seguridad del software de la NSA abarcan tanto software propietario como de código abierto, y hemos utilizado con éxito modelos propietarios y de código abierto en nuestras actividades de investigación. El trabajo de la NSA para mejorar la seguridad del software está motivado por una simple consideración: aprovechar al máximo nuestros recursos para proporcionar a los clientes de la NSA las mejores opciones de seguridad posibles en sus productos más utilizados. El objetivo 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 una variedad de mecanismos de transferencia. La NSA no respalda ni promueve ningún producto de software o modelo comercial en particular. Más bien, la NSA promueve la seguridad.
  24. ¿La NSA es compatible con Linux?
    Como se indicó anteriormente, la NSA no respalda ni promueve ningún producto o plataforma de software en particular; La NSA solo contribuye a aumentar la seguridad. La arquitectura Flask demostrada en la implementación de referencia de SELinux se ha portado a varios otros sistemas operativos, incluidos Solaris, FreeBSD y Darwin, se ha portado al hipervisor Xen y se ha aplicado a aplicaciones como X Window System, GConf, D-BUS y PostgreSQL. . Los conceptos de arquitectura Flask son ampliamente aplicables a una amplia gama de sistemas y entornos.

Cooperación

  1. ¿Cómo planeamos interactuar con la comunidad Linux?
    Aquí está nuestro país conjunto de páginas web en NSA.gov, que servirá como nuestra forma principal de publicar información de Linux con seguridad mejorada. Si está interesado en Linux con seguridad mejorada, lo invitamos a unirse a la lista de correo de desarrolladores, ver el código fuente y proporcionar sus comentarios (o código). Para unirse a la lista de correo de desarrolladores, consulte Página de la lista de correo de desarrolladores de SELinux.
  2. ¿Quién puede ayudar?
    SELinux ahora es mantenido y mejorado por la comunidad de software de código abierto de Linux.
  3. ¿La NSA financia algún trabajo de seguimiento?
    Actualmente, la NSA no está considerando propuestas de trabajo adicional.
  4. ¿Qué tipo de soporte está disponible?
    Tenemos la intención de resolver los problemas a través de la lista de correo. [email protected], pero no podremos responder a todas las preguntas relacionadas con un sitio en particular.
  5. ¿Quien ayudo? ¿Que hicieron?
    El prototipo de Linux con seguridad mejorada fue desarrollado por la NSA con socios de investigación de NAI Labs, Secure Computing Corporation (SCC) y MITRE Corporation. Mucho más material siguió después del lanzamiento público inicial. Ver la lista de participantes.
  6. ¿Cómo puedo saber más?
    Lo alentamos a que visite nuestras páginas web, lea la documentación y los trabajos de investigación anteriores, y participe en nuestra lista de correo. [email protected]

¿Le parece útil la traducción? ¡Escribe comentarios!

Fuente: habr.com

Añadir un comentario