響應編排提供了一些系統基礎組件,協助使用者定義劇本輸入輸出參數,構建基礎劇本的流程。
開始/結束
每個流程必須有開始和結束節點,可以只有一個開始,但有多個結束。
開始節點預設使用event作為節點名稱,所以在劇本編排的過程中,不要把組件的名稱設定為event。
輸出網關
網關一般用來控制工作流程的執行分支和流程的。執行流程如下圖:
網關名稱 | 執行邏輯 | 使用說明 |
預設輸出網關 | 直接從一個節點輸出多個下遊分支,執行所有分支。 | 無需選擇組件,使用節點連接線即可完成設定。 說明 不支援條件配置。 |
單路輸出(排它網關) | 流程有多個分支時,執行滿足條件的第一個分支,只有一條分支執行。 | 需選擇單路輸出組件並完成相關條件配置。 說明 提供預設ELSE條件,表示除了自訂條件外的其他條件。 |
多路輸出 | 流程有多個分支時,執行滿足條件的所有分支。 | 需選擇多路輸出組件並完成相關條件配置。 |
預設輸出網關

配置操作說明
單擊節點,使用連接線直接將當前元件節點與下遊分支節點串聯起來即可,不支援條件配置。

單路輸出(排它網關)

配置操作說明
在基礎節點地區,將單路輸出組件拖至流程編輯器畫布中。
單擊單路輸出組件,在右側基礎資訊頁簽,點擊配置按鈕進入條件配置頁。配置完成後,單擊確定,儲存條件以供條件分支選擇。
根據業務情境設定單擊ADD IF或AND ELSE IF,增加一組條件。每一組條件對應一條流程分支,條件配置說明請參見組件條件配置說明。可修改條件名稱,方便理解和區別條件內容。
配置網關連接線。
將滑鼠放置在單路網關表徵圖上,單擊連接點將連接線串連至分支節點上。

單擊連接線,在右側配置頁下拉式清單中選擇步驟2配置的條件。
重要預設提供ELSE條件,表示除了自訂條件外的其他條件。
不同的連接線請選擇不同的條件。
多路輸出

配置操作說明
在基礎節點地區,將多路輸出組件拖至流程編輯器畫布中。
單擊多路輸出組件,在右側基礎資訊頁簽,點擊配置按鈕進入條件配置頁。配置完成後,單擊確定,儲存條件以供條件分支選擇。
根據業務情境設定單擊ADD IF,增加一組條件。每一組條件可對應多條流程分支,條件配置說明請參見組件條件配置說明。可修改條件名稱,方便理解和區別條件內容。
配置網關連接線。
將滑鼠放置在多路網關表徵圖上,單擊連接點將連接線串連至分支節點上。

單擊連接線,在右側配置頁下拉式清單中選擇步驟2配置的條件。
說明不同連接線刻可選擇相同的條件。
輸入網關
當前支援以下兩種輸入網關類型。在分支正常執行的情況下,兩種網關功能相同,區別在於分支異常執行的處理。
網關名稱 | 執行邏輯 | 使用說明 |
預設輸入網關 | 等上遊所有分支執行結束後,繼續執行。即使某個分支報錯,後續也會繼續執行。 | 無需選擇組件,使用節點連接線即可完成設定。 |
匯聚網關 | 等待所有的上遊節點都執行完成後,判斷是否所有“必須”的上遊分支都被執行到,如果結果為“是”,觸發後續節點,否則節點執行失敗。 |
|
預設輸入網關

配置操作說明
單擊節點,使用連接線直接將當前元件節點與下遊分支節點串聯起來即可。

匯聚網關

配置操作說明
在基礎節點地區,將多路匯聚組件拖至流程編輯器畫布中。
配置網關連接線。
單擊節點,使用連接線直接將當前元件節點與多路匯聚組件串聯起來即可。

單擊連接線,在右側配置頁下拉式清單中選擇“必須”和“非必須”。
說明若選擇“必須”則表示當前鏈路節點必須執行,否則後續節點將不會被觸發。
子流程
子流程同普通流程一樣,也需要開始和結束節點。子流程可將複雜流程分組展示,使流程更加清晰易懂同時支援在子流程上執行迴圈。
子流程和父流程是在同一個變數空間中,父流程的資料(包括輸入,上遊節點的返回,變數),都可以在該子流程中使用,子流程中對於變數的修改也會反應到父流程的結果中。
在子流程的外部的後續節點中,可以得到子流程內部節點最後一次執行的返回結果。
子流程迴圈配置說明

