檢視次數:
Server & Workload Security保護 建立入侵防護規則,以修補您電腦上的 CVE。您可以使用 API 來確定哪個入侵防護規則可以防護特定的 CVE,確定該規則是否已應用於您的電腦,並在需要時應用該規則。

步驟

  1. 使用IntrusionPreventionRulesApi物件透過搜尋來獲取入侵防護規則。
  2. 對於每台電腦防護,獲取一個IntrusionPreventionComputerExtension對象,並確定該規則是否應用於該電腦防護。
  3. 對於每台具有弱點的電腦,確定其使用的政策,將規則添加到政策中,並使用更改更新電腦。

接下來需執行的動作

範例:尋找 CVE 的入侵防護規則 上層主題

以下範例會搜尋針對特定 CVE 提供保護的入侵防護規則。入侵防護規則物件包含一個 CVE 欄位,其中包含該規則適用的 CVE 名稱。CVE 欄位是可搜尋的,因此您可以輕鬆找到針對特定 CVE 的規則。從搜尋返回的規則中,獲取規則 ID。
如需有關搜尋的詳細資訊,請參閱 搜尋資源
# Set search criteria

search_criteria = api.SearchCriteria()
search_criteria.field_name = "CVE"
search_criteria.string_value = "%" + cve_id + "%"
search_criteria.string_test = "equal"

# Create a search filter
search_filter = api.SearchFilter()
search_filter.search_criteria = [search_criteria]

# Search for all intrusion prevention rules for the CVE

ip_rules_api = api.IntrusionPreventionRulesApi(api.ApiClient(configuration))
ip_rules_search_results = ip_rules_api.search_intrusion_prevention_rules(api_version, search_filter=search_filter)

# Get the intrusion prevention rule IDs for the CVE from the results
for rule in ip_rules_search_results.intrusion_prevention_rules:
    rule_id_s.append(rule.id)

return rule_id_s
另請參閱 API 參考中的 搜尋入侵防護規則 操作。

範例:尋找未受 CVE 保護的電腦 上層主題

以下範例會判斷清單中哪些電腦未套用入侵防護規則。對於每台電腦,會取得分配給該電腦的規則 ID。分配的規則 ID 會與防護 CVE 的規則 ID 進行比較。
unprotected_computers = []
for computer in computers_list.computers:
    computer_ip_list = computer.intrusion_prevention
    if computer_ip_list.rule_ids:
        if rule_id in computer_ip_list.rule_ids:
            unprotected_computers.append(computer)

return unprotected_computers
另請參閱 API 參考中的 列出電腦搜尋電腦 操作。

範例:將入侵防護規則新增到電腦的政策中 上層主題

以下範例將入侵防護規則新增到政策中。此範例所基於的源代碼還決定了分配給電腦的政策。一旦找到政策,如果該規則尚未分配,則將其分配給政策。必須小心保留已經應用的規則。
秘訣
秘訣
您也可以直接將規則指派給電腦防護。
# Get the current list of rules from the policy
policies_api = api.PoliciesApi(api.ApiClient(configuration))
current_rules = policies_api.describe_policy(policy_id, api_version, overrides=False)

# Add the rule_id if it doesn't already exist in current_rules
if current_rules.intrusion_prevention.rule_ids == None:
    current_rules.intrusion_prevention.rule_ids = rule_id

elif rule_id not in current_rules.intrusion_prevention.rule_ids:
    current_rules.intrusion_prevention.rule_ids.append(rule_id)

# Add the new and existing intrusion prevention rules to a policy
intrusion_prevention_policy_extension = api.IntrusionPreventionPolicyExtension()
intrusion_prevention_policy_extension.rule_ids = current_rules.intrusion_prevention.rule_ids
policy = api.Policy()
policy.intrusion_prevention = intrusion_prevention_policy_extension
另請參閱 API 參考中的 修改政策 操作。有關 API 調用身份驗證的信息,請參閱 使用 Server & Workload Security保護 進行身份驗證