建立自訂原則

如果您有必要的許可權,則可以建立與刪除自己的自訂原則。

自訂原則是使用 JSON 運算式樹狀結構定義。這可能由單一基本表示式或具有邏輯運算 (And, Or, Not) 的多個表示式組成。每一個基本表示式都由一個預先定義的函數以及其參數(如果需要的話)所組成。您可以在建立原則時設定參數值,或是使用 $ 讓它保持未定義。當參數未定義時,會在將原則與應用程式產生關聯時要求使用者提供值。
註: 當建立要透過使用者介面使用的原則時,您必須定義所有參數,否則無法讓原則與應用程式產生關聯。
建立自訂原則的其中一個優點是參數可以硬式編碼到原則中,讓使用者不需要每次都定義參數即可使用原則。例如,您可以使用預先定義的基準線原則,建立具有指定「開始日期」的一系列自訂原則。

預先定義的函數

下列預先定義的函數可以在您的原則中使用:
功能 參數 說明
StartDate 以下列其中一個格式表示的日期(可包含時間):
  • yyy-MM-dd
  • yyyy-MM-ddThh:mmZ(世界標準時間)
  • yyyy-MM-ddThh:mm+hh:mm(當地時間 +/- UTC 偏移)
傳回在指定日期(和時間)之後探索到的問題。
範例:
僅日期
2018-04-24
UTC 時間
2018-04-24T10:30Z
當地時間 +/- UTC 偏移
2018-04-24T11:30+01:00

2018-04-24T07:30-03:00

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 規範的問題。

透過使用者介面建立自訂原則

如果要建立自訂原則:
  1. 在儀表板上,按一下「原則」,然後按一下「建立自訂原則」。
  2. 為原則命名,並且將其定義為 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"
            }
        ]
    }
    
  3. 完成之後,按一下「關閉

透過 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:複合自訂原則

在這個自訂原則範例中,包含 StartDateMinSeverity 函數以 And運算,因此只會搜尋到在指定的日期之後且指定最低嚴重性的問題。

  {
    "Name": "MyPolicy",
    "Predefined": false,
    "Expression": {
      "Operation": "And",
      "Expressions": [
        {
          "Function": "StartDate",
          "Parameters": [
            "2018-04-24T10:30Z"
          ]
        },
        {
          "Function": "MinSeverity",
          "Parameters": [
            "$minseverity"
          ]
        }
      ]
    }
  }