Ajuste de Políticas de Segurança com SELinux

O SELinux (Security-Enhanced Linux) é um módulo de segurança do kernel Linux que implementa políticas de controle de acesso obrigatório, reforçando a segurança ao restringir ações de usuários e processos com base em regras predefinidas. Ele adiciona uma camada adicional de proteção, limitando o impacto de vulnerabilidades e ataques.

É importante configurar SELinux corretamente para garantir que os serviços da Plataforma PostgreSYS funcionem corretamente.

A seguir, apresentamos algumas etapas para ajuste de políticas de segurança do SELinux para o PostgreSQL:

  • Verifique a situação do SELinux:

    sestatus
  • Ajuste das políticas de SELinux para permitir conexões de rede para o PostgreSQL:

    # Comando genérico para ajustar políticas SELinux
    # Substitua <BOOLEAN> pelo booleano desejado e <VALOR> por 1 (ativar) ou 0 (desativar)
    sudo setsebool -P <BOOLEAN> <VALOR>
  • Adicione contextos de segurança para os diretórios do PostgreSQL, garantindo que eles tenham as permissões corretas:

    # Comando genérico para adicionar contexto de segurança
    # Substitua <DIRETORIO> pelo caminho do diretório e <CONTEXTO> pelo contexto desejado
    sudo semanage fcontext -a -t <CONTEXTO> "<DIRETORIO>"
    
    # Aplicar contexto de segurança
    sudo restorecon -Rv <DIRETORIO>
  • Configure o SELinux para permitir conexões de rede e adicionar contextos de segurança para os diretórios do PostgreSQL:

    # Permitir conexões de rede para PostgreSQL
    sudo setsebool -P postgresql_can_network_connect 1
    
    # Adicionar contexto de segurança para diretórios PostgreSQL
    DIRETORIOS=("/var/lib/pgsql" "/var/lib/pgsql/data")
    for DIR in "${DIRETORIOS[@]}"; do
        sudo semanage fcontext -a -t postgresql_db_t "${DIR}(/.*)?"
        sudo restorecon -Rv ${DIR}
    done