安全建议
快速上手和单机部署的基本安全检查。
默认配置适用于本地演示和受信内网中的开发测试。只要部署可能被其他主机访问,就应至少完成凭据、网络和关键文件三项检查。
密码
Pigsty 的默认凭据公开记录在源码和文档中,不能直接用于生产。
配置向导可以随机化其识别的内置参数和示例凭据:
./configure -g
configure -g 不会替换以下内容:
- pgBackRest 的
cipher_pass; ha/safe中的 MinIO 用户和部分示例口令;- 用户自行添加的数据库、对象存储或应用凭据。
生成完成后,应检查 pigsty.yml,逐项替换未覆盖的凭据。配置向导会在终端输出生成的密码,因此终端记录和自动化日志也应按敏感信息保护。
完整范围见 默认凭据。
防火墙
node_firewall_mode 默认为 zone,信任 node_firewall_intranet 定义的内网,并限制公网放行端口。
| 端口 | 服务 | 默认公网状态 |
|---|---|---|
22 | SSH | 放行 |
80 | Nginx HTTP | 放行 |
443 | Nginx HTTPS | 放行 |
5432 | PostgreSQL | 基础默认值不放行;演示配置 pigsty.yml 额外放行 |
生产部署通常应从演示配置中移除 5432。如果业务需要直接连接数据库,应在云安全组、防火墙和 HBA 中同时限制来源地址。
还应检查内网定义是否符合实际信任边界。默认 RFC 1918 地址段可能覆盖范围过大,办公网、容器网段和其他租户网络不应自动视为可信。
文件
以下文件和目录包含高敏感信息:
pigsty.yml:系统与业务凭据、节点和服务配置;files/pki/ca/ca.key:本地 CA 私钥;- 管理用户 SSH 私钥:用于访问纳管节点;
files/pki/misc/*.key:客户端证书私钥;/pg/tmp/pg-user-*.sql:用户创建过程中生成的明文口令 SQL。
应限制管理节点和配置仓库访问,避免将完整配置或私钥提交到公开仓库,并为 CA 私钥和必要配置建立受控备份。