Perguntas frequentes sobre o SELinux (FAQ)

Olá a todos! Especialmente para alunos do curso "Segurança Linux" preparamos uma tradução do FAQ oficial do projeto SELinux. Parece-nos que esta tradução pode ser útil não apenas para os alunos, por isso a compartilhamos com você.

Perguntas frequentes sobre o SELinux (FAQ)

Tentamos responder a algumas das perguntas mais frequentes sobre o projeto SELinux. As perguntas estão atualmente divididas em duas categorias principais. Todas as perguntas e respostas são dadas na página de perguntas frequentes.

visão global

visão global

  1. O que é Linux com Segurança Aprimorada?
    O Security-enhanced Linux (SELinux) é a implementação de referência da arquitetura de segurança Flask para controle de acesso forçado e flexível. Ele foi criado para demonstrar a utilidade de mecanismos de imposição flexíveis e como esses mecanismos podem ser adicionados a um sistema operacional. A arquitetura Flask foi posteriormente integrada ao Linux e portada para vários outros sistemas, incluindo o sistema operacional Solaris, o sistema operacional FreeBSD e o kernel Darwin, dando origem a uma ampla gama de trabalhos relacionados. A arquitetura Flask fornece suporte geral para impor muitos tipos de políticas de imposição de controle de acesso, incluindo aquelas baseadas nos conceitos de Type Enforcement, Role-based Access Control e Multi-level Security.
  2. O que o Linux com segurança aprimorada oferece que o Linux padrão não pode?
    O kernel do Linux com segurança aprimorada reforça as políticas de controle de acesso que restringem os programas do usuário e os servidores do sistema ao conjunto mínimo de privilégios de que precisam para realizar seu trabalho. Com essa restrição, a capacidade desses programas de usuário e daemons do sistema de causar danos em caso de comprometimento (por exemplo, devido a um estouro de buffer ou configuração incorreta) é reduzida ou eliminada. Esse mecanismo de restrição funciona independentemente dos mecanismos tradicionais de controle de acesso do Linux. Ele não possui o conceito de um superusuário "root" e não compartilha as deficiências conhecidas dos mecanismos de segurança tradicionais do Linux (por exemplo, dependência de binários setuid/setgid).
    A segurança de um sistema Linux não modificado depende da exatidão do kernel, de todos os aplicativos privilegiados e de cada uma de suas configurações. Um problema em qualquer uma dessas áreas pode comprometer todo o sistema. Em contraste, a segurança de um sistema modificado baseado no kernel Linux com segurança aprimorada depende principalmente da correção do kernel e da configuração de sua política de segurança. Embora os problemas com a correção ou configuração do aplicativo possam permitir o comprometimento limitado de programas de usuário individuais e daemons do sistema, eles não representam um risco de segurança para outros programas de usuário e daemons do sistema ou para a segurança do sistema como um todo.
  3. Para que ela serve?
    Os novos recursos aprimorados de segurança do Linux são projetados para fornecer segregação de informações com base em requisitos de confidencialidade e integridade. Eles são projetados para impedir que os processos leiam dados e programas, adulterem dados e programas, contornem os mecanismos de segurança do aplicativo, executem programas não confiáveis ​​ou interfiram em outros processos que violem a política de segurança do sistema. Eles também ajudam a limitar os danos potenciais que podem ser causados ​​por malware ou programas com bugs. Eles também devem ser úteis para garantir que usuários com diferentes permissões de segurança possam usar o mesmo sistema para acessar diferentes tipos de informações com diferentes requisitos de segurança sem comprometer esses requisitos.
  4. Como posso obter uma cópia?
    Muitas distribuições Linux incluem suporte para SELinux já incorporado como um recurso padrão ou como um pacote opcional. O código principal do userland do SELinux está disponível em GitHub. Os usuários finais geralmente devem usar os pacotes fornecidos por sua distribuição.
  5. O que está incluído no seu lançamento?
    A versão NSA do SELinux inclui o código de userland principal do SELinux. O suporte para SELinux já está incluído no kernel Linux 2.6 mainstream, disponível em kernel.org. O código central do usuário do SELinux consiste em uma biblioteca para manipulação de políticas binárias (libsepol), um compilador de políticas (checkpolicy), uma biblioteca para aplicativos de segurança (libselinux), uma biblioteca para ferramentas de gerenciamento de políticas (libsemanage) e vários utilitários relacionados a políticas ( policycoreutils).
    Além do kernel habilitado para SELinux e do código básico de userland, você precisará de uma política e alguns pacotes de espaço de usuário corrigidos pelo SELinux para usar o SELinux. A apólice pode ser obtida em Projeto de política de referência do SELinux.
  6. Posso instalar o Linux reforçado em um sistema Linux existente?
    Sim, você só pode instalar modificações SELinux em um sistema Linux existente ou pode instalar uma distribuição Linux que já inclua suporte SELinux. O SELinux consiste em um kernel do Linux com suporte ao SELinux, um conjunto básico de bibliotecas e utilitários, alguns pacotes de usuário modificados e uma configuração de política. Para instalá-lo em um sistema Linux existente sem suporte ao SELinux, você deve ser capaz de compilar o software e também ter outros pacotes de sistema necessários. Se sua distribuição Linux já inclui suporte para SELinux, você não precisa construir ou instalar a versão NSA do SELinux.
  7. Quão compatível é o Linux com segurança aprimorada com o Linux não modificado?
    O Linux com segurança aprimorada fornece compatibilidade binária com aplicativos Linux existentes e com módulos de kernel Linux existentes, mas alguns módulos de kernel podem exigir modificações para interagir adequadamente com o SELinux. Essas duas categorias de compatibilidade são discutidas em detalhes abaixo:

    • Compatibilidade de aplicativos
      O SELinux fornece compatibilidade binária com aplicativos existentes. Estendemos as estruturas de dados do kernel para incluir novos atributos de segurança e adicionamos novas chamadas de API para aplicativos de segurança. No entanto, não alteramos nenhuma estrutura de dados visível ao aplicativo, nem alteramos a interface de nenhuma chamada de sistema existente; portanto, os aplicativos existentes ainda podem ser executados desde que a política de segurança permita.
    • Compatibilidade do módulo do kernel
      Inicialmente, o SELinux fornecia apenas compatibilidade inicial para módulos de kernel existentes; foi necessário recompilar tais módulos com cabeçalhos de kernel modificados para selecionar os novos campos de segurança adicionados às estruturas de dados do kernel. Como o LSM e o SELinux agora estão integrados ao kernel Linux 2.6 principal, o SELinux agora oferece compatibilidade binária com os módulos existentes do kernel. No entanto, alguns módulos do kernel podem não interagir bem com o SELinux sem modificação. Por exemplo, se um módulo de kernel aloca e configura diretamente um objeto de kernel sem usar as funções normais de inicialização, o objeto de kernel pode não ter as informações de segurança adequadas. Alguns módulos do kernel também podem não ter controles de segurança adequados em suas operações; quaisquer chamadas existentes para funções de kernel ou funções de permissão também acionarão verificações de permissão do SELinux, mas controles adicionais ou mais refinados podem ser necessários para impor as políticas de MAC.
      O Linux com segurança aprimorada não deve criar problemas de interoperabilidade com sistemas Linux regulares se todas as operações necessárias forem permitidas pela configuração da política de segurança.
  8. Qual é a finalidade do exemplo de configuração da política de segurança?
    Em alto nível, o objetivo é demonstrar a flexibilidade e a segurança dos controles de acesso obrigatórios e fornecer um sistema de trabalho simples com alterações mínimas no aplicativo. Em um nível inferior, uma política possui um conjunto de objetivos, descritos na documentação da política. Esses objetivos incluem controlar o acesso bruto aos dados, proteger a integridade do kernel, software do sistema, informações de configuração do sistema e logs do sistema, limitar o dano potencial que pode ser causado pela exploração de uma vulnerabilidade em um processo que requer privilégios, proteger processos privilegiados de execução código mal-intencionado, proteger a função e o domínio do administrador contra login sem autenticação do usuário, impedir que os processos normais do usuário interfiram no sistema ou nos processos administrativos e proteger os usuários e administradores de explorar vulnerabilidades em seus navegadores por meio de código móvel mal-intencionado.
  9. Por que o Linux foi escolhido como plataforma base?
    O Linux foi escolhido como plataforma para a implementação de referência inicial deste trabalho devido ao seu crescente sucesso e ambiente de desenvolvimento aberto. O Linux oferece uma excelente oportunidade para demonstrar que essa funcionalidade pode ser bem-sucedida em um sistema operacional host e, ao mesmo tempo, contribuir para a segurança de um sistema amplamente utilizado. A plataforma Linux também oferece uma excelente oportunidade para este trabalho obter a visão mais ampla possível e talvez servir como base para pesquisas adicionais de segurança por outros entusiastas.
  10. Por que você fez este trabalho?
    Laboratório Nacional de Pesquisa em Segurança da Informação A Agência de Segurança Nacional é responsável pela pesquisa e desenvolvimento de tecnologia avançada para permitir que a NSA forneça soluções, produtos e serviços de segurança da informação para infraestruturas de informação críticas para os interesses de segurança nacional dos EUA.
    Criar um sistema operacional seguro viável continua sendo um grande desafio de pesquisa. Nosso objetivo é criar uma arquitetura eficiente que forneça o suporte necessário para segurança, execute programas de maneira amplamente transparente para o usuário e seja atraente para os fornecedores. Acreditamos que um passo importante para atingir esse objetivo é demonstrar como os mecanismos de controle de acesso forçado podem ser integrados com sucesso ao sistema operacional principal.
  11. Como isso se relaciona com a pesquisa anterior do OS NSA?
    Pesquisadores do National Assurance Research Laboratory da NSA fizeram parceria com a Secure Computing Corporation (SCC) para desenvolver uma arquitetura de aplicação poderosa e flexível baseada em Type Enforcement, um mecanismo pioneiro do sistema LOCK. A NSA e a SCC desenvolveram duas arquiteturas de protótipo baseadas em Mach: DTMach e DTOS (http://www.cs.utah.edu/flux/dtos/). A NSA e a SCC trabalharam com o Flux Research Group na Universidade de Utah para portar a arquitetura para o Fluke Research Operating System. Durante essa migração, a arquitetura foi refinada para fornecer melhor suporte para políticas de segurança dinâmicas. Essa arquitetura aprimorada foi chamada de Flask (http://www.cs.utah.edu/flux/flask/). Agora, a NSA integrou a arquitetura Flask ao sistema operacional Linux para levar a tecnologia à comunidade mais ampla de desenvolvedores e usuários.
  12. O Linux com segurança aprimorada é um sistema operacional confiável?
    A frase "Sistema operacional confiável" geralmente se refere a um sistema operacional que fornece suporte suficiente para segurança e validação em camadas para atender a um conjunto específico de requisitos governamentais. O Linux com segurança aprimorada incorpora informações úteis desses sistemas, mas se concentra no controle de acesso imposto. O objetivo original de desenvolver o Linux com segurança aprimorada era criar uma funcionalidade útil que fornecesse benefícios de segurança tangíveis em uma ampla variedade de ambientes do mundo real para demonstrar essa tecnologia. O SELinux em si não é um sistema operacional confiável, mas fornece um recurso de segurança crítico – controle de acesso forçado – necessário para um sistema operacional confiável. O SELinux foi integrado em distribuições Linux que foram classificadas de acordo com o Labeled Security Protection Profile. Informações sobre produtos testados e testados podem ser encontradas em http://niap-ccevs.org/.
  13. Ela está realmente protegida?
    O conceito de um sistema seguro inclui muitos atributos (por exemplo, segurança física, segurança pessoal, etc.), e o Linux com segurança aprimorada aborda apenas um conjunto muito restrito desses atributos (ou seja, os controles de imposição do sistema operacional). Em outras palavras, "sistema seguro" significa seguro o suficiente para proteger alguma informação no mundo real de um adversário real contra o qual o proprietário e/ou usuário da informação é advertido. O Linux com segurança aprimorada destina-se apenas a mostrar os controles necessários em um sistema operacional moderno como o Linux e, portanto, é improvável que ele se encaixe em qualquer definição interessante de um sistema seguro. Acreditamos que a tecnologia demonstrada no Linux com segurança aprimorada será útil para pessoas que constroem sistemas seguros.
  14. O que você fez para melhorar a garantia?
    O objetivo deste projeto era adicionar controles de acesso forçado com alterações mínimas ao Linux. Este último objetivo limita severamente o que pode ser feito para melhorar a garantia, então não houve trabalho para melhorar a garantia do Linux. Por outro lado, as melhorias se baseiam no trabalho anterior de projetar uma arquitetura de segurança de alta segurança, e a maioria desses princípios de design foi transportada para o Linux com segurança aprimorada.
  15. O CCEVS avaliará o Linux com segurança aprimorada?
    Por si só, o Linux com segurança aprimorada não foi projetado para lidar com o conjunto completo de problemas de segurança representados por um perfil de segurança. Embora seja possível avaliar apenas sua funcionalidade atual, acreditamos que tal avaliação seria de valor limitado. No entanto, trabalhamos com outros para incluir essa tecnologia nas distribuições Linux que foram avaliadas e nas distribuições que estão em avaliação. Informações sobre produtos testados e testados podem ser encontradas em http://niap-ccevs.org/.
  16. Você já tentou corrigir alguma vulnerabilidade?
    Não, não procuramos ou encontramos vulnerabilidades durante nosso trabalho. Nós contribuímos apenas com o mínimo necessário para adicionar nossos novos equipamentos.
  17. Este sistema é aprovado para uso do governo?
    O Linux com segurança aprimorada não possui aprovação especial ou adicional para uso governamental em relação a qualquer outra versão do Linux O Linux com segurança aprimorada não possui aprovação especial ou adicional para uso governamental em relação a qualquer outra versão do Linux.
  18. Como isso é diferente de outras iniciativas?
    O Linux com segurança aprimorada tem uma arquitetura bem definida para controle de acesso forçado flexível que foi testado experimentalmente com vários sistemas protótipos (DTMach, DTOS, Flask). Estudos detalhados foram realizados sobre a capacidade da arquitetura de suportar uma ampla gama de políticas de segurança e estão disponíveis em http://www.cs.utah.edu/flux/dtos/ и http://www.cs.utah.edu/flux/flask/.
    A arquitetura fornece controle refinado sobre muitas abstrações e serviços do kernel que não são controlados por outros sistemas. Algumas das características distintivas de um sistema Linux com segurança estendida são:

    • Separação pura da política dos direitos de execução
    • Interfaces de políticas bem definidas
    • Independência de políticas específicas e linguagens políticas
    • Independência de formatos e conteúdos específicos de etiquetas de segurança
    • Rótulos e controles separados para objetos e serviços do kernel
    • Decisões de acesso em cache para eficiência
    • Suporte para mudanças de política
    • Controle sobre a inicialização e herança do processo e execução do programa
    • Gerenciar sistemas de arquivos, diretórios, arquivos e descrições de arquivos abertos
    • Gerenciamento de soquetes, mensagens e interfaces de rede
    • Controle sobre o uso de "Oportunidades"
  19. Quais são as restrições de licenciamento para este sistema?
    Todo o código fonte encontrado no site https://www.nsa.gov, é distribuído sob os mesmos termos dos códigos-fonte originais. Por exemplo, correções para o kernel do Linux e correções para muitos dos utilitários existentes disponíveis aqui são lançadas sob os termos Licença Pública Geral GNU (GPL).
  20. Existem controles de exportação?
    Não há controles de exportação adicionais para Linux com segurança estendida em comparação com qualquer outra versão do Linux.
  21. A NSA planeja usá-lo domesticamente?
    Por razões óbvias, a NSA não comenta o uso operacional.
  22. A Declaração de Garantias de 26 de julho de 2002 da Secure Computing Corporation altera a posição da NSA de que o SELinux foi disponibilizado sob a GNU General Public License?
    A posição da NSA não mudou. A NSA ainda acredita que os termos e condições da GNU General Public License regem o uso, cópia, distribuição e modificação do SELinux. Cm. Comunicado de imprensa da NSA em 2 de janeiro de 2001.
  23. A NSA oferece suporte a software de código aberto?
    As iniciativas de segurança de software da NSA abrangem software proprietário e de código aberto, e usamos com sucesso modelos proprietários e de código aberto em nossas atividades de pesquisa. O trabalho da NSA para melhorar a segurança do software é motivado por uma consideração simples: aproveitar ao máximo nossos recursos para fornecer aos clientes da NSA as melhores opções de segurança possíveis em seus produtos mais usados. O objetivo do programa de pesquisa da NSA é desenvolver avanços tecnológicos que possam ser compartilhados com a comunidade de desenvolvimento de software por meio de uma variedade de mecanismos de transferência. A NSA não endossa nem promove nenhum produto de software ou modelo de negócios em particular. Em vez disso, a NSA promove a segurança.
  24. A NSA suporta Linux?
    Conforme observado acima, a NSA não endossa ou promove nenhum produto ou plataforma de software em particular; A NSA só contribui para aumentar a segurança. A arquitetura Flask demonstrada na implementação de referência do SELinux foi portada para vários outros sistemas operacionais, incluindo Solaris, FreeBSD e Darwin, portada para o hipervisor Xen e aplicada a aplicativos como o X Window System, GConf, D-BUS e PostgreSQL . Os conceitos de arquitetura Flask são amplamente aplicáveis ​​a uma ampla variedade de sistemas e ambientes.

Cooperação

  1. Como planejamos interagir com a comunidade Linux?
    Nós temos conjunto de páginas da web em NSA.gov, que servirá como nossa principal forma de publicar informações Linux com segurança aprimorada. Se você estiver interessado no Linux com segurança aprimorada, recomendamos que você participe da lista de discussão do desenvolvedor, visualize o código-fonte e forneça seu feedback (ou código). Para ingressar na lista de discussão do desenvolvedor, consulte Página da lista de discussão dos desenvolvedores do SELinux.
  2. Quem pode ajudar?
    O SELinux agora é mantido e aprimorado pela comunidade de software Linux de código aberto.
  3. A NSA financia algum trabalho de acompanhamento?
    A NSA não está considerando propostas para trabalhos futuros.
  4. Que tipo de suporte está disponível?
    Pretendemos resolver problemas através da lista de discussão [email protegido], mas não poderemos responder a todas as perguntas relacionadas a um determinado site.
  5. Quem ajudou? O que eles fizeram?
    O protótipo do Linux com segurança aprimorada foi desenvolvido pela NSA com parceiros de pesquisa da NAI Labs, Secure Computing Corporation (SCC) e MITRE Corporation. Muito mais material se seguiu após o lançamento público inicial. Veja a lista de participantes.
  6. Como posso saber mais?
    Incentivamos você a visitar nossas páginas da Web, ler a documentação e trabalhos de pesquisa anteriores e participar de nossa lista de mala direta. [email protegido]

Você acha a tradução útil? Escreva comentários!

Fonte: habr.com

Adicionar um comentário