Um desconhecido para alguns e essencial pra outros usuários: Entenda para que serve o AppArmor e como ele melhora a segurança no Linux.
Por muito tempo, os usuários do Linux foram como os protagonistas da história dos três porquinhos. Um falso sentimento nos levou a acreditar que estávamos a salvo dos problemas de segurança dos quais os usuários do Windows eram vítimas frequentes.
A realidade nos mostrou que não éramos tão invulneráveis quanto pensávamos. Embora, para ser justo, a maioria das vulnerabilidades relatadas tenham sido detectadas em laboratórios de segurança de computadores e as condições necessárias para aproveitá-las quase não existam no mundo real, ainda existem problemas suficientes para que não baixemos a guarda.
O consenso geral entre os especialistas em segurança de TI é que as medidas para evitar a entrada não autorizada no sistema, como firewalls ou mecanismos de detecção de intrusão, não são mais suficientes para impedir ataques cada vez mais sofisticados.
É necessário estabelecer uma nova linha de defesa que, no caso de uma entrada não autorizada no sistema, não permita que o invasor faça qualquer coisa prejudicial.
O princípio de privilégios mínimos
O princípio dos privilégios mínimos estabelece como regra de segurança fundamental que os usuários de um sistema de computador devem receber apenas o conjunto mínimo de privilégios e recursos necessários para desempenhar sua função específica.
Desta forma, o uso indevido ou negligente de um aplicativo é reduzido ou impedido de ser o vetor de entrada de um ataque ao computador.
Por muito tempo, os Linuxers desenvolveram nossa confiança na segurança de nosso sistema operacional em um mecanismo de kernel conhecido como Controle de Acesso Discricionário.
O Controle de acesso discricionário determina quais recursos do sistema os usuários e aplicativos podem acessar.
O problema é que sua gama de opções é muito limitada e que, como indica a palavra discricionário, alguns usuários com permissões suficientes podem fazer modificações que podem ser exploradas por cibercriminosos.
Controle de acesso obrigatório
O Controle de acesso obrigatório difere do Controle de acesso discricionário porque o sistema operacional restringe o que os aplicativos podem fazer de acordo com as instruções estabelecidas pelo administrador do sistema e que o restante dos usuários não pode modificar.
No kernel do Linux, isso é responsabilidade do Linux Security Subsystem Module, que oferece diversos procedimentos que podem ser chamados a partir de ferramentas como a mencionada neste artigo.
Para que serve o AppArmor e como ele melhora a segurança no Linux
AppArmour usa o paradigma de controle de acesso obrigatório para aprimorar a segurança das distribuições Linux. Ele conta com o Linux Security Subsystem Module para limitar o comportamento de aplicativos individuais de acordo com as políticas definidas pelo administrador.
Essas diretivas são expressas na forma de arquivos de texto simples conhecidos como perfis. Graças aos perfis, o administrador do sistema pode restringir o acesso aos arquivos, condicionar as interações entre os processos, estabelecer em quais casos um sistema de arquivos pode ser montado, limitar o acesso à rede, determinar a capacidade de um aplicativo e quantos recursos você pode usar.
Em outras palavras, um perfil do AppArmor contém uma lista de permissões de comportamentos aceitáveis para cada aplicativo.
As vantagens desta abordagem são:
- Ele permite que os administradores apliquem o princípio do menor privilégio aos aplicativos. No caso de um aplicativo ser comprometido, ele não poderá acessar os arquivos ou realizar ações fora do que está estabelecido como um parâmetro operacional normal.
- Os perfis são escritos em uma linguagem amigável do administrador e armazenados em locais que você pode acessar facilmente.
- A aplicação de perfis individuais pode ser ativada ou desativada independentemente do que acontecer com o resto dos perfis. Isso permite que os administradores desabilitem e depurem um perfil específico para um aplicativo específico sem afetar a operação do resto do sistema.
- Caso uma aplicação tente realizar alguma ação conflitante com o estabelecido no perfil correspondente, o evento é registrado. Desta forma, os administradores recebem um aviso antecipado.
O AppArmor não substitui o Controle de acesso discricionário, o que significa que você não pode autorizar algo que é proibido, mas pode proibir algo que é permitido.
O AppArrmour vem com algumas ferramentas pré-instaladas nas principais distribuições do Linux e você pode encontrar mais nos repositórios.
Por fim, você pode encontrar mais informações na página do projeto.