如何加密静态 PostgreSQL 数据库。
我找不到关于如何实现这一目标的良好文档?
威胁模型在这种情况下非常重要,因为有效地加密数据库并不是一件容易的任务,这可以在 3 个不同的层完成(客户端应用程序、存储设备、数据库本身)请注意,在所有情况下,如果客户端应用程序受到损害,加密就毫无用处,自数据库加密解决方案涵盖了如下列出的最少威胁模型。
- 恶意用户窃取存储设备并直接读取数据库文件。
- 恶意备份操作员进行备份。
- 保护静态数据(持久数据)
数据库加密方案一:
系统盘加密(密码设置 https://linux.die.net/man/8/cryptsetup/luks https://wiki.archlinux.org/index.php/Dm-crypt/Device_encryption)...在这种情况下不需要对 Postgres 设置进行修改。这也使得堵塞和文本日志被加密(静态)。如果您使用的是谷歌云虚拟机本指南 https://unix.stackexchange.com/questions/580793/how-to-force-a-custom-disk-encryption-on-a-google-cloud-compute-instance-gcloud/可能有用。
数据库加密方案二:
PostgreSQL TDE https://wiki.postgresql.org/wiki/Transparent_Data_Encryption(透明数据加密)此 postgres 功能为整个数据库实现静态数据透明加密。举例说明here https://www.cybertec-postgresql.com/en/install-postgresql-9-6-with-transparent-data-encryption/.
数据库加密方案3:
Pgcrypto https://www.postgresql.org/docs/current/static/pgcrypto.html可用于加密部分数据库,而不是加密所有内容的解决方案。举例说明here https://marcopeg.com/2019/per-user-encryption-in-postgres.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)