ファイアウォールモジュールを構成して、ポリシーの動作を定義できます。
モジュールの動作を設計し、APIを使用して実装する際には、ファイアウォールについてに記載されている背景情報とガイダンスを使用してください。
ポリシーオブジェクトには、ファイアウォールモジュールの設定に使用する2つのオブジェクトが含まれます。
  • FirewallPolicyExtension: モジュールの状態 (オンまたはオフ) を制御し、適用されたファイアウォールルールを識別し、モジュールで使用するステートフル構成を識別します。
  • PolicySettings: ポリシー設定には、攻撃の予兆スキャンの動作、ネットワークエンジンモード (タップまたはインライン)、ネットワークエンジンの設定、イベント管理など、モジュールの実行時の動作を制御する多くのファイアウォール関連の設定が含まれます。ファイアウォール関連のポリシー設定の構成については、ポリシーとデフォルトポリシー設定の構成を参照してください。
次のJSONはFirewallPolicyExtensionオブジェクトのデータ構造を表しています:
{

    "state": "off",
    "moduleStatus": {...},
    "globalStatefulConfigurationID": 1,
    "ruleIDs": [...]
}
moduleStatusプロパティは読み取り専用です。ファイアウォールモジュールの実行時のステータスを提供します。コンピュータのステータスに関するレポートを参照してください。

一般的な手順 親トピック

ファイアウォールを設定するには、次の一般的な手順を使用します。

手順

  1. FirewallPolicyExtensionオブジェクトを作成し、プロパティを設定します。
  2. PolicySettingsオブジェクトを作成して、モジュールのランタイム設定を構成します。
  3. Policyオブジェクトを作成し、FirewallPolicyExtensionおよびPolicySettingsオブジェクトを追加します。
  4. PoliciesApiオブジェクトを使用して、Workload Securityのポリシーを追加または更新します。
    ファイアウォールに関連するポリシー設定を1つだけ設定する必要がある場合は、単一のポリシーまたはデフォルトのポリシー設定を構成するを参照してください。

次に進む前に

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オブジェクトを使用して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) パラメータは、変更されるWorkload Securityの実際のポリシーを識別します。このポリシーは、policyパラメータとして使用されるポリシーオブジェクトに従って変更されます。設定されていないpolicyパラメータのプロパティは、実際のポリシーでは変更されません。

親トピック

次の例では、Policyオブジェクトを作成し、そのFirewallPolicyExtensionを変更し、ポリシー設定を構成します。次に、ポリシーが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 Workload Security
return policies_api.modify_policy(policy_id, policy, api_version)
また、APIレファレンスのポリシーの変更操作も参照してください。
ポリシーのファイアウォールルールを追加、削除、または一覧表示するだけの場合は、PolicyFirewallRuleAssignmentsApiクラスを使用してください。前の例では、FirewallPolicyExtensionPolicy、およびPoliciesApiクラスを使用してファイアウォールルールを追加していますが、これもPolicyFirewallRuleAssignmentsApiクラスだけを使用して行うことができます。詳細については、APIレファレンスのポリシーセクションにあるPolicy Firewall Rule Assignmentsを参照してください。
API呼び出しの認証に関する情報については、Workload Securityで認証するを参照してください。

ファイアウォールルールを作成する 親トピック

通常、ファイアウォールルールを作成するには、次の手順を実行します。

手順

  1. FirewallRuleオブジェクトを作成します。
  2. ルールのプロパティを設定します。プロパティの詳細は、ファイアウォールルールの作成を参照してください。APIを使用して、MACリスト、ルールコンテキスト、スケジュールなど、複数のルールで使用できる関連オブジェクトを作成できます。リストの作成と変更およびスケジュールの作成と構成を参照してください。
  3. Workload Securityでルールを作成するにはFirewallRulesApiオブジェクトを作成します。

次に進む前に

セキュリティログ監視ルールはファイアウォールルールとは異なるプロパティを持っていますが、ルールの作成方法は似ています。基本的なセキュリティログ監視ルールの作成の例が役立つかもしれません。
APIを使用してファイアウォールルールを作成するには、firewallrulesエンドポイントにPOSTリクエストを送信します。APIレファレンスのファイアウォールルールの作成操作を参照してください。

ステートフル構成の変更に関する制限 親トピック

ステートフル設定の次のプロパティは、バージョン8.0以前のエージェントでのみサポートされます。
  • ACKストーム保護
  • 着信または発信のパッシブおよびアクティブFTP接続を許可する
したがって、これらのプロパティはAPIやSDKを使用して構成することはできません。これらの設定を構成するには、Workload Securityコンソールを使用する必要があります。ステートフルファイアウォール構成の定義を参照してください。