Perguntas frequentes do SELinux (FAQ)

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



Tentamos responder a algumas das perguntas mais frequentes sobre o projeto SELinux. Atualmente, as perguntas são divididas em duas categorias principais. Todas as perguntas e respostas são fornecidas na página de Perguntas frequentes .


Revisão


Revisão


  1. O que é o Linux com segurança aprimorada?
    Linux com segurança avançada (SELinux - Linux aprimorado para segurança) é a implementação de referência da arquitetura de segurança da Flask para controle de acesso forçado e flexível. Foi criado para demonstrar a utilidade de mecanismos flexíveis de controle de acesso forçado e como esses mecanismos podem ser adicionados ao sistema operacional. A arquitetura Flask foi posteriormente integrada ao Linux e transportada 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 a aplicação de muitos tipos de políticas de controle de acesso forçado, incluindo aquelas baseadas nos conceitos de Imposição de tipos, Controle de acesso baseado em funções e Segurança multinível.
  2. O que oferece ao Linux uma segurança aprimorada, o que o Linux padrão não pode oferecer?
    O kernel do Linux com segurança aprimorada configura políticas de controle de acesso forçado que restringem os programas do usuário e os servidores do sistema ao conjunto mínimo de privilégios necessários para o trabalho. Com essa limitação, a capacidade desses programas de usuário e daemons do sistema de causar danos no caso de um 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 superusuário raiz e não compartilha as falhas conhecidas dos mecanismos tradicionais de proteção do Linux (por exemplo, dependência de binários setuid / setgid).
    A segurança de um sistema Linux não modificado depende da correção do kernel, de todos os aplicativos privilegiados e de cada configuração. Um problema em qualquer uma dessas áreas pode levar a um comprometimento de todo o sistema. Pelo contrário, a segurança de um sistema modificado baseado no kernel Linux com segurança aprimorada depende, em primeiro lugar, da correção do kernel e da configuração de sua política de segurança. Embora problemas com a correção ou a configuração de aplicativos possam permitir comprometimento limitado de programas de usuários 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 serve?
    Os novos recursos do Linux com segurança aprimorada foram projetados para fornecer compartilhamento de informações com base em requisitos de confidencialidade e integridade. Eles são projetados para impedir os processos de leitura de dados e programas, falsificação de dados e programas, ignorando os mecanismos de segurança do aplicativo, executando programas não confiáveis ​​ou interferindo em outros processos, violando a política de segurança do sistema. Eles também ajudam a limitar os possíveis danos que podem ser causados ​​por malware ou programas incorretos. Eles também devem ser úteis para garantir que usuários com permissões de segurança diferentes possam usar o mesmo sistema para acessar tipos diferentes de informações com requisitos de segurança diferentes, sem prejuízo desses requisitos.
  4. Como obtenho uma cópia?
    Muitas distribuições Linux incluem suporte ao SELinux, já incorporado como um recurso padrão ou como um pacote complementar. O código principal do Userland, SELinux, está disponível no 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 do NSA SELinux inclui o código principal do usuário SELinux. O suporte ao SELinux já está incluído no kernel principal do Linux 2.6, disponível em kernel.org. O código principal do usuário SELinux consiste em uma biblioteca para manipular 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 principal da terra do usuário, você precisará de uma política e de alguns pacotes de espaço do usuário corrigidos para o SELinux usar o SELinux. A política pode ser obtida no projeto de política de referência do SELinux .
  6. Posso instalar o Linux com proteção aprimorada em um sistema Linux existente?
    Sim, você pode instalar apenas modificações do SELinux em seu sistema Linux existente ou instalar uma distribuição Linux que já inclua o suporte ao SELinux. O SELinux consiste em um kernel Linux com suporte ao SELinux, um conjunto principal de bibliotecas e utilitários, alguns pacotes personalizados modificados e uma configuração de política. Para instalá-lo em um sistema Linux existente sem suporte ao SELinux, você deve poder compilar o software e ter outros pacotes de sistema necessários. Se sua distribuição Linux já inclui suporte ao SELinux, você não precisa criar ou instalar a versão NSA SELinux.
  7. Qual é a compatibilidade do 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 funcionar corretamente 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. Expandimos 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 para os aplicativos e não alteramos a interface de nenhuma chamada de sistema existente; portanto, os aplicativos existentes podem funcionar sem alterações se a política de segurança permitir que eles funcionem.
    • Compatibilidade do módulo do kernel
      Inicialmente, o SELinux forneceu compatibilidade inicial apenas para módulos de kernel existentes; era necessário recompilar esses módulos de acordo com os cabeçalhos do kernel modificados para capturar os novos campos de proteção adicionados às estruturas de dados do kernel. Como o LSM e o SELinux agora estão integrados no kernel principal do Linux 2.6, o SELinux agora oferece compatibilidade binária com os módulos do kernel existentes. No entanto, alguns módulos do kernel podem não interagir bem com o SELinux. Por exemplo, se um módulo do kernel aloca e instala diretamente um objeto do kernel sem usar as funções de inicialização usuais, o objeto do 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 para suas operações; quaisquer chamadas existentes para funções do kernel ou funções de permissão também executarão verificações de permissão do SELinux, mas podem ser necessários controles mais detalhados ou adicionais para impor políticas de MAC.
      O Linux com segurança aprimorada não deve criar problemas de interoperabilidade com os sistemas Linux comuns, se todas as operações necessárias forem permitidas pela configuração da diretiva de segurança.
  8. Quais são os objetivos do exemplo de configuração da política de segurança?
    Em um nível alto, o objetivo é demonstrar a flexibilidade e a segurança dos controles de acesso forçado e fornecer um sistema de trabalho simples com alterações mínimas nos aplicativos. Em um nível inferior, uma política possui vários objetivos descritos na documentação da política. Esses objetivos incluem gerenciar o acesso a dados brutos, 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 da execução de códigos maliciosos, proteger a função do administrador e do domínio de efetuar login sem autenticação do usuário, impedindo a interferência de processos comuns do usuário no processo do sistema processos ou processos do administrador, além de proteger usuários e administradores da exploração de vulnerabilidades em seu navegador com código móvel malicioso.
  9. Por que o Linux foi escolhido como plataforma base?
    O Linux foi escolhido como a 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 no sistema operacional principal e, ao mesmo tempo, contribuir para a segurança do sistema amplamente utilizado. A plataforma Linux também oferece uma excelente oportunidade para este trabalho obter a visão geral mais ampla possível e, possivelmente, servirá de base para pesquisas adicionais de segurança por outros entusiastas.
  10. Por que você fez esse trabalho?
    O Laboratório Nacional de Pesquisa em Segurança da Informação da Agência de Segurança Nacional é responsável pela pesquisa e desenvolvimento de tecnologia avançada, para que a NSA possa fornecer soluções, produtos e serviços de segurança da informação para infraestruturas de informação críticas aos interesses de segurança nacional dos EUA.
    Criar um sistema operacional viável e seguro permanece um desafio crítico de pesquisa. Nosso objetivo é criar uma arquitetura eficaz que forneça o suporte necessário à segurança; a execução de programas é amplamente transparente para o usuário e atraente para os fornecedores. Acreditamos que um passo importante para alcançar esse objetivo é demonstrar como os mecanismos de controle de acesso forçado podem ser integrados com sucesso no sistema operacional principal.
  11. Como isso se relaciona com pesquisas anteriores da NSA?
    Pesquisadores do Laboratório Nacional de Informações de Segurança da NSA, juntamente com a Secure Computing Corporation (SCC), desenvolveram uma arquitetura poderosa e flexível para controle de acesso forçado com base no Type Enforcement, um mecanismo desenvolvido pela primeira vez para o sistema LOCK. A NSA e a SCC desenvolveram dois protótipos da arquitetura baseada em Mach: DTMach e DTOS ( http://www.cs.utah.edu/flux/dtos/ ). A NSA e a SCC trabalharam com a equipe de pesquisa Flux da Universidade de Utah para portar a arquitetura no sistema operacional de pesquisa da Fluke. Durante essa migração, a arquitetura foi refinada para fornecer melhor suporte para políticas de segurança dinâmicas. Essa arquitetura aprimorada foi denominada Flask ( http://www.cs.utah.edu/flux/flask/ ). A NSA agora integrou a arquitetura Flask ao sistema operacional Linux para transferir essa tecnologia para uma 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", como regra, refere-se a um sistema operacional que fornece suporte suficiente para proteção e validação multinível para atender a um conjunto específico de requisitos governamentais. O Linux com segurança aprimorada inclui idéias úteis desses sistemas, mas se concentra no controle de acesso forçado. A tarefa inicial de desenvolver o Linux com segurança aprimorada foi criar recursos úteis que fornecem benefícios tangíveis de segurança 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 crítico de segurança - controle de acesso forçado - necessário para um sistema operacional confiável. O SELinux foi integrado às distribuições Linux que foram classificadas de acordo com o Perfil de proteção de segurança rotulado. Informações sobre produtos testados e verificados podem ser encontradas em http://niap-ccevs.org/ .
  13. Ela está realmente protegida?
    O conceito de sistema seguro inclui muitos atributos (por exemplo, segurança física, segurança de pessoal etc.) e o Linux com endereços de segurança aumentados apenas um conjunto muito restrito desses atributos (ou seja, controles de acesso forçados no sistema operacional). Em outras palavras, “sistema seguro” significa seguro o suficiente para proteger algumas informações no mundo real de um adversário real, do qual o proprietário e / ou usuário da informação é avisado. O Linux com segurança aprimorada destina-se apenas a demonstrar os controles essenciais em um sistema operacional moderno como o Linux e, portanto, é improvável que atenda a qualquer definição interessante de sistema seguro. Acreditamos que a tecnologia demonstrada no Linux com segurança aprimorada será útil para as pessoas que criam sistemas seguros.
  14. O que você fez para aumentar sua garantia?
    O objetivo deste projeto era adicionar controles de acesso forçado, fazendo alterações mínimas no Linux. Esse último objetivo limita severamente o que pode ser feito para aumentar a garantia; portanto, não houve trabalho para aumentar a garantia do Linux. Os aprimoramentos, por outro lado, são baseados no trabalho anterior no desenvolvimento de uma arquitetura de segurança altamente confiável, e a maioria desses princípios de design foi portada para o Linux com segurança aprimorada.
  15. O CCEVS avaliará o Linux com segurança aprimorada?
    O próprio Linux com segurança aprimorada não foi projetado para solucionar toda a gama de problemas de segurança representados pelo perfil de segurança. Embora seja possível avaliar apenas sua funcionalidade atual, acreditamos que essa avaliação terá valor limitado. No entanto, trabalhamos com outras pessoas para incorporar essa tecnologia nas distribuições Linux que foram avaliadas e nas distribuições que estão sendo avaliadas. Informações sobre produtos testados e verificados podem ser encontradas em http://niap-ccevs.org/ .
  16. Você tentou corrigir alguma vulnerabilidade?
    Não, não pesquisamos e não encontramos nenhuma vulnerabilidade no decorrer do nosso trabalho. Nós fizemos apenas um mínimo para adicionar nossos novos mecanismos.
  17. Este sistema é aprovado para uso do governo?
    O Linux com segurança aprimorada não possui aprovação especial ou adicional para uso do governo sobre qualquer outra versão do Linux.O Linux com segurança aprimorada não possui permissão especial ou adicional para uso do governo sobre qualquer outra versão do Linux.
  18. Como isso é diferente de outras iniciativas?
    O Linux com segurança aprimorada possui uma arquitetura bem definida para controle de acesso forçado flexível, que foi testado experimentalmente usando vários sistemas de protótipos (DTMach, DTOS, Flask). Estudos detalhados foram realizados sobre a capacidade da arquitetura de suportar uma ampla variedade de políticas de segurança e estão disponíveis em http://www.cs.utah.edu/flux/dtos/ e http://www.cs.utah.edu/flux/flask/ .
    A arquitetura fornece controle detalhado sobre muitas abstrações e serviços do kernel que não são controlados por outros sistemas. Alguns dos recursos distintivos de um sistema Linux de segurança aprimorada são:
    • Separação líquida de diretiva de direitos de aplicativo
    • Interfaces de política claramente definidas
    • Independência de políticas e idiomas de políticas específicos
    • 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
    • Soluções de acesso ao cache para eficiência
    • Suporte à mudança de política
    • Monitorando a inicialização do processo e a herança e execução do programa
    • Gerenciando sistemas de arquivos, diretórios, arquivos e descrições de arquivos abertos
    • Gerenciamento de soquete, sistema de mensagens e interface 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 em https://www.nsa.gov é distribuído nas mesmas condições que o código-fonte original. Por exemplo, os patches para o kernel do Linux e os patches para muitos utilitários existentes disponíveis aqui são liberados sob os termos da GNU General Public License (GPL) .
  20. Existe algum controle de exportação?
    Para Linux com segurança aprimorada, não há controles de exportação adicionais em comparação com qualquer outra versão do Linux.
  21. A NSA planeja usá-lo internamente?
    Por razões óbvias, a NSA não comenta o uso operacional.
  22. A Declaração de Garantia de 26 de julho de 2002 da Secure Computing Corporation muda a posição da NSA que o SELinux foi concedido sob a Licença Pública Geral GNU?
    A posição da NSA não mudou. A NSA continua acreditando que os termos e condições da Licença Pública Geral GNU governam o uso, cópia, distribuição e modificação do SELinux. Veja o comunicado de imprensa da NSA em 2 de janeiro de 2001 .
  23. A NSA suporta software de código aberto?
    As iniciativas de segurança de software da NSA abrangem tanto o software proprietário quanto o de código aberto, e usamos com sucesso modelos de código aberto e proprietário em nossas atividades de pesquisa. Os esforços da NSA para melhorar a segurança do software são motivados por uma simples consideração: usar nossos recursos da maneira mais eficiente possível 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 vários mecanismos de transferência. A NSA não oferece suporte ou promove nenhum produto de software ou modelo de negócios específico. Em vez disso, a NSA aprimora a segurança.
  24. A NSA suporta Linux?
    Como observado acima, a NSA não oferece suporte ou promove nenhum produto ou plataforma de software específico; A NSA apenas 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 do balão são amplamente aplicáveis ​​a uma ampla variedade de sistemas e ambientes.

Colaboração


  1. Como planejamos interagir com a comunidade Linux?
    Temos um conjunto de páginas da Web em NSA.gov que servirá como nossa principal maneira de publicar informações do Linux com segurança aprimorada. Se você estiver interessado no Linux com segurança aprimorada, recomendamos que você entre na lista de discussão do desenvolvedor, visualize o código-fonte e forneça seus comentários (ou código). Para ingressar na lista de discussão do desenvolvedor, consulte a página Lista de discussão do desenvolvedor do SELinux .
  2. Quem pode ajudar?
    O SELinux agora é suportado e desenvolvido pela comunidade de desenvolvimento de software Linux de código aberto.
  3. A NSA financia algum trabalho de acompanhamento?
    Atualmente, 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 correio selinux@tycho.nsa.gov, mas não poderemos responder a todas as perguntas relacionadas a um site específico.
  5. Quem ajudou O que eles fizeram?
    O protótipo Linux de segurança aprimorada foi desenvolvido pela NSA em colaboração com parceiros de pesquisa da NAI Labs, Secure Computing Corporation (SCC) e MITRE Corporation. Após o lançamento público inicial, muitos outros materiais se seguiram. Veja a lista de participantes .
  6. Como posso saber mais?
    Recomendamos que você visite nossas páginas da web, leia a documentação e pesquisas anteriores e participe de nossa lista de discussão selinux@vger.kernel.org

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

Source: https://habr.com/ru/post/pt459598/


All Articles