安全建议

单机部署,快速上手时的三点安全加固建议

对于单机部署的 Demo/Dev 场景,只要您 修改了默认密码,Pigsty 的默认配置已经足够安全。

如果您的部署对互联网开放,可以考虑添加 防火墙 规则,限制端口访问与来源IP,进一步加固安全性。

除此之外,我们建议您保护好 Pigsty 的 关键文件(配置文件与 CA 私钥)防止未授权访问并定期备份。

对于有着严格安全要求的企业级生产环境,请参考 部署-安全加固 文档进行进阶配置。


密码

Pigsty 是一个开源项目,默认密码众所周知。如果您的部署面向互联网或者办公网开放,请务必修改所有默认密码!

模块参数默认值
INFRAgrafana_admin_passwordpigsty
INFRAgrafana_view_passwordDBUser.Viewer
PGSQLpg_admin_passwordDBUser.DBA
PGSQLpg_monitor_passwordDBUser.Monitor
PGSQLpg_replication_passwordDBUser.Replicator
PGSQLpatroni_passwordPatroni.API
NODEhaproxy_admin_passwordpigsty
MINIOminio_secret_keyS3User.MinIO
ETCDetcd_root_passwordEtcd.Root

为了避免手动修改密码的繁琐,Pigsty 的 配置向导 提供了自动生成随机强密码的功能,使用 configure-g 参数即可。

$ ./configure -g
configure pigsty v4.0.0 begin
[ OK ] region = china
[WARN] kernel  = Darwin, can be used as admin node only
[ OK ] machine = arm64
[ OK ] package = brew (macOS)
[WARN] primary_ip = default placeholder 10.10.10.10 (macOS)
[ OK ] mode = meta (unknown distro)
[ OK ] locale  = C.UTF-8
[ OK ] generating random passwords...
    grafana_admin_password   : CdG0bDcfm3HFT9H2cvFuv9w7
    pg_admin_password        : 86WqSGdokjol7WAU9fUxY8IG
    pg_monitor_password      : 0X7PtgMmLxuCd2FveaaqBuX9
    pg_replication_password  : 4iAjjXgEY32hbRGVUMeFH460
    patroni_password         : DsD38QLTSq36xejzEbKwEqBK
    haproxy_admin_password   : uhdWhepXrQBrFeAhK9sCSUDo
    minio_secret_key         : z6zrYUN1SbdApQTmfRZlyWMT
    etcd_root_password       : Bmny8op1li1wKlzcaAmvPiWc
    DBUser.Meta              : U5v3CmeXICcMdhMNzP9JN3KY
    DBUser.Viewer            : 9cGQF1QMNCtV3KlDn44AEzpw
    S3User.Backup            : 2gjgSCFYNmDs5tOAiviCqM2X
    S3User.Meta              : XfqkAKY6lBtuDMJ2GZezA15T
    S3User.Data              : OygorcpCbV7DpDmqKe3G6UOj
[ OK ] random passwords generated, check and save them
[ OK ] ansible = ready
[ OK ] pigsty configured
[WARN] don't forget to check it and change passwords!
proceed with ./deploy.yml

防火墙

在互联网或者办公网开放的部署场景中,强烈建议配置 防火墙规则,限制访问 IP 范围与端口。

您可以使用云厂商提供的安全组功能,或者使用 Linux 发行版自带的防火墙服务(如 firewalldufwiptables 等)来实现。

方向:协议端口服务说明
入站TCP22SSH允许 ssh 登陆管理
入站TCP80Nginx允许 Nginx HTTP 访问
入站TCP443Nginx允许 Nginx HTTPS 访问
入站TCP5432PostgreSQL远程公网访问数据库,按需启用

Pigsty 默认支持配置防火墙规则,允许 22/80/443/5432 从外部网络访问,但这并非默认启用。


文件

在 Pigsty 中,您需要特别保护以下文件:

  • pigsty.yml:Pigsty 主配置文件,包含所有节点的访问信息与密码
  • files/pki/ca/ca.key:Pigsty 自签名 CA 的私钥,用于签发部署中所有的 SSL 证书(部署时自动生成)

我们建议您严格控制这两个文件的访问权限,并定期进行备份,将它们存储在一个安全的位置。


最后修改 2026-01-09: add supabase asciinema demo (3104503)