iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 25
1
Security

突破困境:資安開源工具應用系列 第 26

開源雙因素驗證器:FreeOTP Authenticator

https://ithelp.ithome.com.tw/upload/images/20191007/20118848HnU9DK5bWS.png

在各種密碼攻擊手法不斷突破的情況下,登入系統僅只於使用一道帳號密碼程序顯然已經不夠安全,即便加強密碼複雜度,還是需要有更多一道的安全程序以達成雙因素驗證 (2FA,Two-Factor authentication) ,而一次性密碼 (OTP) 即是一種適合的方案。

在過去 OTP 的其中一種方案是發送簡訊碼至手機上,而現在有越來越多系統支援以手機 App 結合時間同步產生的方式來達成更容易且方便的機制 (TOTP),並降低發送簡訊的成本方案可以採用。


方案介紹

在這個鐵人賽系列文章所介紹過的許多軟體系統,例如 Proxmox VE、LibreNMS...等,都有支援這種 TOTP 功能機制。因此我們只要開啟這個功能,立即可以提升系統的登入安全機制。

App 上的方案有多種選擇,例如 Google Authenticator 與 Authy。但我選擇由 Red Hat 所維護的開源方案 FreeOTP Authenticator。

  • 支援 Android、iOS 兩大作業系統
  • 支援 HOTP、TOTP 兩種開放標準
  • 支援拍攝 QR Code 方式快速匯入資訊

使用方式

直接到 Android 的 Google Play 或 iOS 的 App Store 搜尋 FreeOTP,即可快速進行安裝使用。
要啟用 TOTP 機制,最主要是需在應用系統上開啟相關設定,在此我們會以兩個類似的系統方案做為案例。

Nextcloud

這是一套知名的開源網路檔案平台,提供許多豐富好用的功能。

登入 Nextcloud 後,點選右上方帳號名稱,於彈出的選單點選 [個人] 進入設定,接著點選左方選單列的 [TOTP Second-factor Auth],右方會出現 TOTP 相關設定,請勾選「Enable OTP」。

若找不到這個功能,請先到 Nextcloud 的 apps 中安裝它。

https://ithelp.ithome.com.tw/upload/images/20191007/20118848jUrwsI4hZ0.png
啟用 TOTP 功能

當把這個選項勾選之後,下方就會出現一組 QR Code,此時請手機上開啟 FreeOTP 應用程式,按下程式上方的條碼圖示按鈕,它會開啟手機的相機,即可對著畫面上的這組 QR Code 進行掃描,掃描完成後 FreeOTP 會自動建立這筆驗證的相關資訊。

https://ithelp.ithome.com.tw/upload/images/20191007/20118848pofuSnxpJJ.png
進行 QR Code 掃描 (此圖取自官方網站)

下次要登入 Nextcloud 時,經過帳號密碼驗證後,下一步就會要求提供 OTP 輸入,

https://ithelp.ithome.com.tw/upload/images/20191007/20118848UZq2DPfHry.png
Nextcloud TOTP 登入要求

此時請開啟手機上的 FreeOTP 程式,按下 Nextcloud 那一組,即會產生一組有時效性的密碼 (前方會有一倒數圖示,時間到了以後就會重算新密碼),請把此密碼填入 Nextcloud 網頁上的 OTP 輸入欄位,即可通過驗證。

https://ithelp.ithome.com.tw/upload/images/20191007/20118848CUI4TstvbB.jpg
產生 Nextcloud TOTP 登入碼

Synology DSM

這是由知名 NAS 廠商所開發的網路檔案平台,與硬體整合搭配出售的產品。

登入 DSM 後,點選右上方帳號圖像,於彈出的選單點選 [個人設定] 進入畫面,接著是先勾選下方的「兩步驟驗證」,再按下「兩步驟驗證」按鈕,他會引導您設定如電子郵件等意外處理的措施,在最後一步時,會出現 QR Code。

此時請手機上開啟 FreeOTP 應用程式,按下程式上方的條碼圖示按鈕,它會開啟手機的相機,即可對著畫面上的這組 QR Code 進行掃描,掃描完成後 FreeOTP 會自動建立這筆驗證的相關資訊。

https://ithelp.ithome.com.tw/upload/images/20191007/20118848oBEF0LiN6Z.png
啟用 TOTP 功能

下次要登入 DSM 時,經過帳號密碼驗證後,下一步就會要求提供 OTP 輸入,

https://ithelp.ithome.com.tw/upload/images/20191007/20118848OEFOj5AyeI.png
DSM TOTP 登入要求

此時請開啟手機上的 FreeOTP 程式,按下 DSM 的項目,即會產生一組具有時效性的密碼 (前方會有一個倒數圖示,時間到了以後就會重算新密碼),請把此密碼填入 DSM 網頁上的 OTP 輸入欄位,即可通過驗證。

https://ithelp.ithome.com.tw/upload/images/20191007/20118848YI3K6g366P.jpg
產生 DSM TOTP 登入碼


結論

透過 TOTP 的兩階段驗證安全機制,可以提升系統除了帳號與密碼之外的安全性,採用開源軟體做為驗證器,更能夠安心的使用。

而 Unix-Like 系統最常使用的管理方式 SSH 協定,也已經有 TOTP 的模組可以用來加強管理者的安全性。雖然這個模組是由 Google 開發對應 Google Authenticator,其實也可以相容於 FreeOTP 沒有問題,可至參考資料連結中查看安裝與使用方式。

除了應用在自己重要的系統之外,個人的許多帳戶也都可以如此運用,例如 Gmail、Facebook... 等,也都支援了這樣的雙重安全機制,保護您的帳號安全。


參考資料


上一篇
開源網路裝置服務監控系統:LibreNMS (五)
下一篇
開源磁碟加密軟體:VeraCrypt
系列文
突破困境:資安開源工具應用33
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
DanSnow
iT邦好手 1 級 ‧ 2019-10-14 10:54:59

請問你有用過 andOTP 嗎?看網路上的說明 FreeOTP 好像已經很久沒維護了,而且 andOTP 支援備份的樣子

有稍微用過,不過我後來改用 KeePass 系列的衍生版本了,可參考:
https://ithelp.ithome.com.tw/articles/10226300

我要留言

立即登入留言