https://www.fortinet.com/tw/products/fortipam
FortiPAM主要功能為特權帳號管理與遠端安全連入。
特權帳號管理(Privileged Access Management)可以在特定時間後變更密碼,在特權帳號被FortiPAM管理後,使用者便不知道帳號密碼為何,使用者就需要連到FortiPAM藉此再連線到目標設備。而誰具有權限?就交給FortiPAM去驗證身份並管理。
遠端安全連入(Secure Remote Access)除了防火牆能做到的Policy控管之外,還有重點功能是紀錄使用者活動,透過FortiPAM連入,可以在過程中紀錄活動,甚至是錄下畫面。確保後續稽核時能看到連入時的每個一舉一動。
部署條件
- FortiPAM主機:可以部署在HyperV、KVM、VMware也有實體機。
- FortiClient PAM:在登入FortiPAM時,可以協助本機打開RDP或是Putty做連線,也能對這些程式做螢幕錄影。
FortiPAM主機部署在HyperV等所需的檔案,需要在FortiCloud上輸入有效的FortiPAM授權,才能在FortiCloud上下載。
FortiClient PAM本身可以在官方網站下載,帶有PAM功能的FortiClient(包含ZTNA、VPN)的建議透過FortiCloud去下載。※FortiClient PAM是只有PAM功能,並沒有像是VPN等功能可以使用。

上方是FortiClientPAM,下方是FortiClient並可安裝PAM。
FortiPAM主機就請參考官方文件部署,操作蠻容易的。

概念
Secret:可以選Template(Windows Machine)、Target、帳號密碼。
Template:可以使用何種連入,Windows Machine有RDP可以使用,Template也決定如何變更密碼。
Target:連線對象,IP/hostname,作業系統等。
Folder:Personal與Public,Personal預設是給自己能讀寫,Public可以設定所有人的權限。
User Role:Super Administartor都能調整,Guset User只能看到自己有權限的Secert。
Client PAM:能與FortiPAM溝通連線,並用自己電腦上RDP或是工具調用(Putty等)去運作,也可以錄製畫面。
管理員先為User規劃,建立適合的帳號與權限。
管理員建立Secret,調整成符合政策的設定(要不要錄影、變更密碼等)。
Secret放在對應的資料夾,並且調整權限。方便管理。※Secert建立在Personal還是Public都可以再移動
FortiClient PAM能讓FortiPAM運作更多方式
在裝置連線到FortiPAM時,會檢查電腦是否已經具有FortiClient PAM功能。
如果沒有:只有Agentless
如果有:就會有Auto、Extension、Agentless可以使用。
像是要用自己電腦上的RDP、Putty等去連線,就會需要在自己電腦上安裝PAM功能。
如果只是用Web RDP與Web SSH,就不需要安裝了。



以下是RDP與Web RDP在有無安裝PAM的情形
| RDP | Client with PAM | Client without PAM |
| Target with PAM | V | X |
| Target without PAM | V | X |
| Web RDP | Client with PAM | Client without PAM |
| Target with PAM | V | V |
| Target without PAM | V | V |
授權計算
By User。
由於內建admin並限額1個user,因此買5個user license時,License輸入後會寫user限制為6個。
而User是登入FortiPAM的帳號,因此可以針對每個User設定不同權限,或是各別部門為一個帳號。
每個User都可以選擇認證模式,也可以選擇Remote(RADIUS等)驗證。
由於登入是看username再決定如何認證,若username不存在FortiPAM User List中馬上就會認證失敗。
試用授權
有15天可以試用,user數限制為2,CPU為2,記憶體為2GB。
FortiPAM畫面
跟Fortigate非常像,熟悉Foritgate的應該很快就能上手

建立Secert
在Secerts建立時,需要先選擇模板,如果被連線是沒被加入網域的Windows電腦,可以選擇Windows Machine。如果是已經加入網域的,則使用Windows Domain Account去設定。兩者差異是多了Domain。

選擇完模板之後,將剩下資訊填寫,並且調整Setting,再按下Submit,就完成了。
※ Name 無法後續調整,要一次到位。

自動修改密碼功能
這邊使用Aruba 2930F Switch作為目標
以下是我做得 Aruba AOS Switch 的 Password Changer。
config secret password-changer
edit "Aruba AOS Switch"
set new-line-mode lf
config change
edit 1
set type execute
set command "
"
next
edit 2
set type expect
set expect-action no-match-abort
set interpret regex
set command ".+#"
next
edit 3
set type execute
set command "configure terminal"
next
edit 4
set type expect
set expect-action no-match-abort
set interpret regex
set command ".+\\(config\\)#"
next
edit 5
set type execute
set command "aaa authentication local-user $USER group Level-15 password plaintext"
next
edit 6
set type execute
set command "$NEWPASSWD"
next
edit 7
set type execute
set command "$NEWPASSWD"
next
edit 8
set type expect
set expect-action no-match-abort
set interpret regex
set command ".+\\(config\\)#"
next
edit 9
set type execute
set critical-step enable
set command "write memory"
set delay 5000
next
edit 10
set type expect
set expect-action no-match-abort
set interpret regex
set command ".+\\(config\\)#"
next
end
next
end



