PostgreSQL 10.1 手册_部分 III. 服务器管理_第 18 章 服务器设置和操作_18.8. 加密选项

本文涉及的产品
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
密钥管理服务KMS,1000个密钥,100个凭据,1个月
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: 18.8. 加密选项 PostgreSQL提供了几个不同级别的加密, 并且在保护数据不会因为数据库服务器偷窃、不道德的管理员、不安全网络等因素而泄漏方面 提供很高的灵活性。加密可能也是保护一些诸如医疗记录或财务交易等敏感数据所要求的。

18.8. 加密选项

PostgreSQL提供了几个不同级别的加密, 并且在保护数据不会因为数据库服务器偷窃、不道德的管理员、不安全网络等因素而泄漏方面 提供很高的灵活性。加密可能也是保护一些诸如医疗记录或财务交易等敏感数据所要求的。

口令存储加密

默认情况下,数据库用户的口令以 MD5 哈希的方式存储, 所以管理员无法判断赋予用户的实际口令。如果 MD5 被加密用于客户端认证, 那么未加密的口令甚至都不可能临时出现在服务器上,因为客户端在透过网络发送口令之前,就先用 MD5 加密过。

指定列加密

pgcrypto模块允许对特定域进行加密存储。这个功能只对某些敏感数据有用。 客户端提供解密的密钥,然后数据在服务器端解密并发送给客户端。

在数据被解密和在服务器与客户端之间传递时,解密数据和解密密钥将会在服务器端存在短暂的一段时间。 这就给那些能完全访问数据库服务器的人提供了一个短暂的截获密钥和数据的时间,例如系统管理员。

数据分区加密

存储加密可以在文件系统层面或者块层面上执行。Linux 文件系统加密 选项包括 eCryptfs 和 EncFS,而 FreeBSD 使用 PEFS。快层面或者全 盘加密选项包括 Linux 上的 dm-crypt + LUKS 以及 FreeBSD 上的 GEOM 模块 geli 及 gbde。很多其他操作系统也支持这个功能,包括 Windows。

这个机制避免了在整个计算机或者驱动器被盗的情况下, 未加密的数据被从驱动器中读取。它无法防止在文件系统被挂 载时的攻击,因为在挂载之后,操作系统提供数据的解密视图。不过,要想挂载该文件系统,你需要有一些方法把加密密钥传递给操作 系统,并且有时候这个密钥就存储在挂载该磁盘的主机上的某处。

跨网络加密口令

MD5认证方法在将口令发送给服务器之前由客户端对它进行双重加密。第一次 MD5 加密是基于用户名的, 然后在建立数据库连接时,用服务器发送的随机盐粒再次加密口令。通过网络传递给服务器的就是这个双重加密的值。双重加密 不仅可以防止口令被发现,还可以防止稍后另一个连接使用同样的加密口令连接数据库。

跨网络加密数据

SSL 连接加密所有跨网络发送的数据:口令、查询以及返回的数据。pg_hba.conf文件允许管理员指定哪些主机可以使用 非加密连接(host),以及哪些主机需要使用 SSL 加密的连接(hostssl)。客户端还可以指定它们只通过 SSL 连接到服务器。我们还可以使用StunnelSSH加密传输。

SSL 主机认证

客户端和主机都可以提供 SSL 证书给对方。这在两边都需要一些额外的配置, 但是这种方式提供了比仅使用口令更强的身份验证。 它避免一个计算机伪装成服务器,这个时长只要足够读取客户端发送的口令就行了。它还避免了 中间人攻击,在其中有一台计算机处于客户端和服务器之间并伪装成服务器读取和传递两者之间的所有数据。

客户端加密

如果服务器所在机器的系统管理员是不可信的,那么客户端加密数据也是必要的。在这种情况下,未加密的数据从来不会在数据库服务器上出现。数据在发送给服务器之前加密,而数据库结果在能使用之前必须在客户端上解密。

本文转自PostgreSQL中文社区,原文链接:18.8. 加密选项

相关文章
|
17天前
|
前端开发 开发工具 git
如何清理 docker 磁盘空间+修改 Gitea 服务器的 Webhook 设置+前端一些好学好用的代码规范-git hook+husky + commitlint
如何清理 docker 磁盘空间+修改 Gitea 服务器的 Webhook 设置+前端一些好学好用的代码规范-git hook+husky + commitlint
23 5
ly~
|
17天前
|
网络协议 应用服务中间件 Apache
如何在 DNS 记录中设置反向代理服务器?
要设置反向代理服务器,首先需安装配置软件(如 Nginx 或 Apache),并确保域名正确指向服务器 IP。接着,在 DNS 中设置 A 或 CNAME 记录,将域名指向反向代理服务器。然后编辑 Nginx 或 Apache 的配置文件,将请求转发至后端服务器。最后,通过浏览器访问域名测试配置是否成功,并使用工具检查请求流向和响应情况。
ly~
37 3
|
1月前
HAProxy的高级配置选项-配置haproxy支持https协议及服务器动态上下线
文章介绍了如何配置HAProxy以支持HTTPS协议和实现服务器的动态上下线。
110 8
HAProxy的高级配置选项-配置haproxy支持https协议及服务器动态上下线
|
1月前
|
监控 Apache
HAProxy的高级配置选项-Web服务器状态监测
这篇文章介绍了HAProxy的高级配置选项,特别是如何进行Web服务器状态监测,包括基于四层传输端口监测、基于指定URI监测和基于指定URI的request请求头部内容监测三种方式,并通过实战案例展示了配置过程和效果。
74 8
HAProxy的高级配置选项-Web服务器状态监测
|
1月前
|
监控 Kubernetes 安全
如何设置一个有效的远程管理工具来简化服务器的维护工作?
如何设置一个有效的远程管理工具来简化服务器的维护工作?
|
3月前
|
弹性计算 Linux 云计算
云服务器 ECS产品使用问题之如何设置adminpassword
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
2月前
|
域名解析 网络协议 数据中心
【应用服务 App Service】当遇见某些域名在Azure App Service中无法解析的错误,可以通过设置指定DNS解析服务器来解决
【应用服务 App Service】当遇见某些域名在Azure App Service中无法解析的错误,可以通过设置指定DNS解析服务器来解决
|
2月前
|
网络协议
【qt】TCP的监听 (设置服务器IP地址和端口号)
【qt】TCP的监听 (设置服务器IP地址和端口号)
144 0
|
6天前
|
存储 弹性计算 安全
阿里云第七代云服务器ECS性能、适用场景与价格参考
阿里云第七代云服务器ECS(Elastic Compute Service)作为阿里云最新一代的高性能计算产品,凭借其基于最新硬件架构和虚拟化技术的全面升级,在计算能力、存储性能、网络传输速度以及灵活性等多个方面实现了显著提升。这一代云服务器旨在为用户提供更为强大、稳定且可定制的云端基础设施服务,广泛适用于从基础的Web托管到复杂的高性能计算等多种应用场景。
|
5天前
|
弹性计算 网络安全
阿里云国际OpenAPI多接口快速管理ECS服务器教程
阿里云国际OpenAPI多接口快速管理ECS服务器教程