溫馨提示×

Ubuntu中pgAdmin安全設置步驟

小樊
42
2025-10-01 07:15:47
欄目: 智能運維

Ubuntu中pgAdmin安全設置步驟

1. 修改默認密碼

  • PostgreSQL默認管理員密碼:使用sudo -u postgres psql進入PostgreSQL命令行,執行\password postgres命令,設置復雜密碼(包含大小寫字母、數字和特殊字符)。
  • pgAdmin自身密碼:首次安裝pgAdmin后,通過Web界面登錄初始管理員賬號(默認端口5050),立即修改密碼,避免使用默認或弱密碼。

2. 配置防火墻限制訪問

  • 使用ufw(Uncomplicated Firewall)工具限制pgAdmin的訪問范圍:
    sudo ufw allow from <trusted_ip> to any port 5050/tcp  # 僅允許特定IP訪問pgAdmin端口
    sudo ufw enable  # 啟用防火墻
    
    替換<trusted_ip>為你的實際可信IP地址(如公司IP或家庭IP),避免暴露pgAdmin到公網。

3. 啟用SSL加密通信

  • 生成SSL證書和私鑰
    sudo mkdir -p /etc/ssl/private/pgadmin /etc/ssl/certs/pgadmin
    sudo openssl genrsa -out /etc/ssl/private/pgadmin/pgadmin.key 2048  # 生成2048位私鑰
    sudo openssl req -new -key /etc/ssl/private/pgadmin/pgadmin.key -out /etc/ssl/certs/pgadmin/pgadmin.csr  # 創建證書簽名請求(CSR)
    sudo openssl x509 -req -days 365 -in /etc/ssl/certs/pgadmin/pgadmin.csr -signkey /etc/ssl/private/pgadmin/pgadmin.key -out /etc/ssl/certs/pgadmin/pgadmin.crt  # 生成自簽名證書(有效期365天)
    sudo cat /etc/ssl/private/pgadmin/pgadmin.key /etc/ssl/certs/pgadmin/pgadmin.crt > /etc/ssl/certs/pgadmin/pgadmin.pem  # 合并為PEM格式
    
  • 配置pgAdmin使用SSL: 編輯pgAdmin配置文件(路徑通常為/etc/pgadmin/pgadmin.conf),添加以下內容:
    [server]
    ssl = on
    ssl_cert_file = /etc/ssl/certs/pgadmin/pgadmin.pem
    ssl_key_file = /etc/ssl/private/pgadmin/pgadmin.key
    
    保存后重啟pgAdmin服務:
    sudo systemctl restart pgadmin4
    
    訪問pgAdmin時使用https://your_server_ip:5050,瀏覽器會提示自簽名證書風險,選擇“繼續訪問”即可。

4. 配置訪問控制列表(ACL)

  • PostgreSQL層面:編輯pg_hba.conf文件(路徑通常為/etc/postgresql/<version>/main/pg_hba.conf),限制允許連接的IP和用戶。例如:
    # 僅允許本地和特定IP通過密碼認證連接
    host    all             all             127.0.0.1/32            md5
    host    all             all             <trusted_ip>/32         md5
    
    保存后重啟PostgreSQL服務:
    sudo systemctl restart postgresql
    
  • pgAdmin用戶權限:通過pgAdmin Web界面管理用戶和角色:
    • 進入“服務器”→“用戶”,創建新用戶并分配最小必要權限(如僅允許訪問特定數據庫)。
    • 避免授予“超級用戶”權限給非必要用戶,降低數據庫被誤操作或攻擊的風險。

5. 定期更新系統和軟件

  • 定期更新Ubuntu系統、PostgreSQL數據庫和pgAdmin到最新版本,修復已知安全漏洞:
    sudo apt update && sudo apt upgrade -y  # 更新系統
    sudo pip3 install --upgrade pgadmin4    # 更新pgAdmin(若通過pip安裝)
    
    建議開啟自動更新(如sudo apt install unattended-upgrades),確保及時獲取安全補丁。

6. 啟用日志審計

  • 配置pgAdmin和PostgreSQL的日志記錄,監控訪問和操作:
    • pgAdmin日志:編輯pgadmin.conf,設置日志路徑和級別:
      [logging]
      log_file = /var/log/pgadmin/pgadmin.log
      log_level = INFO
      
    • PostgreSQL日志:編輯postgresql.conf,開啟日志記錄:
      logging_collector = on
      log_directory = 'pg_log'
      log_filename = 'postgresql-%Y-%m-%d.log'
      log_min_error_statement = error
      
    定期檢查日志文件(如/var/log/pgadmin/pgadmin.log/var/lib/pgsql/<version>/main/pg_log/),及時發現異常登錄、未授權操作等行為。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女