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. 就設定完成了!
  • 登出之後再登入一次看看,果然已經跳出要使用者輸入驗證碼的功能了。

參考資料

  1. Updating phpmyadmin (Ubuntu).[How?]
  2. 筆記:phpMyAdmin兩步驟驗證

增加安全性系列:

    發佈留言

    發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

    這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料