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

20

Estou planejando voltar ao Linux como uma máquina de desktop. Eu gostaria de tornar isso mais seguro. E tente algumas técnicas de endurecimento, especialmente porque eu pretendo ter meu próprio servidor.

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

Tantas perguntas.

    
por jottr 23.10.2010 / 12:41

2 respostas

9

O AppArmour é geralmente considerado mais simples 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 (ie restrições são aplicadas da mesma forma que as permissões ACL ou UNIX - por outro lado) enquanto o AppArmour se aplica no nível do caminho (ou seja, você especifica o acesso baseado no caminho para que não seja aplicável ). AppArmour também pode proteger subprocessos (como mod_php apenas), mas eu sou de alguma forma cético sobre o uso real dele. O AppArmour parece encontrar seu caminho no kernel principal (está em -mm IIRC).

Eu não sei muito sobre o SMACK, mas parece simplificar o SELinux a partir da descrição. Há também RSBAC se você quiser ver.

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

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

Em geral, eu não me preocuparia em endurecer muito o desktop genérico, exceto desligar os 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 distro está suportando. Muitos deles para serem eficazes precisam do suporte do aplicativo (para ferramentas de compilação e.x. para suporte a atributos, regras escritas), então aconselho usar o que sua distro está suportando.

    
por 23.10.2010 / 13:21
4

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

His technical work has had an outsize impact on security: His ideas are fundamental to security improvements in all major operating systems in recent years, and his ideas have indirectly shaped most modern memory-corruption attack techniques. No attacker can be taken seriously nowadays that does not deal with defensive inventions pioneered by our winner.

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

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

    
por 06.08.2011 / 03:30