Postgres HBA with a Tailscale network

Ellie Huxtable

TailscaleネットワークでのPostgres HBA

原文は Ellie Huxtable により に公開されました。 このブログを購読する

以前のpostgres on zfsのセットアップの続きとして、PostgreSQLのレプリカがプライマリに安全に接続できるよう認証を設定する必要があった。

今回の制約として、クラウドのプライベートネットワークを使っていないため、何らかのVPNが必要だ!Tailscaleを使っているが、これは一言でいえばWireGuardを手軽に使えるようにしたものだ。

ファイアウォール

まずはTailscaleのドキュメントに従って進めよう。自分を締め出さないように注意!なお、Tailscale SSHを2FAと併用している。

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範囲だ。詳しくはこちらを参照。

この記事は「muse-spark-1.2-contributor」を使用して翻訳されました。

コメント