[database]mysql 如何防駭
MySQL 資料庫的安全性非常重要,特別是你的應用需要全球打卡,涉及大量用戶數據。為了防止駭客攻擊,你可以從以下幾個層面加強防護:
1. 使用強密碼與最小權限原則
✅ 強密碼策略
確保 MySQL 帳戶使用強密碼,避免簡單密碼被破解:
可透過 validate_password 外掛來強制執行:
✅ 最小權限原則
不要讓應用程式帳戶擁有 ALL PRIVILEGES,只給必要的權限:
2. 限制 MySQL 連線與遠端存取
✅ 避免 MySQL 允許遠端連線
除非必要,不允許外部 IP 直接連線 MySQL,編輯 my.cnf:
如果必須開放,則 限制特定 IP:
3. 防 SQL Injection(SQL 注入攻擊)
✅ 使用 Prepared Statements
永遠不要在 SQL 查詢中拼接使用者輸入,應該使用 Prepared Statement:
4. 開啟 MySQL 加密
✅ 強制加密連線
確保資料傳輸過程是加密的,修改 my.cnf:
如果你的應用程式使用 MySQL 連線,請確保支援 SSL/TLS:
5. 記錄與監控異常行為
✅ 啟用 MySQL 日誌
開啟查詢日誌與錯誤日誌,確保異常行為可追蹤:
也可以使用 Fail2Ban 來監控 MySQL 連線異常,防止暴力破解。
6. 定期更新與備份
✅ 確保 MySQL 是最新版本,避免已知漏洞。
✅ 每天自動備份(建議至少備份 7 天):
留言
張貼留言