ti-enxame.com

O que usar para fortalecer a caixa do Linux? Apparmor, SELinux, grsecurity, SMACK, chroot?

Estou planejando voltar para o Linux como uma máquina desktop. Eu gostaria de torná-lo mais seguro. E tente algumas técnicas de proteção, especialmente porque pretendo obter meu próprio servidor.

  • Qual seria uma estratégia de endurecimento boa e sensata? Quais ferramentas devo usar - Apparmor, SELinux, SMACK, chroot?
  • Devo usar apenas uma ferramenta, por ex. Apparmor, ou uma combinação das opções acima?
  • Quais vantagens/desvantagens essas ferramentas têm? Existem outros?
  • Quais têm uma configuração sã para relação de segurança (melhoria)?
  • Qual deles eu prefiro usar em um ambiente de desktop? Qual deles em um ambiente de servidor.

Tantas perguntas.

20
jottr

O AppArmour é geralmente considerado mais simples do que o SELinux. O SELinux é bastante complexo e pode ser usado até mesmo em aplicações militares, enquanto o AppArmour tende a ser mais simples. O SELinux opera no nível do i-node (ou seja, as restrições são aplicadas da mesma forma que as permissões ACL ou UNIX - por outro lado), enquanto o AppArmour se aplica ao nível do caminho (ou seja, você especifica o acesso com base no caminho, então quando as mudanças no caminho podem não se aplicar ) O AppArmour também pode proteger subproccessos (como mod_php apenas), mas sou de alguma forma cético quanto ao uso real dele. AppArmour parece encontrar seu caminho no kernel da linha principal (é em -mm IIRC).

Eu não sei muito sobre SMACK, mas parece SELinux simplificado pela descrição. Há também RSBAC, se você quiser dar uma olhada.

o chroot tem um escopo de uso limitado e não acho que seria muito útil em um ambiente de desktop (ele pode ser usado para separar daemons do acesso de todo o sistema - como daemon DNS).

Com certeza, vale a pena aplicar hardening 'genérico' como PaX, -fstack-protector etc. Chroot que você pode usar quando sua distro suporta AppArmour/SELinux. Acho que o SELinux é mais adequado para áreas de alta segurança (ele tem um controle muito melhor sobre o sistema) e o AppArmour é melhor para endurecimento simples.

Em geral, eu não me preocuparia em proteger muito a área de trabalho genérica, exceto desligar serviços não utilizados, atualizar regularmente, etc., a menos que você trabalhe em uma área altamente segura. Se você quiser proteger de qualquer maneira, eu usaria o que sua distribuição está oferecendo. Muitos deles para serem eficazes precisam do suporte de aplicativos (por exemplo, ferramentas de compilação para oferecer suporte a atributos, regras escritas), portanto, eu aconselharia usar o que sua distribuição está oferecendo.

9
Maciej Piechotka

Use GRSecurity + PAX. Todo o resto é apenas besteira de marketing e/ou principalmente baseado no trabalho da Equipe PAX. O principal desenvolvedor honcho da PAX, pipacs acaba de ganhar um prêmio pelo conjunto de sua obra na Black Hat 2011/PWNIE:

Seu trabalho técnico teve um impacto enorme na segurança: suas ideias são fundamentais para melhorias de segurança em todos os principais sistemas operacionais nos últimos anos, e suas ideias moldaram indiretamente a maioria das técnicas modernas de ataque de corrupção de memória. Nenhum atacante pode ser levado a sério hoje em dia que não lida com invenções defensivas iniciadas por nosso vencedor.

Então compre grsecurity + pax se você realmente quer uma caixa segura. GRsec dá a você controle RBAC sobre sua máquina, muitas proteções baseadas em sistema de arquivos (chroot), PaX fecha a maioria dos possíveis vetores de ataque que os hackers usam. Você também pode testar sua caixa com paxtest, para ver que tipo de proteções e vulnerabilidades sua caixa tem.

Pode haver impactos no desempenho. Leia a ajuda :).

3
Jauzsika