← 所有文章

工業閘道遠端管理的角色權限與稽核

· 站長

用三角色權限矩陣、倍率變更稽核案例與臨時維護到期測試,教讀者分清管理登入、資料通訊及可驗證的授權範圍。

先把管理通道與資料通道畫開

遠端連進閘道之後,要先知道自己取得的是哪一種權限。查看通訊狀態、修改點位映射、匯入憑證與向PLC寫入數值,是不同的動作;一個登入成功畫面不能替這些動作全部背書。本篇教你整理角色矩陣、驗證允許與拒絕結果,並留下可追溯的變更紀錄。

通道 負責的工作 還要另外確認
HTTPS管理介面 查看或調整閘道設定 個人角色及操作權限
SSH或遠端桌面 產品允許的維護工作 是否需要及命令範圍
OPC UA或MQTT 讀取或傳送應用資料 應用身分與資料授權
傳統Modbus 讀寫設備資料 網路路徑及閘道存取規則

VPN建立受控網路路徑,不會自動把登入者限制為PLC唯讀。HTTPS管理帳號也不等於MQTT帳號,OPC UA應用憑證更不是操作者姓名。先分開列出每個通道的入口、身分、可做動作與日誌位置,再決定哪些通道需要開放。

本篇角色名稱和時間窗口是虛構教學契約,沒有指定硬體型號。傳統Modbus請求沒有一般使用者身分欄位,不能把某人能登入管理網站推論成其Modbus連線已有同樣角色控制。產品是否能按來源、功能碼或點位限制,需要查實際手冊。

把三種角色寫成可測試的矩陣

本例建立Viewer、Maintainer、SecurityAdmin三種角色。Viewer只查看,Maintainer可在核准範圍修改測試映射,SecurityAdmin管理帳號與憑證。角色不是職稱,同一人可以經程序暫時取得另一角色;但不要因名稱含Admin就默認其可直接改變PLC運轉參數。

測試動作 Viewer Maintainer SecurityAdmin
看狀態及脫敏日誌 允許 允許 允許
修改測試映射 拒絕 允許指定範圍 拒絕
建立管理帳號 拒絕 拒絕 允許
更新應用憑證 拒絕 拒絕 允許依程序
匯出含秘密備份 拒絕 另行授權 另行授權
寫入生產PLC 本例皆未授權 本例皆未授權 本例皆未授權

在隔離測試副本準備三個個人帳號,逐列記錄預期結果。對可逆的測試映射使用假點位,確認允許的帳號可儲存、其他帳號被拒絕,且拒絕後設定版本未變。不要只看按鈕是否灰色,後端也必須執行相同授權檢查。

若產品只有全權與唯讀兩級,這張三角色矩陣就不能直接實現。應明寫能力差距,利用受控維護流程或其他支援的存取層補足,不能在文章裡發明不存在的角色選單。韌體更新這類高影響操作,先確認授權設定與原廠測試方式,不為了驗證拒絕就對生產設備送出更新。

用一筆變更示範稽核內容

假設維護者lin在隔離副本把Line1.Temp的倍率由0.01改為0.1,變更編號CHG-042,設定版本從map-12到map-13。稽核要讓下一位讀者看出誰、何時、從哪裡、對哪個物件做了什麼,以及最後是否成功;只有「使用者登入」不足以說明數值為何改變。

欄位 本例公開內容
操作者及角色 lin/Maintainer
UTC時間 2026-09-17T02:00:00Z
來源及目標 維護入口識別/Line1.Temp
動作與版本 倍率0.01→0.1/map-12→map-13
結果 儲存成功;測試raw253輸出25.3
關聯識別 CHG-042及本次操作識別

上述欄位是自訂稽核格式,並非任何產品都內建同名欄位。保存原始事件與設定差異,報表可再整理成這張表。密碼、私鑰、存取權杖及完整連線秘密不要放進日誌;憑證以公開指紋識別,正式備份另用受保護的儲存方式管理。

再安排一次Viewer嘗試修改同一假點位,預期拒絕且map-13維持不變。拒絕日誌與成功日誌都應能對到操作者和目標。若只有成功記錄而沒有拒絕記錄,先核對產品稽核範圍與啟用設定,不能直接宣稱沒有其他人嘗試操作。

檢查時鐘與保留期限也很重要。日誌使用含時區的時間,同時保存來源主機及時鐘品質,避免不同系統時間差造成錯誤歸因。日誌磁碟滿了或遠端收集端斷線時,要知道是暫存、丟棄還是阻擋操作,這必須從產品文件與測試結果確認。

臨時維護到期後要驗證什麼

本例臨時維護窗口為台北時間14:00至15:00,只准到測試閘道的管理介面。到15:00,應同時確認新登入被拒絕、既有連線是否仍有效,以及暫時角色和防火牆規則是否移除。帳號到期可能只阻止新登入,舊Session是否失效取決於產品;不能只改到期欄位就勾選完成。

觀察到的現象 先查位置 預期證據
VPN成功但管理登入失敗 管理帳號、MFA、時間 登入拒絕原因
可登入但不能修改 角色及物件權限 授權拒絕且版本未變
管理正常但資料斷線 資料帳號、憑證及協定日誌 資料通道的獨立錯誤
到期後還能操作 既有Session及角色快取 依產品流程撤回後拒絕
有變更卻沒日誌 稽核開關、範圍與儲存 找到缺漏原因及復原方式

操作完成後保存設定前後版本、變更結果及權限撤回證據。備份可能包含資料帳號或私鑰,所以脫敏報告不能冒充可還原備份;同樣地,含秘密的還原檔也不適合直接寄給每位看報告的人。兩種檔案分開保管,分別訂定使用權與保存期限。

如果遠端管理帳號鎖住,先走既有授權復原管道,確認本地維護者、備援身分及原廠恢復方式。不要直接停用所有驗證來恢復方便性。測試復原流程時也要確認資料服務是否受影響,因為重啟整台閘道可能同時中斷讀取與暫存。

完成結果與常見問題

完成後應得到通道清單、三角色矩陣、成功與拒絕測試結果、變更差異,以及到期撤權證據。真正的驗收問題是「這個身分能做哪些指定動作」,不是「能不能進首頁」。若缺少產品能力,就在限制欄具體註記,不用流程文字假裝已經有技術控制。

FAQ1:用共用admin帳號比較方便嗎?共用帳號難以對應個人操作。優先使用產品支援的個人身分與角色,必要的緊急帳號另訂保管、使用記錄與事後回收程序。

FAQ2:已連VPN還需要閘道登入嗎?需要依部署設計驗證。VPN身分處理網路入口,管理介面及資料服務仍有各自的授權責任,不能把網路可達當成所有操作已核准。

FAQ3:稽核紀錄有時間就夠嗎?不夠。還要有操作者、目標、動作、結果與設定差異;跨系統比較則需核對時区與時鐘狀態。

FAQ4:換了密碼會立即踢掉舊連線嗎?不能一概而論。查產品Session失效與權杖撤銷規則,並在測試環境驗證新登入與既有連線兩種情況。

NIST SP 800-82 Rev.3建議OT遠端存取依業務需求限制範圍並管理臨時連線。Ignition 8.3的Audit Profile則示範產品稽核需設定記錄範圍;Gateway與專案事件的啟用方式不同。這些原則與產品實例不等於任意閘道已有相同選單。

參考:NIST SP 800-82 Rev.3,第6.2.10節遠端存取。

參考:Ignition 8.3 Audit Log and Profiles,產品稽核範圍。

延伸閱讀


使用 PLC 工具箱 →