登入保護與限流:擋住機器人,別擋到你的使用者

登入頁是最常被駭客盯上的地方。他們會透過暴力破解或撞庫等方式嘗試入侵,而且即使失敗,也會消耗主機資源,讓網站速度變慢、影響到正常使用者的體驗。這篇文章的目的很單純:把無效流量擋在外圍,不打擾正常的人

我們會用幾個簡單的方法來達到這件事。首先是兩步驟驗證(2FA):除了密碼,再用一次性代碼確認身分,好比在門口多一把鑰匙;第二是限流:在短時間限制同一來源的嘗試次數,發現異常就暫停一下。第三是外層挑戰,多半透過 WAF來做:最常見的就是機器人驗證等方法,雖然會讓正常使用者多一步驟,但可以很有效的阻擋嘗試破解的機器人


為什麼先從登入入口下手

最常見的登入頁面攻擊很簡單,就是暴力破解。機器人會連續亂試密碼,或把外流名單套到網站上。這類流量會讓主機忙著處理失敗的登入,從而讓真正的訪客反而變慢。登入保護與限流的核心目的就是把這些無效流量擋在外圍,讓真正的使用者順利進入網站。


把風險擋在最外層

第一層是「兩步驟驗證」。意思是除了密碼,再用第二把鑰匙確認身分,最常見的做法是手機上的一次性數字或驗證 App 的驗證碼。先從高階管理員或編輯開始啟用,等熟悉後再評估是否提供給一般使用者。第二層是「限流」,也就是在短時間內限制同一來源的嘗試次數;如果某個來源頻繁嘗試訪問,就暫時讓它冷靜一下。這個動作可以在網站前面那層網路服務上做,也可以交給安全外掛處理。


速度與安全可以兼得

很多人擔心加了保護網站會變慢,其實恰好相反,把大量無效嘗試提前擋掉,伺服器就能把資源留給真正的訪客。實作時的關鍵是「先小後大」。先在測試站確認所有流程通順,再挑流量較低的時段,讓一小部分真實訪客使用新規則。管理員與編輯先全面啟用兩步驟驗證,確保每一位關鍵帳號都有第二把鑰匙;一般會員則以「有風險時再加一道」為原則,例如連續輸錯密碼、來自異常國家或全新的裝置,再請他們完成額外驗證。對於登入頁與一個叫 XML-RPC 的舊通道,應該加入節流與挑戰機制;如果你的站確實依賴它做同步,就請服務商把合法來源加入白名單,而不是一刀切斷。完成這些後,打開稽核記錄功能,讓每一次成功與失敗的登入都有跡可循,日後遇到糾紛能快速釐清。


什麼時候算是成功

當你連續觀察一段時間後發現三件事都成立,就可以說這一題完成了。其一,攻擊嘗試多在外層被攔截,應用程式層的登入失敗不再密集;其二,團隊已經習慣兩步驟驗證,沒有頻繁的求救與鎖死;其三,真正使用者的轉換率與客服申訴沒有因為保護機制而下降。把這些觀察與調整過程記錄下來,變成團隊固定流程,之後每個新專案就能複用。


網站優化 / WordPress 技術協助
提供 WordPress 架站、搬家、技術諮詢等服務,如有相關需求,隨時歡迎聯繫。