Journey · 密碼安全策略運維
Arova Nexus

本旅程涵蓋管理員配置密碼策略,以及實際運維中遇到的鎖定、改密、緊急解鎖情境。供 PM 做 demo、訓練 IT 主管、未來作為使用者手冊「安全運維章節」素材來源。


流程總覽

+---------------+
| Admin 已登入   |
+-------+-------+
        |
        | 設定 → 安全性策略
        v
+---------------+       +---------------+
| 調整策略       +-----> | 嘗試低於下限   |
| 最少字數/類型/  |       | 系統拒絕      |
| 到期天數        |       +---------------+
+-------+-------+
        |
        | 儲存
        v
+---------------+
| 策略立即生效   |
| 寫稽核 diff   |
+-------+-------+
        |
        | 後續日常運維
        v
+---------------+      +---------------+      +---------------+
| 一般使用者操作  | -- > | 連續 5 次失敗  | -- > | 鎖定 15 min   |
|               |      |               |      |               |
+---------------+      +-------+-------+      +-------+-------+
                              |                      |
                              | 自然到期              | 緊急
                              v                      v
                      +---------------+      +---------------+
                      | 自動解鎖       |      | Admin 解鎖    |
                      +---------------+      +---------------+

+---------------+      +---------------+      +---------------+
| 密碼 84 天     | -- > | 顯示到期提醒   | -- > | 90 天到期     |
+---------------+      +---------------+      +-------+-------+
                                                      |
                                                      | 強制
                                                      v
                                              +---------------+
                                              | 改密頁         |
                                              +---------------+

使用者背景

屬性 內容
角色 管理員(主場景)/ 一般使用者(被動觸發場景)
環境 金融客戶日常運維、季度密碼策略檢視
情境 策略首次配置、處理鎖定誤傷、密碼到期前提醒、緊急解鎖
前置 已完成 bootstrap、Admin 已登入
預期工作 把密碼策略設到符合金管會稽核要求、處理日常鎖定與改密事件

流程 1:管理員配置密碼策略

從 Settings 進入「安全性策略」頁,調整三個核心欄位。

步驟 動作 系統反應
1 點選頂部選單 設定 進入設定頁
2 點選左側 安全性策略 顯示當前策略 + 產品下限說明
3 調整 最少字數(slider 或數字欄) 即時顯示「目前策略 vs 產品下限」對比
4 勾選 必須包含:數字 / 大小寫 / 特殊符號 即時更新策略 preview
5 調整 密碼到期天數(預設 90)
6 點選 儲存 按鈕變 spinner
7 顯示 toast「策略已更新」+ 寫稽核 diff

⚠️ 注意: 既有使用者舊密碼不會因策略調嚴而失效。需立即套新標準時,使用強制改密


流程 2:嘗試把策略調到產品下限以下

步驟 動作 系統反應
1 將最少字數設為 6(產品下限為 8) 即時顯示紅字「不可低於產品下限 8 字」
2 點選儲存 拒絕儲存、欄位自動回到 8

💡 提示: 客戶內網 demo 環境可以調至產品下限;生產環境建議套預設策略(12 字 + 大小寫 + 數字 + 符號)。


流程 3:使用者觸發鎖定 → 自動解鎖

當一般使用者連續 5 次登入失敗,帳號自動鎖定 15 分鐘。

步驟 動作 系統反應
1 使用者連續輸錯密碼 1 次 顯示「帳號或密碼錯誤」
2 第 2-4 次連續錯誤 同上訊息(不洩漏帳號是否存在)
3 第 5 次錯誤 帳號狀態變為鎖定,登入頁顯示紅 banner「帳號已鎖定,15 分鐘後重試」+ 倒數計時
4 等待 15 分鐘 系統內部標記 unlock_at 已過
5 使用者再次以正確密碼登入 系統自動解鎖、登入成功、寫稽核(action=account_auto_unlocked

流程 4:管理員手動強制改密

當管理員需要強制某個使用者下次登入立即改密時:

步驟 動作 系統反應
1 點選頂部 使用者管理 顯示使用者列表
2 找到目標使用者列 顯示狀態與最後登入時間
3 勾選 下次登入強制改密
4 點選 儲存 寫稽核(action=force_password_change_set
5 (之後)使用者下次登入 系統建 session 後強制導向 /change-password

流程 5:管理員緊急解鎖被鎖帳號

步驟 動作 系統反應
1 點選 使用者管理
2 找到狀態為「鎖定中」的帳號 顯示剩餘鎖定時間
3 點選該列的 緊急解鎖 顯示確認 modal
4 在 modal 點選 確認解鎖 系統解除鎖定、失敗計數歸零、寫稽核(action=account_unlocked_admin
5 使用者列表中該帳號狀態恢復為「正常」

流程 6:使用者改密(自然到期路徑)

步驟 動作 系統反應
1 使用者以正確密碼登入 密碼年齡 ≥ 90 天
2 系統建 session 但強制導向 /change-password
3 嘗試訪問其他 URL 自動重導回 /change-password
4 輸入舊密碼、新密碼、確認新密碼 強度檢查即時驗證、且檢查「不可與舊密碼相同」
5 點選 儲存 更新密碼 hash、清除強制改密 flag、寫稽核
6 自動導向 /dashboard

流程 7:狀態總覽

帳號完整狀態機(簡化版):

                  +-----------+
       bootstrap  |           |    5 次失敗
   +------------> |  正常      +---------------+
                  |           |                |
                  +-----+-----+                v
                        ^               +-----------+
                        |               | 鎖定中    |
                        | 自動 15 min   |           |
                        |   OR          +-----+-----+
                        |   Admin 解鎖        |
                        +---------------------+
                  +-----+-----+
                  |           |
                  | 強制改密  +<----- 密碼到期 90d
                  |           |       OR Admin 標記
                  +-----+-----+
                        |
                        | 改密成功
                        v
                  +-----------+
                  |   正常    |
                  +-----------+
狀態 進入條件 離開條件
正常 bootstrap 成功 / 解鎖完成 / 改密完成 5 次失敗 / 密碼到期 / Admin 強制標記
鎖定中 連續 5 次登入失敗 15 分鐘自動 / Admin 緊急解鎖
強制改密 密碼到期 OR Admin 手動標記 改密成功(清除 flag)

Edge Cases 速查

情境 觸發條件 系統行為 你的下一步
嘗試低於產品下限 設最少字數 < 8 拒絕儲存、欄位回彈 至少設 8
多 Admin 同時調策略 並發儲存 最後寫入勝出、稽核留所有變更 查稽核確認最終策略
攻擊者換 IP 重試 同帳號跨多 IP 仍判定為鎖定(帳號層級)
鎖定中系統重啟 重啟發生在 15 min 倒數中 unlock_at 持久儲存、繼續倒數 等到原定時間
改密時 session 過期 30 分鐘無操作 提示重新登入 重登後再改密
新密碼與舊密碼相同 提交改密 強度檢查項紅標 換個新密碼
密碼到期天數設 0 客戶 demo 需求 接受、視為「永不到期」 生產環境請改回 90
Admin 把自己標記強制改密 自我標記 允許、下次登入即觸發 改完自己再操作其他事

相關章節