網站安全性,其中一個是擁有安全的備份檔案,尤其是資料庫的費份,包含了帳號、密碼雜湊、使用者個資等,更應該注重安全性。該備份不應明碼儲存,更不應放在同一臺主機上的 web 權限可以取得之處,以免網站被攻破時,連帶將你的備份帶走保存;甚至刪除你的原始備份,這樣就完全沒有備份的效果了。
因此,實現備份時,種種顧慮下,第一步一定是將備份的檔案正確的加密,我們建議使用非對稱金鑰來實現這樣的工作,因為非對稱金鑰可以讓系統自動備份時,使用可以公開的公鑰進行檔案加密,就算被竊取走,也不用擔心備份的檔案被解密。需要解密時,使用僅存於少數人中的私鑰解密,讓加密備份安全無虞。
1. 產生非對稱金鑰
使用 Linux 環境,可以使用 OpenSSL 來達成此工作。先使用以下指令產生非對稱金鑰:
openssl req -x509 -nodes -newkey rsa:2048 -keyout private.key -out public.key
該金鑰如前述,public.key 要儲存於伺服器中, private.key 則是存在真正有權限的使用者安全處。
2. 進行資料庫備份
如果使用 MariaDB,我們推薦使用 Markabackup 來進行資料庫的備份,比起傳統的 mysqldump,mariabackup 支援熱備份,且對網站的造成影響較小,不會讓資料庫在備份過程中斷線,詳細可以參考