密碼調整成功!發現密碼已經調整過了。

可以查看密碼調整歷史紀錄。

使用Public Folder為各User建立Folder
使用畫面「Admin」,在 Public Folder 建立資料夾「IT_Cant_See_it」,權限部分確認 IT 不在其中。

並且在此建立Secert,作為測試

畫面「IT」,登入後沒有出現此Secert。

修改權限,讓IT可以讀,IT重新登入後,就顯示了。


權限申請
這邊以帳戶「User102」為例。
在 Settings 中的Approval,可以勾選「Requires Approval to Launch Secret」,再選擇 Approval Profile 。

Approval Profile中可以添加人員,日後連線申請時,就需要這些人按同意。

若設定好後,就需要Approval Profile中的人員進行申請。
畫面「IT」,因為User102權限並沒有設定IT可以直接使用,因此在帳戶「User102」時會看到申請,點擊並申請。


申請送出後,回到admin畫面,就能看到人員it發出的申請。


Approve後,狀態會改成「complete」

回到畫面「IT」,可以看到申請已經被允許了。

再次到帳號「User102」,發現可以啟動了。

在畫面「Admin」,可以看到IT正在連線。

畫面截錄
在Secerts > (Secert) > Settings 中,勾選「Session Recording」並按下Save。
之後就能在Audit看到紀錄,點擊可以直接看到螢幕錄影。



User Role使用者權限
簡單環境只分兩個:管理員、使用者
管理員Role設定Super Administrator,可以管理所有功能,也可以在Folder建立,讓使用者也能看到。
使用者Role設定Guest User:只能讀跟申請使用,不能新增與修改,只能看到管理員為其設定的。
將 User「IT」的 Role 改成「Guset User」後,再次登入FortiPAM之後,只能看到Secrets,並使用。


如果Secret「User101」需要申請的話,一樣要走申請流程,等待完成後就可以執行了。


RADIUS認證
先將CPPM作為驗證為設定

FortiPAM使用test01作為測試驗證使用。

如果我要把部門帳號如「it」的登入去向CPPM驗證,可以這樣設定。


RDP Log
設備需要啟用WinRM,這個若順利生效,FortiPAM就可以限制執行、安裝等,像是cmd.exe不能用等。
三個生效:1. RDP Event Filter。2. WinRM。3. Audit。
其中WinRM要啟用,就要求是「Windows Server」,所以Windows 11就無法正常運作。
運作原理:當WinRM啟用後,FortiPAM可以透過Privileged的Account去連線到該設備,並且撈其他帳號的Audit(Event Viewer),最後依照RDP Event Filter去過濾。
RDP Event Filter
要啟用Proxy Mode,預設就啟用。
對同一個Target,要有兩個Secret,不做RDP Event Filter的要開啟Privileged Account。
Recording Session要啟用,也就是錄影。
「不」做RDP Event Filter的要開啟Privileged Account,開啟Privileged Account。必須要有一個這樣secret,其他才能開啟RDP Event Filter。

要開啟RDP Event Filter的RDP,由於其他的Session已經開啟Privileged Account,這邊會反灰。

RDP Event Filter可以選擇。

如果前面沒有建一個Privileged account的secret,這邊就會提示需要建立。

WinRM
接著要啟用WinRM,先按複製按鈕,然後在Windows Server上,使用管理員權限執行PowerShell,貼上腳本。


順著步驟一路往下,完成後會出現以下。

開啟Audit
預設是沒有開啟,所以要在目標上開啟。
在 開始 > 搜尋 中,輸入「 group 」 ,編輯群組原則。

電腦設定 > Windows 設定 > 安全性設定 > 進階稽核原則設定 > 系統稽核原則

以下提供LLM產出的文字版路徑
Process Log
通常會對應到 Windows 的 Process Creation / Process Termination 稽核事件。
常見查看位置會在:
* Event Viewer → Windows Logs → Security
前提是妳有開啟對應的 Advanced Audit Policy,例如 Process Creation。Fortinet 也明講這功能依賴 Windows audit policy,所以如果 audit policy 沒開,FortiPAM 也抓不到。
Filesystem Log
通常會對應到檔案存取、建立、刪除等 Object Access 類事件。
常見查看位置也是:
* Event Viewer → Windows Logs → Security
但除了 audit policy 之外,Windows 檔案系統還需要在資料夾或檔案上設定 Auditing,否則不一定會產生日誌。Fortinet 文件雖未逐條列 Windows Event ID,但已說明這功能依賴 Windows audit policy。
User Management Log
通常會對應到本機或 AD 帳號建立、刪除、啟停用、群組變更等事件。
常見查看位置依情境可能是:
* Event Viewer → Windows Logs → Security
* 若是更細的 AD / directory 事件,也可能要搭配 Applications and Services Logs 下的相關記錄
FortiPAM 在 event filter profile 中把這一類描述為 User management related events,例如建立使用者帳號
點擊對應的原則,右鍵內容,然後勾選「設定下列稽核事件」,都勾選。

依此類推


開啟稽核後,可以在目標設備的事件檢視器看到log

成果
不論是RDP、還是Web RDP都能對應到影片與RDP Event LOG。

更多設定範例
可以參考以下連結