以下是Debian系統上PostgreSQL的安全設置方法:
系統與軟件更新
定期更新系統和PostgreSQL軟件包,修復安全漏洞:
sudo apt update && sudo apt upgrade
用戶與權限管理
postgres
用戶設置強密碼:sudo -u postgres psql -c "ALTER USER postgres PASSWORD '強密碼';"
sudo -u postgres psql
CREATE USER 應用用戶 WITH PASSWORD '應用密碼';
GRANT CONNECT ON DATABASE 應用庫 TO 應用用戶;
配置文件安全設置
/etc/postgresql/{version}/main/postgresql.conf
,將listen_addresses
設為localhost
或特定IP,避免'*'
。postgresql.conf
中設置ssl=on
,并指定證書路徑;在pg_hba.conf
中使用hostssl
認證方式。pg_hba.conf
中限制IP段和認證方式(如md5
),示例:host all all 192.168.1.0/24 md5 # 僅允許指定IP段使用密碼連接
防火墻與網絡隔離
使用UFW等防火墻僅開放PostgreSQL端口(默認5432)給必要IP:
sudo ufw allow from 192.168.1.0/24 to any port 5432
sudo ufw reload
日志與監控
啟用詳細日志記錄,定期分析異常行為:
# 在postgresql.conf中設置
log_statement = 'all'
log_connections = true
log_disconnections = true
其他安全措施
postgres
數據庫的遠程訪問,或刪除不必要的數據庫。pg_dump
工具自動化備份。參考來源: