AntQ tech
FortiSOAR Hands-on Lab Part 4 – 6
設定連接器
為了讓FortiSOAR使演示環境正常運行,需要安裝以下Connectors並做設定
SMTP(用途 : 讓 FortiSOAR 可以寄信發通知)

密碼使用的是 google 的 App Password,需要開啟兩步驟驗證才能獲得。
VirusTotal(用途 : 用來把告警裡的 IP/網址/檔案 Hash 丟到 VirusTotal 查是不是惡意,結果寫回事件,必要時觸發封鎖或升級)

在這個網址註冊後獲取 API Key
https://www.virustotal.com/gui/sign-in

AlienVaultOTX(用途 : 用來查這個 IP/網址/Hash 有沒有出現在 OTX 的情資包(Pulses),抓同一波攻擊的相關 IOC(入侵指標),幫助判斷可疑程度)

(需先註冊)獲取API 網址 : https://otx.alienvault.com/

註冊後可獲得API Key

IPStack(用途 : 用來把來源 IP 查出是哪個國家/城市、哪家 ISP,結果寫回事件,方便判斷是否可疑 )

進入這個網址https://dashboard.ipstack.com/signup/free
點右上角

輸入Basic Details 及Company Details 資訊


最後按 Sing Up 可獲取API Key

Whois RDAP(用途 : 用來查這個網域什麼時候註冊、誰家註冊、何時到期等資訊,判斷是不是新註冊可疑網域,結果寫回事件)

CodeSnippet(用途 : 用自訂程式碼整理資料/抓 IOC/組 API 資料,提供後續流程使用)

ElasticSearch(用途 : 用來讓 FortiSOAR 的資料可以被快速搜尋與查詢,方便做關聯、查歷史紀錄跟畫面顯示)

Username : elastic
password: UUID
UUID 要在 System -> License Manger -> Device UUID

SSH(用途 : 用來讓流程可以 SSH 登入某台主機跑指令,抓資訊或做處置,結果再回填到事件)

密碼 : Unic0mp!
FortiSOAR SOC Simulator(用來模擬產生告警跟指標,讓流程有資料可以跑,方便做展示跟測試)

SLA Calculator(用途 : 用來算這個事件多久會到期、剩多久、有沒有逾期,結果寫回事件,逾期就通知或升級處理)

Database(用途 : 用來讓流程直接查或清 FortiSOAR 的資料庫,方便 Demo 重跑前把測試資料清乾淨)

密碼 : (UUID)
FortiGate Connector(用途 : 用來讓流程可以自動叫 FortiGate 去封鎖可疑 IP/網址,或查/解除封鎖,並把結果寫回事件)
API Key : c4yk4d1r7yQcfzz7qQy38gtkfpN5Hk

取消勾選「Verify SSL」
Active Directory Connector(用途 : 用來查 AD 使用者資料,必要時自動停用或鎖定可疑帳號,並把結果回填到事件)

Fortinet FortiGuard Threat Intelligence(用途: 用來把告警中的 IP/網址拿去 FortiGuard 查是不是惡意,結果回填到事件,必要時觸發封鎖/通知)

Fortinet Web Filter Lookup(用途 : 用來查這個網址/網域屬於什麼分類(釣魚/惡意/可疑),結果寫回事件,必要時觸發封鎖)

Token : da22823fdde0f8a0edd29fed8d18a34d2bf8fd7ea304d961f9620bb7c9814703
MXToolbox(用途 : 用來檢查網域的郵件設定跟黑名單狀態(MX/SPF/DKIM/DMARC),幫助判斷是不是釣魚信或可疑寄件來源)

API Key 到這個網址(需先註冊) https://mxtoolbox.com/User/Api/Lookup.aspx


API Key : de6a8fea-bb88-49cb-aec2-95798f5e2e7d
清除重置腳本
匯入一個「一鍵清空/重置 Demo 資料」的 Playbook,每次跑完情境後,都能把環境恢復到乾淨狀態,再重新示範一次,如果不清除的話一旦有其他人產生過這個scenario alert 後, 另一個人就會不能執行,主要是 playbook 會判斷是否有執行過, 有就不再讓人執行,所以需要先清除重置
應用場景: 重置環境(刪除演示場景中建立的所有資料)若要執行此操作,請按照下列步驟操作
將檔案「Playbook Reset DB Erase All Data from Database.json」 用可用IDE開啟並在以下 “python_function”: 這段程式碼的” ” 裡面複製

然後開新分頁貼上,並按下Ctrl+F 將\n全部取代為\\n(換行)

接著在curr.execute(\”delete from {}\”.format(tables))這行下面加一段 curr.execute(“update scenario set createdalertsid = ””)

按下Ctrl+F 將\\n(換行)全部取代為\n 回來

然後整段複製再貼回”python_function”: 那段裡面

接著將檔案「Playbook Reset DB Erase All Data from Database.json」儲存,然後將其上傳到 FortiSOAR,如下所示。
創一個資料夾

Import Reset DB Erase All Database

可以看到在剛剛創的資料夾裡面 有Reset DB Erase All Database Import 進來了

接著在Reset DB Erase All Database點進來後 對Delete Data按Edit(編輯))

Password : (UUID)
按 Save

接著按 Save Playbook

按Trigger Playbook With Sample Data

按 Trigger Playbook 觸發腳本

可以看到這三個Step 都有打勾的圖示

從Incident Response -> Alert -> Execute -> Playbook(選 Reset All from DB)

按 Reset

已將所有Alerts 清除重置

備份和編輯腳本
應用情景: 先備份原本的 Playbook(保留原版接著再修改一份可用於你這次 Demo/Lab 的版本)
為了避免修改後沒執行導致遺失原本的Playbook,所以需要先備份原本的Playbook
Clone Indicator (Type IP) – Get Reputation Playbook ,並將重命名為Indicator (Type IP) – Get Reputation (Original)
Clone一份Playbook

將名稱改成原始名

停用(Deactivate)

編輯 Indicator (Type IP) – Get Reputation Playbook

刪除以下 4 個step,然後儲存Playbook。

按照以下兩個step重新佈局和重新鏈接,然後Save Playbook。

