SELinux x AppArmor x grsecurity [fechado]

14

Eu tenho que configurar um servidor que deve ser o mais seguro possível. Qual aprimoramento de segurança você usaria e por que, SELinux, AppArmor ou grsecurity? Você pode me dar algumas dicas, sugestões, prós / contras para esses três?

ATÉ ONDE SEI:

  • SELinux: mais poderoso, mas mais complexo
  • AppArmor: configuração / gerenciamento mais simples que o SELinux
  • grsecurity: configuração simples devido ao treinamento automático, mais recursos do que apenas controle de acesso

fonte
Um "servidor" para fornecer que tipo de serviço? Para qual público, em que ambiente? O que constitui "seguro" para você neste contexto? Seria necessário obter mais informações para fornecer uma resposta útil. Por exemplo, um servidor de horário do dia IP puro pode ser muito seguro - todo o firmware da ROM, imput de rádio, energia da bateria independente com carregamento automático. Mas isso provavelmente não é uma resposta útil para você. Então, que tipo de serviço? Em toda a Internet, em toda a empresa, equipe de trabalho confiável, rede ponto a ponto dedicada, etc.? A alta disponibilidade é uma necessidade? Confiabilidade? Integridade de dados? Controle de acesso? Dê
mpez0

Respostas:

7

Eu fiz muita pesquisa nesta área. Eu até explorei os conjuntos de regras do AppArmor para MySQL . O AppArmor é a forma mais fraca de separação de processos. A propriedade que estou explorando é que todos os processos têm privilégios de gravação em alguns dos mesmos diretórios, como /tmp/. O legal do AppArmor é que ele quebra algumas explorações sem atrapalhar os usuários / administradores. No entanto, o AppArmor tem algumas falhas fundamentais que não serão corrigidas tão cedo.

O SELinux é muito seguro, também é muito irritante. Diferentemente do AppAmoror, a maioria dos aplicativos legítimos não será executada até que o SELinux seja reconfigurado. Geralmente, isso resulta na configuração incorreta do administrador do SELinux ou na desativação de tudo isso.

O grsecurity é um pacote muito grande de ferramentas. O que eu mais gosto é o chroot aprimorado do grsecuirty. Isso é ainda mais seguro que o SELinux, embora seja necessário um pouco de habilidade e algum tempo para configurar uma prisão chroot onde SELinux e AppAprmor "simplesmente funcionam".

Existe um quarto sistema, uma máquina virtual. Foram encontradas vulnerabilidades em ambientes de VM que podem permitir que um invasor se "rompa". No entanto, uma VM possui uma separação ainda maior do que um chroot, porque em uma VM você está compartilhando menos recursos entre processos. Os recursos disponíveis para uma VM são virtuais e podem ter pouca ou nenhuma sobreposição entre outras VMs. Isso também se refere à <buzzword>" computação em nuvem " </buzzword>. Em um ambiente em nuvem, você pode ter uma separação muito limpa entre o banco de dados e o aplicativo da Web, o que é importante para a segurança. Talvez também seja possível que uma exploração possua toda a nuvem e todas as VMs em execução nela.

Torre
fonte
em vez da <buzzword>tag você pode apenas escrever "minha bunda", todo mundo vai saber o que você quer dizer;)
Daniel Dinnyés
Por VM, você quer dizer Xen, KVM ou LXC / Docker? Além disso, faça referência às suas avaliações.
Daniel Dinnyes
1
@Daniel Dinnyes, não há referências aqui, essa é toda a opinião pessoal de um hacker que ataca aplicativos modernos que são protegidos por essas técnicas de mitigação - o grande problema é que nada é perfeito.
Rook
1
@ Daniel Dinnyes Se você estiver interessado em casos de uso indevido, comece pelos casos de uso pretendidos. Instale distribuições que usam essas tecnologias e implante aplicativos nelas. Leia sobre a implantação e a configuração desses sistemas de segurança e procure pontos fracos.
Rook
1
@Daniel Dinnyes analisa as CVEs emitidas e, especialmente, quaisquer explorações públicas para cada plataforma. Foi encontrado um desvio realmente bom do SELinux recentemente: exploit-db.com/exploits/40419
Rook
1

Pessoalmente, eu usaria o SELinux porque acabaria tendo como alvo algum sabor do RHEL, que foi configurado de maneira imediata. Há também um conjunto responsivo de mantenedores na Red Hat e muita documentação muito boa disponível sobre como configurar o SELinux. Links úteis abaixo.

Ophidian
fonte
sim, mas yum e selinux são tão irritantes.
Rook
1
Acho a CLI do yum significativamente mais intuitiva que o apt. O SELinux é irritante quando você está tentando seguir seu próprio caminho com aplicativos que não são de estoque, mas nunca tive problemas com o material de estoque além de precisar ativar alguns sebools para ativar a funcionalidade não padrão (por exemplo, permita que scripts httpd php se conectem para o banco de dados)
Ophidian