單擊開啟迴圈按鈕。
迴圈模式: Do-while: 先執行迴圈體,執行結束後在判斷條件;while-DO:先判斷條件,符合後在執行。
最大迴圈次數:設定最大迴圈次數,防止死迴圈。
設定迴圈允出準則:子流程每次執行的所有內部節點的參數都可以作為判斷條件,參數配置參見組件條件配置說明。
迴圈結束判斷邏輯
每次迴圈都是以子流程中該次調用所有的執行節點都結束作為該次迴圈結束。
例如:在如下的情境中,“通知2”節點執行完畢,到達了結束節點,但是“延遲”節點還在執行中,該次迴圈會等到所有的可執行節點都結束為止,才開始下一輪的迴圈調用。
迴圈預設參數
子流程提供預設參數可擷取當前迴圈的次數,以供子流程中的流程組件使用。
迴圈次數:從1開始計數,格式為${子流程的名稱.curLoop}。
迴圈下標:從0開始計數,格式為${子流程的名稱.curIndex}。
樣本:
在子流程中NotifyMessage組件編寫郵件內容時利用迴圈下標,擷取開始節點數組參數值。
組件條件配置說明
在單路輸出網關、多路輸出網關、子流程的迴圈退出、filter組件等情境下,都需要通過配置條件進行判斷,從而完成對應的功能。SOAR提供了一套通用頁面來完成如下配置,規則如下:

序號 | 說明 |
1-邏輯運算子 | AND:所有的條件都要滿足。 OR:滿足條件之一即可。 重要 邏輯運算子只能決定同一組內部的不同規則的邏輯關係。 |
2-取反開關 | 對當前組的條件判斷取反。 |
3-增加組內規則 | 增加組內一條規則,組內多條規則的邏輯關係由左上方1-邏輯運算子決定。 |
4-增加條件組 | 單擊增加一組篩選條件。 重要 不同組之間的條件固定為AND的關係,不受1-邏輯運算子影響。 |
5-條件欄位 | 支援輸入運算式、常量,通常為前置節點的輸出欄位。 |
6-條件判斷規則 | 支援字串(String)、數字(Number)、觀察列表(Dataset)的IN、=等操作。具體說明參考下文filter組件。 |
7-條件值 | 支援輸入運算式、常量。 |
條件配置樣本

以上圖為例,當node節點中name為john或alice且age在 12 到 20 之間(含邊界值)將判定為符合條件。
條件判斷規則說明
規則名稱 | 規則說明 | 備忘 |
NOT IN IP Dataset | 不在IP觀察列表中。 | 觀察列表需要在“Security Center-威脅分析與響應-接入中心-觀察列表”中配置後才可以選擇。 |
IN IP Dataset | 在IP觀察列表中。 | |
NOT IN Dataset | 不在觀察列表中。 | |
IN Dataset | 在觀察列表中。 | |
String| 等於 | 等於。 | 無 |
String| 不等於 | 不等於。 | 無 |
String| 包含 | 包含。 | 樣本:abc 包含 bc。 |
String| 不包含 | 不包含。 | 樣本:abc 不包含 d。 |
String| 以此開頭 | 以此開頭。 | 樣本:abc 以 ab 開頭。 |
String| 以此結尾 | 以此結尾。 | 樣本:abc 以 bc結尾。 |
String| 不以此結尾 | 不以此結尾。 | 樣本:abc 不以 ab結尾。 |
String| 正則匹配 | 正則匹配。 | 樣本:abcabc 匹配 (abc)+。 |
String| 非正則匹配 | 非正則匹配。 | 樣本:abab 不匹配 (abc)+。 |
String| 為空白 | 是Null 字元串。 | Null 字元串、null、NULL都認為是Null 字元串。 |
String| 不為空白 | 不是Null 字元串。 | 無 |
Number| 等於 | 等於。 | 無 |
Number| 不等於 | 不等於。 | 無 |
Number| 大於 | 大於。 | 無 |
Number| 大於等於 | 大於等於。 | 無 |
Number| 小於 | 小於。 | 無 |
Number| 小於等於 | 小於等於。 | 無 |
Number| 範圍 | 數字條件值是否字在配置範圍內。格式為“數值,數值”。 | 樣本:1處於 -1,5的範圍。 |