檢視次數:
配置防火牆模組以定義其政策行為。
在設計模組行為並使用 API 實現時,請使用 關於防火牆 中提供的背景資訊和指導。
策略物件包含兩個用於配置防火牆模組的物件:
  • FirewallPolicyExtension:控制模組狀態(開啟或關閉),識別應用的防火牆規則,並識別與模組一起使用的有狀態配置。
  • PolicySettings:策略設定包括許多防火牆相關的設定,這些設定控制模組的運行行為,例如偵察掃描的行為、網路引擎模式(tap 或 inline)、網路引擎設定和事件管理。請按照配置策略和預設策略設定中的說明配置防火牆相關的策略設定。
以下 JSON 代表 FirewallPolicyExtension 物件的資料結構:
{

    "state": "off",
    "moduleStatus": {...},
    "globalStatefulConfigurationID": 1,
    "ruleIDs": [...]
}
moduleStatus 屬性是唯讀的。它提供防火牆模組的運行狀態。(請參閱 電腦防護狀態報告)。

一般步驟 上層主題

要配置防火牆,請使用以下一般步驟:

步驟

  1. 建立一個 FirewallPolicyExtension 物件並設置屬性。
  2. 創建一個 PolicySettings 物件來配置模組的運行時設置。
  3. 建立一個Policy物件並新增FirewallPolicyExtensionPolicySettings物件。
  4. 使用 PoliciesApi 物件在 Server & Workload Security保護 上新增或更新政策。
    秘訣
    秘訣
    如果您只需要設定單一防火牆相關的策略設定,請參閱設定單一策略或預設策略設定

接下來需執行的動作

建立一個 FirewallPolicyExtension 物件並設置狀態和規則 ID:
firewall_policy_extension = api.FirewallPolicyExtension()
firewall_policy_extension.state = "on"
firewall_policy_extension.rule_ids = rule_ids;
接下來,建立一個PolicySettings物件來配置與防火牆相關的設定。(有關策略設定的詳細資訊,請參閱配置策略和預設策略設定。)例如,您可以啟用偵察掃描:
policy_settings = api.PolicySettings()
setting_value = api.SettingValue()
setting_value.value = True
policy_settings.firewall_setting_reconnaissance_enabled = setting_value
此時,防火牆策略擴展和策略設定已配置完成。接下來,將它們添加到Policy對象中,並使用PoliciesApi對象來修改Server & Workload Security保護上的策略。
policy = api.Policy()
policy.firewall = firewall_policy_extension
policy.policy_settings = policy_settings

policies_api = api.PoliciesApi(api.ApiClient(configuration))
returned_policy = policies_api.modify_policy(policy_id, policy, api_version)
modifyPolicypolicy_id(或 policyID)參數標識要在 Server & Workload Security保護 上修改的實際政策。此政策根據用作 policy 參數的政策對象進行修改。未設置的 policy 參數的任何屬性在實際政策上保持不變。

範例 上層主題

以下範例會建立一個 Policy 物件,修改其 FirewallPolicyExtension,並配置一個政策設定。然後在 Server & Workload Security保護 上更新該政策。
policies_api = api.PoliciesApi(api.ApiClient(configuration))
policy = api.Policy()
firewall_policy_extension = api.FirewallPolicyExtension()

# Turn on firewall
firewall_policy_extension.state = "on"

# Assign rules
firewall_policy_extension.rule_ids = rule_ids;

# Add the firewall state to the policy
policy.firewall = firewall_policy_extension

# Turn on reconnaissance scan
policy_settings = api.PolicySettings()
setting_value = api.SettingValue()
setting_value.value = True
policy_settings.firewall_setting_reconnaissance_enabled = setting_value

# Add reconnaissance scan state to the policy
policy.policy_settings = policy_settings

# Modify the policy on Server & Workload Security保護
return policies_api.modify_policy(policy_id, policy, api_version)
秘訣
秘訣
另請參閱 API 參考中的 修改政策 操作。
秘訣
秘訣
如果您只需要為政策新增、移除或列出防火牆規則,請使用 PolicyFirewallRuleAssignmentsApi 類別。前面的範例使用了 FirewallPolicyExtensionPolicyPoliciesApi 類別來新增防火牆規則,但這也可以僅使用 PolicyFirewallRuleAssignmentsApi 類別來完成。詳細資訊,請參閱 API 參考的政策部分中的 Policy Firewall Rule Assignments
如需有關驗證 API 呼叫的資訊,請參閱 使用 Server & Workload Security保護 驗證

建立防火牆規則 上層主題

通常,若要建立防火牆規則,您需要執行以下步驟:

步驟

  1. 建立一個FirewallRule物件。
  2. 設定規則屬性。屬性如建立防火牆規則中所述。您可以使用 API 來建立可與多個規則一起使用的相關物件,例如 MAC 清單、規則上下文和排程。請參閱建立和修改清單建立和配置排程
  3. 創建一個FirewallRulesApi對象以在Server & Workload Security保護上創建規則。

接下來需執行的動作

秘訣
秘訣
儘管日誌檢查規則與防火牆規則具有不同的屬性,但創建規則的方式相似。您可能會發現創建基本日誌檢查規則的示例很有幫助。
要使用 API 建立防火牆規則,請向 firewallrules 端點發送 POST 請求。(請參閱 API 參考中的 建立防火牆規則 操作。)

配置有狀態配置的限制 上層主題

僅支援 8.0 版及更早版本代理程式的有狀態配置屬性如下:
  • ACK 風暴保護
  • 允許傳入或傳出的被動和主動 FTP 連接
因此,這些屬性無法使用 API 或 SDK 進行配置。您必須使用 Server & Workload Security保護 控制台來配置這些設定。請參閱 定義有狀態防火牆配置