Ubuntu 16.04 升級 phpMyAdmin 並開啟二階段驗證( 2FA )
透過這篇 讓 Fail2ban 可以設定永久 Ban 名單 設定好之後,運行了兩三個禮拜發現,被 ban 的 IP 清單竟然有五千多筆,這真的是太危險了,於是盡可能把需要登入的頁面都加上 Two Factor Authentication,多一層保護比較安心。
小蛙原本使用的 phpMyAdmin 版本太舊,上網 Google 了一下發現 phpmyadmin 在 4.8.0 版本之後就內建了 Google 二階段驗證,直接來吧!
升級 phpMyAdmin
由於小蛙原本就有 phpMyAdmin 了,這邊直接用 tarball 升級到新版本,因此這邊不記錄怎麼設定 nginx 或是 apache。
下載並解壓縮 phpMyAdmin
wget https://files.phpmyadmin.net/phpMyAdmin/4.8.3/phpMyAdmin-4.8.3-all-languages.zip unzip phpMyAdmin-4.8.3-all-languages.zip mv phpMyAdmin-4.8.3-all-languages phpmyadmin
備份舊版的 phpMyAdmin
mv /usr/share/phpmyadmin /usr/share/phpmyadmin.old mv phpmyadmin /usr/share/phpmyadmin chown www-data:www-data -R /usr/share/phpmyadmin
後續修正
接著透過瀏覽器連線到 phpMyAdmin,登入後發現最下面有一行錯誤
設定檔案需要設定一組加密密碼 (blowfish_secret)。
這個要改在哪裡呢?接下來照著做
cd /usr/share/phpmyadmin cp config.sample.inc.php config.inc.php vim config.inc.php $cfg['blowfish_secret'] = '把你要加密的密碼打在這邊,要 32 個字元';
再連一次看看,phpMyAdmin 因為變更了加密密碼,會把你登出,再登入一次,上面的錯誤訊息沒有了,恭喜完成!
開啟 phpMyAdmin 二階段驗證
接著來開啟二段式驗證,筆記:phpMyAdmin兩步驟驗證 有很詳細的說明及圖文,這邊大概記錄一下步驟。
- 登入 phpMyAdmin -> 上方「設定」 -> 「Two-factor authentication」
- 選取 Authentication Application (2FA) -> Configure two-factor authentication
- 接著會出現一個 QRCode,必須透過手機下載「Google Authenticator (iOS, Android)」,使用該 app 掃描
- 輸入 app 中出現的驗證碼後,點選 Enable two-factor authentication
- 看到上方出現 Two-factor authentication has been configured. 就設定完成了!
- 登出之後再登入一次看看,果然已經跳出要使用者輸入驗證碼的功能了。
參考資料
增加安全性系列: