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. 

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. 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?. 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. 

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, "si eres administrador del equipo, tienes acceso a todo".

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

Gracias de nuevo.

Un saludo

> El 11 nov 2024, a las 16:01, Jaime Casanova <jcasa...@systemguards.com.ec> 
> escribió:
> 
> On Mon, Nov 11, 2024 at 9:44 AM Javier J Matilla
> <javierjmati...@gmail.com> wrote:
>> 
>> Entiendo que de base en postgres la seguridad es delegada en el sistema 
>> operativo. Este caso es experimental y solo veo para Linux.
>> 
> 
> En realidad no, la seguridad no es una cosa sino que se provee a
> traves de una serie de técnicas para evitar distintos factores de
> ataque.
> 
> Postgres provee seguridad de distintas formas:
> 
> 1) el archivo pg_hba.conf sirve para que determines quien se puede
> conectar al servidor de base de datos, a que base de datos y desde que
> IP (y como se debe autenticar, solo con una clave o a traves de otro
> sistema de autenticacion como LDAP/AD)
> 2) puedes manejar conexiones SSL para encriptacion de datos en tránsito
> 3) el sistema de permisos (GRANT/REVOKE) te permite determinar quien
> puede realizar que acciones en la base de datos o en otros objetos de
> la base de datos (incluido pero no limitado a leer o escribir)
> 4) puedes escalar privilegios de forma controlada a traves de vistas o
> funciones, de manera que puedas dar asignar la menor cantidad de
> privilegios a los usuarios y escalar de forma controlada cuando lo
> requiereas (por ejemplo si quieres grabar en tablas de auditoria)
> 5) puedes establecer reglas para determinar quien será capaz de leer
> ciertos registros en una tabla y negarle acceso a otros registros
> 
> Ahora como te dijeron TDE (que es basicamente encriptacion de datos en
> reposo o en disco), eso lo puedes manejar con una partición encriptada
> en el sistema operativo. ¿Este es el factor de seguridad que más
> preocupa? Mi apreciación personal es que no.
> El ámbito de protección de TDE es limitado, especialmente si la clave
> de encriptación no está en otro servidor, despues de todo TDE te
> protege principalmente en el caso que accedan a tus discos (por
> ejemplo que los copien o se los roben) o en el caso que se roben
> archivos de backup.
> 
> - TDE no protege los datos en tránsito, por lo que sigue siendo
> necesario el cifrado en las conexiones de red (conexiones SSL).
> - No protege los datos una vez que se cargan en la memoria (datos en
> uso), por lo que si un atacante obtiene acceso a la instancia de la
> base de datos o a las credenciales, puede acceder a los datos en su
> forma sin cifrar. Por eso necesitas el sistema de privilegios y dar
> los permisos apropiados a cada usuario.
> 
> 
> -- 
> Jaime Casanova
> SYSTEMGUARDS S.A.
> Director de Servicios Profesionales



Reply via email to