3.4. Criando perfis do Novell AppArmor usando a interface da linha de comando

O Novell AppArmor permite-lhe usar uma interface de linha de comando em vez da GUI para gerenciar e configurar a segurança do sistema.

3.4.1. Verificando o status do módulo AppArmor

O módulo AppArmor pode ter um de três status:

Descarregado

O módulo AppArmor não está carregado no kernel.

Em execução

O módulo AppArmor está carregado no kernel e forçando políticas de programa do Novell AppArmor.

Interrompido

O módulo AppArmor está carregado no kernel, mas nenhuma política está sendo forçada.

É possível detectar qual o status do módulo AppArmor inspecionando /sys/kernel/security/apparmor/profiles. Se cat /sys/kernel/security/apparmor/profiles fornecer uma lista de perfis, o Novell AppArmor está em execução. Se estiver vazio e não retornar nada, o AppArmor foi interrompido. Se o arquivo não existir, o AppArmor está descarregado.

O módulo AppArmor pode ser carregado e descarregado com os comandos de módulo padrão do Linux, como modprobe, insmod, lsmod e rmmod, mas isso não é recomendável. Recomendamos, em vez disso, gerenciar o Novell AppArmor através do script rcapparmor, que pode executar as seguintes operações:

rcapparmor start

O script tem diferentes comportamentos, dependendo do status do módulo AppArmor. Se este tiver sido descarregado, start carrega o módulo e o inicia, colocando-o em estado de execução. Se tiver sido interrompido, o script start faz o módulo pesquisar de novo os perfis do Novell AppArmor geralmente encontrados em /etc/apparmor.d e o coloca em estado de execução. Se o módulo já estiver em execução, o script start fornece um aviso e não empreende nenhuma ação.

rcapparmor stop

Se o módulo AppArmor estiver em execução, interrompe-o através da remoção de todos os perfis da memória do kernel, desabilitando inteiramente todos os controles de acesso e colocando o módulo em estado de interrupção. Se o módulo AppArmor estiver descarregado ou já tiver sido interrompido, o script stop tenta descarregar os perfis novamente, mas nada acontece.

rcapparmor restart

Faz o módulo AppArmor pesquisar de novo os perfis geralmente encontrados em /etc/apparmor.d sem deixar de delimitar os processos em execução, adicionando novos perfis e removendo os que tiverem sido apagados de /etc/apparmor.d.

rcapparmor kill

Remove irreversivelmente o módulo AppArmor do kernel. Isso não é seguro, pois envolve a descarga de módulos do kernel do Linux. Esse comando destina-se apenas a depurações e emergências, quando o módulo por acaso tiver de ser removido.

[Note]Nota

O Novell AppArmor é um sistema de controle de acesso tão potente que pode promover o bloqueio de sua máquina até para você mesmo, a ponto de levá-lo a ter de inicializar o sistema a partir de mídia de recuperação (como o CD 1 do SUSE Linux) para reaver o controle.

Para evitar esse tipo de problema, sempre efetue login não delimitado como Root na máquina que está sendo configurada quando reiniciar o módulo AppArmor. Caso o sistema se danifique a ponto de impedir o login (por exemplo, decompondo o perfil associado ao daemon SSH), você pode repará-lo usando seu prompt de Root em execução e reiniciando o módulo AppArmor.

3.4.2. Criando perfis do Novell AppArmor

As definições de perfis do módulo AppArmor estão armazenadas no diretório /etc/apparmor.d/ como arquivos de texto simples.

[Warning]Atenção

Todos os arquivos do diretório /etc/apparmor.d/ são interpretados como perfis e carregados como tais. A renomeação dos arquivos que estão nesse diretório não constitui um meio eficaz de impedir que os perfis sejam carregados. É preciso removê-los desse diretório para gerenciá-los de forma eficaz.

Use um editor de texto, como o vim, para acessar e modificar esses perfis. As opções a seguir contêm etapas detalhadas para criar perfis:

Para visualizar e editar perfis usando o vim, digite vim em uma janela de terminal. Para habilitar o colorido de sintaxe ao editar um perfil do Novell AppArmor no vim, use os comandos :syntax on e, em seguida, :set syntax=apparmor. Para obter mais informações sobre o vim e o colorido de sintaxe, consulte Seção 3.5.3.8, “apparmor.vim” (↑Guia de Administração do Novell AppArmor 2.0).

[Note]Nota

Após fazer mudanças em um perfil, use o comando rcapparmor restart, descrito na seção anterior. Ele faz o Novell AppArmor reler os perfis. Para obter uma descrição detalhada da sintaxe desses arquivos, consulte o Capítulo 3, Criando perfis do Novell AppArmor (↑Guia de Administração do Novell AppArmor 2.0).

3.4.3. Adicionando ou criando um perfil do Novell AppArmor

Para adicionar ou criar um perfil do Novell AppArmor para um aplicativo, use um método sistêmico ou independente de geração de perfis, dependendo de suas necessidades.

Geração independente de perfis

Presta-se à criação de perfis de aplicativos pequenos, com tempo de execução finito (por exemplo: aplicativos clientes de usuário, como os clientes de e-mail). Consulte a Seção 3.5.1, “Geração independente de perfis” (↑Guia de Administração do Novell AppArmor 2.0).

Geração sistêmica de perfis

Presta-se à criação simultânea de perfis de muitos programas, bem como de aplicativos cujo tempo de execução é de dias, semanas ou contínuo ao longo de reinicializações (por exemplo: aplicativos de servidores de rede, como servidores Web e de e-mail). Consulte a Seção 3.5.2, “Geração sistêmica de perfis” (↑Guia de Administração do Novell AppArmor 2.0).

3.4.4. Editando um perfil do Novell AppArmor

As etapas a seguir descrevem o procedimento para editar um perfil do Novell AppArmor. Para entender melhor em que consiste um perfil, consulte a Seção 3.1, “Componentes e sintaxe dos perfis” (↑Guia de Administração do Novell AppArmor 2.0).

  1. Se não estiver conectado como Root, digite su em uma janela de terminal.

  2. Digite a senha de Root quando solicitado.

  3. Para ir ao diretório, digite cd /etc/apparmor.d/.

  4. Digite ls para visualizar todos os perfis atualmente instalados.

  5. Abra o perfil a editar em um editor de texto, como o vim.

  6. Faça as correções necessárias e grave o perfil.

  7. Reinicie o Novell AppArmor digitando rcapparmor restart em uma janela de terminal.

3.4.5. Apagando um perfil do Novell AppArmor

As etapas a seguir descrevem o procedimento para apagar um perfil do Novell AppArmor.

  1. Se não estiver conectado como Root, digite su em uma janela de terminal.

  2. Digite a senha de Root quando solicitado.

  3. Para ir ao diretório do Novell AppArmor, digite cd /etc/apparmor.d/.

  4. Digite ls para ver todos os perfis do Novell AppArmor atualmente instalados.

  5. Apague o perfil de saída com rm nome do perfil.

  6. Reinicie o Novell AppArmor digitando rcapparmor restart em uma janela de terminal.