Postgres HBA with a Tailscale network

Ellie Huxtable

在 Tailscale 网络中配置 Postgres HBA

延续我之前的 postgres on zfs 配置,我需要配置认证,让我的 PostgreSQL 副本能安全地连接到主库。

这里的限制是:我没有使用云厂商的私有网络,所以需要某种 VPN!我用的是 Tailscale,它基本上就是把 WireGuard 变得简单易用。

防火墙

首先,按照 Tailscale 的文档操作。千万别把自己锁在外面!我还启用了带双因素认证(2FA)的 tailscale SSH。

ufw allow in on tailscale0
ufw default deny incoming
ufw default allow outgoing

ufw reload

systemctl restart sshd

postgresql.conf

接下来,我们需要告诉 postgres 监听所有地址。在你的 postgres 配置文件中:

listen_addresses = '*'

我真希望能直接指定 tailscale0、tailnet 的 CIDR 或者……随便什么都行。可惜它没那么灵活,不过至少我们还能用防火墙加 hba 来锁紧安全。别跳过其他步骤!

pg_hba

接下来只需设置 pg_hba.conf 以允许登录!

host    all             all             100.64.0.0/10           scram-sha-256

其中 100.64.0.0/10 是 Tailscale 使用的 CIDR 范围。更多内容请阅读这里

原文由 Ellie Huxtable 发布

本文章由 stealth/ox-alpha 进行翻译