Como configurar o Amanda Enterprise no SELinux

Verificando o modo SELinux

Você pode obter a configuração do modo SELinux atual executando getenforce ou sestatus como usuário root. O primeiro simplesmente imprime "Impondo" ou "Permissivo" no stdout. O último fornece detalhes adicionais, incluindo o ponto de montagem do SELinuxfs, o modo atual, o modo como ele aparece no arquivo de configuração do SELinux, etc.

O modo SLELinux pode ser alterado pelo usuário root durante o tempo de execução usando o aplicativo setenforce.

Uso:

setenforce [Enforcing | Permissivo | 1 0]

É importante lembrar que as alterações feitas usando o sentenforce não são persistentes na reinicialização do sistema.

Se o SELinux for definido como permissivo - em vez de desabilitado - então qualquer aplicativo compatível com o SELinux se comportará como se o modo de reforço ainda estivesse definido. O SELinux também continuará a auditar a atividade dos aplicativos enquanto estiver no modo permissivo. Esta é a principal diferença entre usar o modo permissivo e desabilitar o SELinux completamente.

O valor padrão do modo quando o sistema inicializa é definido no arquivo / etc / selinux / config pelo parâmetro SELINUX. O parâmetro SELINUX aceita reforço, permissivo ou desabilitado.

Por exemplo:

root> # cat / etc / selinux / config # Este arquivo controla o estado do SELinux no sistema. # SELINUX = pode assumir um destes três valores: # enforcing - a política de segurança do SELinux é aplicada. #permissive - SELinux imprime avisos em vez de impor. # disabled - Nenhuma política SELinux é carregada. SELINUX = aplicando # SELINUXTYPE = pode assumir um de três valores: # direcionado - processos direcionados são protegidos, # mínimo - modificação da política direcionada. Apenas os processos selecionados são protegidos. # mls - Proteção de segurança de vários níveis. SELINUXTYPE = raiz direcionada> #

Se você for solicitado a solucionar um problema em que o modo SELinux está consistentemente mudando para um modo inesperado no momento da inicialização, é importante notar que o SELinux também pode ser configurado no grub.conf definindo o parâmetro de reforço para 0 ou 1 (permissivo ou aplicando, respectivamente).

Configurando SELinux para funcionar bem com Amanda

Como a função principal do SELinux é impor o controle de acesso obrigatório, ele pode exigir etapas adicionais para executar o Amanda se o SELinux não estiver desabilitado ou no modo permissivo

As versões modernas do Zmanda (Amanda Enterprise Edition) tentarão definir automaticamente o SELinux para o modo permissivo no momento da instalação.

root> # ./amanda-enterprise-3.4-linux-x64.run A instalação do Zmanda requer a mudança do SELinux para o estado permissivo. O próprio instalador fará isso e restaurará seu estado original assim que a instalação for concluída. Você quer continuar? [S / n]:

O instalador Zmanda usa o aplicativo semanage para fazer isso, portanto, certifique-se de que o semanage esteja instalado verificando, por exemplo, qual semanage antes de executar o instalador. Se o semanage ainda não estiver instalado, você pode obter o aplicativo com:

root> # yum fornece * / semanage {saída adicional não mostrada} root> # yum install

Ao solucionar problemas de instalações Amanda / Zmanda em ambientes que implementam SELinux, se possível, tente configurar o SELinux para o modo permissivo temporariamente. Repita seus testes para confirmar se o SELinux é, de fato, a causa do problema e para gerar entradas de log de auditoria.

Se não for possível executar o SELinux no modo permissivo devido à sua política de segurança, existem alguns indicadores de que o SELinux está interferindo na operação normal do Amanda. Você pode verificar os registros de auditoria para entradas relacionadas a amanda e / ou zmanda:

root> # ausearch -m avc -c amanda

Se você não conseguir encontrar entradas de log relacionadas ao SELinux negar o Amanda, mas não houver problemas ao executar no modo permissivo, isso pode ser o resultado de regras de não auditoria. Para desativar temporariamente as regras de não auditoria, você pode executar:

root> # semodule -DB

Depois de executado, tente executar a instalação, backup ou restauração novamente e verifique o registro de auditoria. Depois que o SELinux registrou as negações aplicáveis, certifique-se de reativar não auditar regras:

root> # semodule -B

Alguns sistemas operacionais vêm com módulos de política pré-instalados para Amanda que podem não refletir os contextos corretos para sua versão do Amanda. Você pode verificar qual módulo está incluído atualmente usando:

root> # semodule -l | grep amanda

Pode demorar algum tempo para listar todos os módulos instalados e, claro, se não houver nenhum módulo que corresponda a 'amanda', então não haverá saída. Se você descobrir que está executando um módulo de política Amanda antigo ou corrompido, poderá removê-lo usando:

root> # semodule -r 

Todos os contextos do SELinux podem ser configurados manualmente, mas isso está fora do escopo desta documentação. Se você estiver interessado em uma solução totalmente manual, consulte as páginas do manual chcon e restorecon para obter informações detalhadas.

Criação de pacotes de políticas personalizados com audit2allow

Na maioria dos ambientes, há várias máquinas cliente Amanda executando sistemas operacionais semelhantes e, ocasionalmente, servidores Amanda adicionais precisam ser implantados. Não é eficiente solucionar problemas manualmente e alterar contextos de segurança em cada máquina individual nesses cenários. É aqui que uma ferramenta chamada audit2allow pode ser útil para criar pacotes de políticas personalizados que podem ser implantados em várias máquinas na rede.

Primeiro, execute suas tarefas no modo permissivo e crie um arquivo de aplicação de tipo:

root> # grep -E 'amanda | zmanda' /var/log/audit/audit.log | audit2allow -m myamanda> myamanda.te

Depois que o arquivo de aplicação de tipo for criado, certifique-se de que seja verificado por um operador. Modifique a saída gerada automaticamente conforme exigido pelo seu departamento de segurança da informação.

Ao verificar o arquivo de aplicação de tipo, lembre-se: muitos aplicativos fornecem contexto de segurança SELinux por meio de uma chave -Z. Por exemplo, 'ls, -Z', 'ps axZ', etc.

Assim que for verificado que o arquivo de aplicação de tipo atende aos requisitos de sua política de segurança, ele deve ser convertido em um pacote de políticas para incluir como um módulo de política ativo. Para fazer isso, você pode executar os seguintes comandos:

root> # checkmodule -mo myamanda.mod myamanda.te root> # semodule_package -m myamanda.mod -o myamanda.pp

Para carregar o módulo de política, você deve executar:

root> # semodule -i myamanda.pp

Se você receber um erro que você tem “Tentei conectar um módulo não-MLS a uma base MLS” em vez disso, você precisará converter o arquivo de aplicação de tipo como Multi-Layer Security e incluir o pacote de políticas resultante assim:

root> # checkmodule -M -m -o myamanda.mod myamanda.te root> # semodule_package -m myamanda.mod -o myamanda.pp

E então inclua o pacote de políticas usando semodule -i conforme descrito acima. Agora você deve estar configurado para executar seus backups e restaurações com o SELinux no modo obrigatório.