仅允许通过 VPN 访问 Postgres 远程虚拟机

仅允许通过 VPN 访问 Postgres 远程虚拟机

我缺乏有关 VPN 的知识。给定的是带有 Postgresql 的远程 VM。服务器具有公共 IP。

是否有可能(以及如何):

  • 数据库级别:仅当用户激活了公司 VPN 时才允许连接到 postgres(pg_hba.conf)(<- 如何识别?)
  • 服务器级别:关闭公共 IP,但如果用户在 VPN 内则允许访问服务器?(这有意义吗?)

我更加困惑了,因为远程虚拟机与公司网络无关。谢谢大家的指导!

答案1

很有可能。

数据库级别:仅当用户激活了公司 VPN 时才允许连接到 postgres(pg_hba.conf)(<- 如何识别?)

非常简单 - 添加一行来匹配特定数据库和用户连接的 VPN IP 前缀。

服务器级别:关闭公共 IP,但如果用户在 VPN 内则允许访问服务器?(这有意义吗?)

确实如此。方法相同,但位置不同(较低)OSI 模型层:过滤掉从外界到 tcp/5432 的任何连接(如果有多个,则将过滤规则应用于服务器上的外部接口),并且只允许来自 VPN 前缀的连接。

为了进一步加强安全性,让 PostgreSQL 实例仅绑定到特定接口(如果服务器有多个)PostgreSQL 配置文件使用listen_addresses指令(指定特定地址而不是*)。

相关内容