建立自訂原則
如果您有必要的許可權,則可以建立與刪除自己的自訂原則。
And, Or, Not
) 的多個表示式組成。每一個基本表示式都由一個預先定義的函數以及其參數(如果需要的話)所組成。您可以在建立原則時設定參數值,或是使用 $
讓它保持未定義。當參數未定義時,會在將原則與應用程式產生關聯時要求使用者提供值。註: 當建立要透過使用者介面使用的原則時,您必須定義所有參數,否則無法讓原則與應用程式產生關聯。
建立自訂原則的其中一個優點是參數可以硬式編碼到原則中,讓使用者不需要每次都定義參數即可使用原則。例如,您可以使用預先定義的基準線原則,建立具有指定「開始日期」的一系列自訂原則。預先定義的函數
下列預先定義的函數可以在您的原則中使用:
功能 | 參數 | 說明 |
---|---|---|
StartDate |
以下列其中一個格式表示的日期(可包含時間):
|
傳回在指定日期(和時間)之後探索到的問題。 範例:
|
MinSeverity |
採用下列格式的嚴重性:
|
傳回嚴重性等於或大於指定參數的問題。 |
OwaspTop10_2017 |
N/A | 傳回由 OWASP 定義為前 10 名安全風險的問題。 |
SansTop25 |
N/A | 傳回由 SANS Institute 定義為前 25 名嚴重錯誤的問題。 |
EUGdpr_2016 |
N/A | 傳回讓應用程式不符 GDPR 規範的問題。 |
CWE |
CWE ID 的清單 | 傳回與指定 CWE ID 對應的問題。 |
PCI |
N/A | 傳回導致應用程式不符合 PCI 資料安全標準規範的問題。 |
HIPAA |
N/A | 傳回讓應用程式不符 HIPAA 規範的問題。 |
透過使用者介面建立自訂原則
如果要建立自訂原則:
- 在儀表板上,按一下「原則」,然後按一下「建立自訂原則」。
- 為原則命名,並且將其定義為 JSON 運算式。註: 如果原則將會透過介面與應用程式產生關聯,則您必須在建立原則時定義任何參數,因為在與原則產生關聯時無法定義參數。如果原則將會使用 API 與應用程式產生關聯,您可以不定義參數,在產生關聯時再行定義。
範例 1:自訂基準線原則
{ "Function":"StartDate", "Parameters":[ "2017-12-31T13:50Z" ] }
範例 2:自訂 CWE 原則
{ "Function":"CWE", "Parameters":[ 89, 90 ] }
範例 3:複合自訂原則
{ "Operation":"And", "Expressions":[ { "Function":"StartDate", "Parameters":[ "2018-04-24T10:30Z" ] }, { "Function":"MinSeverity", "Parameters":[ "Medium" ] } ] }
範例 4:自訂原則以排除 CWE 89 和 90
{ "Operation": "Not", "Expressions": [ { "Function": "CWE", "Parameters": [ 89, 90 ] } ] }
範例 5:自訂 OWASP Top 10 原則以排除 CWE 89 和 90
{ "Operation": "And", "Expressions": [ { "Operation": "Not", "Expressions": [ { "Function": "CWE", "Parameters": [ 89, 90 ] } ] }, { "Function": "OwaspTop10_2017" } ] }
- 完成之後,按一下「關閉」
透過 REST API 建立自訂原則
在 REST API 中,原則是使用運算式樹狀結構定義。這可能由單一基本表示式或具有邏輯運算 (And, Or, Not
) 的多個表示式組成。每一個基本表示式都由一個預先定義的函數以及其參數(如果需要的話)所組成。您可以在建立原則時設定參數值,或是使用 $
讓它保持未定義。當參數未定義時,會在將原則與應用程式產生關聯時要求使用者提供值。
範例 1:自訂基準線原則
{
"Name": "Baseline",
"Predefined": true,
"Expression": {
"Function": "StartDate",
"Parameters": [
"$DATE"
]
}
}
範例 2:自訂 CWE 原則
{
"Name": "CWE policy",
"Expression": {
"Function": "CWE",
"Parameters": [
89,
90
]
}
}
範例 3:複合自訂原則
在這個自訂原則範例中,包含 StartDate
和 MinSeverity
函數以 And
運算,因此只會搜尋到在指定的日期之後且指定最低嚴重性的問題。
{
"Name": "MyPolicy",
"Predefined": false,
"Expression": {
"Operation": "And",
"Expressions": [
{
"Function": "StartDate",
"Parameters": [
"2018-04-24T10:30Z"
]
},
{
"Function": "MinSeverity",
"Parameters": [
"$minseverity"
]
}
]
}
}