溫馨提示×

centos sqladmin安全設置怎么做

小樊
44
2025-10-02 23:28:26
欄目: 云計算

CentOS環境下SQLAdmin安全設置指南

一、系統基礎安全加固

  1. 更新系統與軟件
    定期執行sudo yum update -y更新CentOS操作系統及已安裝的SQLAdmin、數據庫(如MySQL/MariaDB)等軟件包,及時修復已知安全漏洞。
  2. 禁用不必要的服務
    使用systemctl disable ftp telnet等命令關閉FTP、Telnet等不安全服務,減少潛在攻擊面;通過systemctl list-unit-files --state=enabled檢查并禁用無用服務。
  3. 強化賬戶與口令管理
    • 刪除默認無用賬戶(如adm、lp、sync):sudo userdel adm;
    • 鎖定非必要超級用戶:sudo passwd -l username(僅保留root等必需超級用戶);
    • 設置強密碼策略:修改/etc/login.defs,強制密碼長度≥10位、包含大小寫字母+數字+特殊字符(如PASS_MIN_LEN 10、PASS_REQUIRE_MIXED_CASE yes);
    • 檢查空口令賬戶:sudo awk -F: '($2 == "") {print $1}' /etc/shadow,并為這些賬戶設置強密碼。

二、SQLAdmin用戶與權限管理

  1. 創建專用SQLAdmin用戶
    使用sudo adduser sqladmin創建專用管理賬戶,避免直接使用root賬戶;設置強密碼:sudo passwd sqladmin。
  2. 配置最小必要權限
    • 登錄數據庫(mysql -u root -p),僅為sqladmin用戶分配其工作所需的最低權限(如僅管理特定數據庫mydb):
      CREATE USER 'sqladmin'@'localhost' IDENTIFIED BY 'StrongPassword123!';
      GRANT SELECT, INSERT, UPDATE, DELETE ON mydb.* TO 'sqladmin'@'localhost';
      FLUSH PRIVILEGES;
      
    • 禁止授予ALL PRIVILEGESGRANT OPTION(除非絕對必要),避免權限濫用。
  3. 限制用戶訪問范圍
    • 將sqladmin用戶綁定至localhost(僅本地訪問),若需遠程訪問,需添加對應IP限制(如'sqladmin'@'192.168.1.100')并配置防火墻允許該IP訪問數據庫端口(默認3306)。

三、網絡安全配置

  1. 配置防火墻規則
    使用firewalld開放數據庫端口(3306),并限制訪問源IP:
    sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp
    sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port port="3306" protocol="tcp" accept'
    sudo firewall-cmd --reload
    
    若使用iptables,可添加類似規則:sudo iptables -A INPUT -p tcp -s 192.168.1.100 --dport 3306 -j ACCEPT。
  2. 啟用SSL/TLS加密
    配置數據庫連接使用SSL/TLS,防止數據傳輸被竊聽:
    • 生成SSL證書(如使用openssl);
    • 在數據庫配置文件(/etc/my.cnf)中添加:
      [mysqld]
      ssl-ca=/path/to/ca.pem
      ssl-cert=/path/to/server-cert.pem
      ssl-key=/path/to/server-key.pem
      
    • 強制sqladmin用戶使用SSL連接:GRANT ... REQUIRE SSL;。

四、審計與監控

  1. 開啟數據庫審計日志
    在數據庫配置文件(/etc/my.cnf)中啟用通用查詢日志和慢查詢日志:
    [mysqld]
    general_log = 1
    general_log_file = /var/log/mysql/general.log
    slow_query_log = 1
    slow_query_log_file = /var/log/mysql/slow.log
    long_query_time = 2
    
    重啟數據庫使配置生效:sudo systemctl restart mysqld。
  2. 使用auditd監控系統活動
    安裝并配置auditd服務,記錄sqladmin用戶的操作(如登錄、數據庫修改):
    sudo yum install audit -y
    sudo systemctl start auditd
    sudo systemctl enable auditd
    
    添加審計規則(監控sqladmin用戶的命令執行):
    sudo auditctl -a always,exit -F arch=b64 -S execve -F euid=sqladmin -k sqladmin_commands
    
    查看審計日志:ausearch -k sqladmin_commands。

五、其他安全措施

  1. 保護配置文件權限
    數據庫配置文件(如/etc/my.cnf)包含敏感信息(如數據庫密碼),需限制訪問權限:
    sudo chown root:sqladmin /etc/my.cnf
    sudo chmod 640 /etc/my.cnf
    
  2. 禁用root遠程登錄
    修改SSH配置(/etc/ssh/sshd_config),設置PermitRootLogin no,禁止root用戶通過SSH遠程登錄;使用普通用戶登錄后再切換至root(su -)。
  3. 定期備份數據
    使用mysqldump定期備份數據庫(如每日備份),并將備份文件存儲至安全位置(如異地服務器):
    mysqldump -u sqladmin -p mydb > /backup/mydb_$(date +%F).sql
    
    定期測試備份恢復流程,確保數據可恢復。

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