熱門分類
載入中…
目錄0%

🔑 Juniper 帳號與密碼安全強化:local user、RADIUS/TACACS+ 整合與密碼原則設定

    🔑 Juniper 帳號與密碼安全強化:local user、RADIUS/TACACS+ 整合與密碼原則設定

    上一篇把 本機帳號、login class、管理介面存取控制 建好之後,設備數量一多就會碰到新問題:每台設備各自維護一份本機帳號,人員異動時要逐台改密碼、逐台停用帳號,稽核時也很難證明「離職員工是否還能登入設備」。這篇說明如何把 Juniper 交換器的認證,從本機帳號延伸整合到 RADIUS 或 TACACS+ 集中認證系統,以及密碼原則在稽核情境下常見的補強項目。


    1️⃣ 為什麼要走集中認證

    本機帳號在單台設備、小規模環境沒問題,但只要設備數量超過十台,就會出現幾個現實困境:

    • 人員異動時無法「一次停用、全域生效」,只能逐台登入處理,容易遺漏。
    • 密碼原則(長度、複雜度、變更週期)要在每台設備各自設定,版本一多就會不一致。
    • 稽核要求「誰在何時登入哪台設備做了什麼」,本機帳號的 log 分散在各台設備上,彙整困難。

    集中認證的做法是:設備上仍保留少量本機帳號(作為 AAA 伺服器失聯時的救援帳號),日常登入改走 RADIUS 或 TACACS+,帳號生命週期與稽核紀錄集中在後端系統管理。


    2️⃣ RADIUS 與 TACACS+ 怎麼選

    比較項目 RADIUS TACACS+
    傳輸協定 UDP(1812/1813) TCP(49)
    封包加密範圍 僅加密密碼欄位 整個封包內容加密
    認證與授權 認證(Authentication)與授權(Authorization)合併回應 認證、授權、記帳(AAA)三者分離,可個別控管
    指令等級授權 不易做到逐條指令授權 可針對每一條 CLI 指令做授權判斷(command authorization)
    常見用途 大量使用者的網路存取認證(如 802.1X、VPN) 網路設備管理者的 AAA,偏好用於設備治理

    💡 如果只是要做「登入設備的帳號集中管理」,TACACS+ 通常是網路設備治理場景的主流選擇,尤其在需要記錄「誰下了哪一條指令」的稽核情境下,TACACS+ 的 command accounting 比 RADIUS 更貼近需求。RADIUS 則更常見於使用者端的網路存取認證。兩者也可以並存於不同用途,不互斥。


    3️⃣ 設定 RADIUS 認證

    set system radius-server 10.10.10.50 secret "your-shared-secret"
    set system radius-server 10.10.10.50 port 1812
    set system radius-server 10.10.10.50 timeout 5
    set system radius-server 10.10.10.50 retry 2
    
    set system authentication-order [ radius password ]

    authentication-order 決定認證順序,這裡設定「先問 RADIUS 伺服器,伺服器沒回應才退回本機密碼認證」。這個順序很關鍵:如果只設 radius 而沒有 password 這個 fallback,一旦 RADIUS 伺服器斷線,會連本機帳號都登不進去,等於把自己鎖在門外。


    4️⃣ 設定 TACACS+ 認證

    set system tacplus-server 10.10.10.60 secret "your-shared-secret"
    set system tacplus-server 10.10.10.60 port 49
    set system tacplus-server 10.10.10.60 timeout 5
    
    set system authentication-order [ tacplus password ]

    語法邏輯與 RADIUS 一致,一樣要保留 password 作為 fallback。如果 TACACS+ 伺服器上有針對帳號設定對應的 login class(透過 Cisco-AVPair 或 Juniper 對應的 VSA 屬性),伺服器端回應的權限等級會覆蓋設備上本機的預設值。


    5️⃣ 遠端帳號如何對應到 login class

    遠端認證通過後,Junos 需要知道這個帳號該套用哪個 login class。做法有兩種:

    • 伺服器端下發:AAA 伺服器(RADIUS/TACACS+)在回應中帶上對應的 class 屬性,設備直接採用。這是集中管理權限的正規做法,異動只要改伺服器端設定,不用碰任何一台交換器。
    • 設備端預設:在設備上設定 remote-authentication 對應規則,當伺服器沒有指定 class 時套用預設值。
    set system authentication-order [ tacplus password ]
    set system login user remote-users class read-only

    上面這行是「找不到對應設定時的保底規則」:任何通過 TACACS+ 認證、但伺服器沒明確指定權限的帳號,一律先給 read-only,避免因為伺服器端漏設定 class 而讓帳號意外拿到過高權限。


    6️⃣ 保留本機救援帳號

    集中認證最怕的情境是「AAA 伺服器掛了,設備也進不去」。除了前面提到的 authentication-order fallback 之外,實務上會建議保留一到兩個本機救援帳號,密碼保管在實體保險櫃或密碼庫(如 Vault),只在 AAA 系統故障時使用,並且每次使用後都應該有登記與事後密碼更換的流程。

    帳號類型 用途 權限建議
    root 最終救援,僅限機房實體存取或 Console super-user,密碼獨立保管
    本機救援帳號(如 svc-emergency) AAA 系統故障時的臨時登入 super-user,密碼庫保管,使用後強制更換
    日常管理帳號 透過 RADIUS/TACACS+ 集中認證 依伺服器端 class 對應動態指派

    7️⃣ 密碼原則的稽核補強項目

    延續上一篇的密碼複雜度設定,稽核情境下通常還會被要求以下幾項,這邊列出對應的 Junos 設定方向(實際門檻值務必依單位規範調整,不要照抄數字):

    set system login password minimum-length 10
    set system login password minimum-changes 3
    set system login password change-type character-sets
    set system login password format sha512

    密碼「使用歷史限制」(例如不可重複使用前幾次密碼)與「強制到期變更」,Junos 本身在本機帳號上的原生支援有限,這也是走 TACACS+/RADIUS 集中認證的另一個現實理由:密碼歷史、到期提醒、複雜度稽核這些機制,交給後端 AAA 系統或身分識別系統(如 AD、LDAP 搭配 TACACS+)處理,會比在每台網路設備上土法煉鋼可靠得多。


    8️⃣ 上線前檢查清單

    項目 確認內容
    authentication-order已包含 fallback(password),非單一依賴 RADIUS/TACACS+
    共用金鑰(shared secret)與 AAA 伺服器端一致,且未使用預設值
    伺服器端 class 對應已測試不同權限帳號實際登入後的權限是否正確
    保底 class已設定 remote-users 預設低權限,避免漏設定變成過高權限
    本機救援帳號已保留,密碼獨立保管,使用後有更換流程
    AAA 伺服器斷線測試已實際拔測,確認仍可用本機帳號登入

    ⚠️ 「AAA 伺服器斷線測試」這項務必實測,不要只看設定檔覺得邏輯對就當作沒問題——這類設定最常見的錯誤就是 fallback 語法寫對了,但實際測試時才發現 timeout 設太長,導致每次伺服器沒回應都要卡好幾分鐘才會退回本機認證。


    📚 延伸閱讀(站內相關文章)


    ✅ 結論與行動建議

    帳號密碼從「本機管理」進化到「集中認證」,換來的是異動效率與稽核可追溯性,但代價是多了一個外部依賴(AAA 伺服器),所以 fallback 機制與斷線測試絕對不能省略。建議導入順序是:先在測試設備上完整驗證 RADIUS/TACACS+ 登入與權限對應,確認 fallback 正常運作後,再分批導入正式環境,並保留本機救援帳號作為最後防線。下一篇會接著進入 VLAN 建立與 Port 模式設定,把帳號安全這塊的地基收尾,正式進入交換器的網路設定主題。

    🔗 分享這篇 LINE Facebook X

    沒有留言:

    字級