En 11/11/24 11:10 AM, Javier J Matilla escribió:
Hola Jaime,

Muchas gracias por la respuesta. Entiendo que hay un problema de comunicación, 
me explico: actualmente uso ssl para la conexión con usuario y contraseña y 
funciona perfecto, tengo problemas porque no veo bien que la seguridad se 
delegue en pg_hba.conf como fichero plano, entiendo que debería estar 
incrustado en el servicio como una base de datos más de configuración, pero 
bueno, esta parte no es problema si tengo controlado el acceso y el fichero.
Eso se resuelve en tu propio archivo pg_hba.conf. Le cambias el método de trust a scram-sha-256

# TYPE  DATABASE        USER            ADDRESS                 METHOD
# "local" is for Unix domain socket connections only
local   all             all                                     scram-sha-256
# IPv4 local connections:
host    all             all             127.0.0.1/32            scram-sha-256
# IPv6 local connections:
host    all             all             ::1/128                 scram-sha-256

Así como mencionas, las credenciales de acceso se almacenan en la propia base de datos. La contraseña se la cambias con ALTER USER https://www.postgresql.org/docs/current/sql-alteruser.html

Mi preocupación es si alguien se puede conectar como administrador al servidor, 
que no tenga fácil, copiar los ficheros y llevárselos a otro servidor.
Eso se restringe con los permisos de UNIX.
En el caso de la encriptación del disco con Bitlocker o Lucks, en el momento 
que inicia el sistema operativo y el servicio, desbloquea el disco, por tanto 
creo que no evitaría el problema. Mi búsqueda es: ¿como evito o que técnica 
puedo usar para prevenir, que alguien que se conecte al equipo como 
administrador pueda copiar o consultar los datos de postgres de ninguna manera 
salvo que conozca el usuario y contraseña de acceso o tenga una cuenta de 
acceso a los datos y no solo por ser administrador del equipo tenga acceso?.
El METHOD en tu pg_hba.conf
  Entiendo que si eres administrador del equipo ya tienes un problema 
suficientemente grande, pero, no tendrías los datos, salvo que conozcas este 
usuario y contraseña, y no podrías copiar nada.

Es aquí donde he consultado y TDE sería la mejor opción, desconozco si existen 
otras alternativas.
Postgres soporta múltiples métodos de autenticación. No necesitaríás recurrir a herramientas propietarias de terceros. En cuanto a la autorización, eso lo haces desde SQL por medio de GRANT y REVOKE.

Al ver que no es muy solicitado este tema para postgres como para otros 
sistemas es cuando he dado por hecho que delega la seguridad en el sistema 
operativo,
Eso solo es un default de instalación, pero Postgres soporta múltiples métodos. En el propio archivo pg_hba.conf viene explicado.
"si eres administrador del equipo, tienes acceso a todo".
No siempre y no necesariamente.

Espero haber aclarado un poco más el contexto, antes puede que haya concluido 
demasiado rápido.

Gracias de nuevo.

Un saludo

Reply via email to