Cifrar database postgresql

Estoy leyendo la documentation de la database postgresql, pero no puedo encontrar nada sobre el encryption de los files de la database para evitar que alguien vea los datos sin la contraseña de la database. ¿Hay alguna manera de hacer postgresql seguro si alguien, por ejemplo, obtiene acceso físico al server?

Sé que Linux puede encriptar la partición como se dice en la documentation, pero eso no es lo que estoy buscando.

Para proteger sus datos contra el acceso físico al server, debe mover el encryption / desencryption al less parcialmente fuera del server. Si su server puede iniciar y montar sus particiones cifradas sin ayuda externa, entonces es vulnerable.

Si solo le preocupa la eliminación física, que implica un reinicio del server, entonces el encryption del disco podría ser suficiente, si la key de encryption se almacena fuera del server; por ejemplo, usando encriptación de networking (un server de deslocking de key en otra parte de la networking, por ejemplo Tang y Clevis ), o como sugirió grochmal , una key ingresada manualmente en el arranque (pero en este último caso su server no arrancará desatendido, podría ser un inconveniente significativo).

Si le importa el acceso físico en general, entonces debe realizar el encryption y desencryption utilizando información almacenada en los clientes, por ejemplo, utilizando pgcrypto , o incluso realizando encryption y desencryption únicamente en los clientes, codificados en su aplicación cliente. En estos casos, aunque los datos encryptions ya no se pueden utilizar en las consultas, a less que implemente un encryption homomórfico . Hay bastantes sutilezas involucradas, por ejemplo, con la representación de datos (valores NULL en particular), por lo que probablemente deba hablar con un experto en security (sin redevise la rueda …).