Menu AuthGuardCentro de ajuda
Englishauthguard.pt

Administradores · Acesso privilegiado (PAM)

Sessões de base de dados gravadas (PostgreSQL)

  • 2 min de leitura
  • SaaS · Instalação própria · Edge

Ainda não disponível

Este artigo descreve uma funcionalidade em desenvolvimento. Ainda não a pode usar; o artigo serve para planear.

O acesso privilegiado vai passar a abranger bases de dados. As pessoas continuam a usar o cliente habitual (psql, DBeaver, DataGrip) e ligam-se através do gateway de acesso privilegiado. O gateway entra na base de dados com a credencial do cofre ou com uma credencial temporária, que a pessoa nunca vê, e grava cada instrução. O PostgreSQL é o primeiro; o MySQL/MariaDB e o Microsoft SQL Server seguem-se mais tarde.

Já está disponível?

Ainda não. O proxy de bases de dados está construído e testado com o PostgreSQL 18, mas o serviço de escuta do gateway, os ecrãs da consola e os bilhetes de ligação ainda estão em desenvolvimento. Este artigo descreve como vai funcionar, para que possa planear alvos, perfis e regras.

Como vai funcionar uma ligação?

  1. A pessoa pede a conta da base de dados em «Acesso» › «O meu acesso» e, depois de aprovada, ativa o acesso.
  2. Pede uma ligação. A consola mostra o anfitrião do gateway, a porta 6432, o utilizador (o identificador do acesso, que começa por l-) e uma palavra-passe de uso único, o bilhete de ligação, válido durante um minuto.
  3. O cliente liga-se por TLS e verifica o certificado do gateway (sslmode=verify-full). As ligações sem TLS são recusadas.
  4. O gateway resgata o bilhete, abre a sua própria ligação TLS à base de dados, confirma que a chave da base de dados é a que confirmou para o alvo e entra com SCRAM-SHA-256.

O que fica gravado?

GravadoNão gravado
Cada instrução, a duração, o resultado do comando, as linhas afetadas e os errosAs linhas devolvidas
O texto das instruções preparadasOs valores dos parâmetros, salvo se o perfil os pedir (por omissão, só o número e os tipos)
O tamanho de um COPYO conteúdo de um COPY

As instruções que contêm PASSWORD são sempre ocultadas. Um perfil pode também ocultar os valores literais no texto das instruções ('…' passa a '?'). As gravações são cifradas, seladas e guardadas como as gravações SSH.

Posso bloquear instruções perigosas?

Cada perfil de acesso vai poder ter até 64 regras (expressões regulares), cada uma com uma ação: gerar um alerta, terminar a sessão ou bloquear a instrução. Trate o bloqueio como uma proteção adicional: o SQL dinâmico pode contornar um padrão. O verdadeiro controlo é uma função de base de dados com o mínimo de privilégios, ou temporária, para cada acesso.

O que é que o gateway recusa?

  • ligações sem TLS e ligações de replicação;
  • um bilhete usado duas vezes, expirado ou destinado a outra pessoa;
  • uma base de dados diferente da do acesso, salvo se o alvo permitir a escolha;
  • uma base de dados cuja chave não corresponde à confirmada;
  • entrada na base de dados por MD5, GSS ou SSPI.

Quando o período de acesso termina, ou quando um administrador termina a sessão, o cliente da pessoa recebe o motivo e as duas ligações fecham-se.

Referência do artigoad-pam-database-sessionsindique-a ao suporte para identificar este artigo. Verificado contra o produto no commit 78c33b39.