Como solucionar problemas do SELinux?

1

Eu suspeito que tenho um problema na configuração do SELinux: meu problema desaparece depois de desabilitar o selinux usando setenforce 0 . Estou usando a política padrão sem nenhuma modificação.

Como posso identificar o problema exato na configuração do SELinux?

    
por sebasth 18.09.2018 / 16:10

1 resposta

3

Os problemas do SELinux são registrados no log de auditoria, que geralmente está em /var/log/audit/audit.log . Se o auditd não estiver instalado em seu sistema, as mensagens de erro do SELinux serão impressas no buffer de anel do kernel e poderão ser lidas com dmesg .

As mensagens do SELinux AVC (Cache do Access Vector) têm o seguinte formato [src] :

type=AVC msg=audit(1220706212.937:70): avc:  denied  { getattr } for  pid=1904 comm="httpd" path="/var/www/html/testfile" dev=sda5 ino=247576 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:samba_share_t:s0  tclass=file

Também é possível que não haja mensagens de erro. A política do SELinux pode conter regras dontaudit , que suprimem o registro para acesso específico. As regras Dontaudit podem ser desativadas com semanage :

semanage dontaudit off

(Você provavelmente quer voltar a usar as regras dontaudit depois de resolver o problema para reduzir o ruído do log.)

Com uma mensagem AVC descrevendo qual acesso foi negado, é possível reduzir a causa possível. Campos úteis na mensagem do AVC para resolução de problemas são os contextos comunicação , caminho , origem e destino : comm contém o nome da linha de comando do processo, caminho (para arquivos) para qual arquivo o acesso estava, source e < em> contextos de destino os rótulos de segurança.

A análise da mensagem de erro audit2why pode fornecer uma descrição legível da mensagem de erro. Problemas típicos com a política padrão são causados por contextos de segurança incorretos, como na mensagem acima, e podem ser investigados em duas etapas:

  • Os contextos de origem e destino estão corretos?

    O mapa de regras do SELinux permitiu o acesso entre os contextos de segurança de origem e de destino. Se não houver essa regra, o acesso será negado. Em determinadas situações, os contextos podem estar incorretos, resultando em acesso negado.

    Contexto alvo incorreto

    Os arquivos podem ter contextos de segurança incorretos, por exemplo, se eles foram movidos (o que preserva os contextos de segurança originais). Use restorecon para aplicar o rótulo de segurança padrão aos arquivos.

    Se você não estiver usando os locais padrão para seus arquivos, deverá adicionar a regra de rotulagem de arquivo ao banco de dados de contexto de arquivo usando semanage e executar restorecon posteriormente. Para obter mais detalhes, consulte a pergunta: Como configurar o SELinux para permitir que os daemons usem arquivos em locais não padrão?

    Se o tipo de destino não for um arquivo ou diretório (como porta de rede), o contexto de destino provavelmente será gerenciado usando semanage .

    Contexto de origem incorreto

    A maioria dos daemons do sistema são executados em domínios confinados (contexto de origem), como httpd_ , smbd_t , etc.

    Se o daemon for executado em init_t domain, não há uma política segmentada para ele, o módulo de política não está ativado ou há um executável incorretamente rotulado (ponto de entrada). Se o processo for executado em unconfined_t domain, ele sugere que o processo foi iniciado pelo usuário e não pelo sistema init. Em ambos os casos, geralmente não há erros, porque os dois domínios colocam muito poucas restrições.

    Um contexto de origem incorreto (em um domínio confinado) para um processo indicaria rotulagem de arquivo errada no executável, possivelmente devido a um módulo de política do SELinux ausente.

  • Os contextos estão corretos: a política não permite acesso

    A política precisa ser modificada para permitir o acesso. Configurações comuns podem já ser endereçadas por opções booleanas. audit2allow pode informar se esse booleano existe ou gerar o módulo de política necessário para permitir o acesso.

Outras leituras

por 18.09.2018 / 16:10