Prisma SASE - Create a security pre-rule for EDL

This playbook helps to create a security rule to block indicators from an EDL. This playbook should run only once to setup the EDL object and its rule.

Palo Alto Networks - Strata Cloud Manager · 10 tasks · 9 inputs · 32 outputs

Details

IDPrisma SASE - Create a security pre-rule for EDL
From Version6.8.0
Tasks10

README

This playbook helps to create a security rule to block indicators from an EDL. This playbook should run only once to setup the EDL object and its rule.

Dependencies

This playbook uses the following sub-playbooks, integrations, and scripts.

Sub-playbooks

  • Prisma SASE - Create or Edit EDL object
  • Prisma SASE - Create or Edit Security Policy Rule

Integrations

  • PrismaSASE

Scripts

This playbook does not use any scripts.

Commands

  • prisma-sase-external-dynamic-list-list
  • prisma-sase-candidate-config-push

Playbook Inputs


Name Description Default Value Required
TSGID Tenant services group ID. If not provided, the tsg_id integration parameter will be used as the default.   Optional
Folder The configuration folder group setting.
The default value is ‘Shared’.
Shared Optional
URL The source URL. If the type is ip, url or domain, a value must be provided.   Optional
EDLObjectName The external dynamic list object name.   Optional
RuleName The Security Policy Rule name will be created for blocking the indicators. Block Indicators using EDL - XSOAR incident #${incident.id} Optional
EDLObjectType Possible values:
domain,ip,url,predefined_ip,predefined_url
  Optional
AutoCommit Possible Values:
True -> Will commit and push configuration.
False -> Manual push will be required.
Else –> Will ignore the push section and continue the playbook.
  Optional

Playbook Outputs


Path Description Type
PrismaSase.CandidateConfig Configuration job object. unknown
PrismaSase.CandidateConfig.job_id Configuration job ID. unknown
PrismaSase.CandidateConfig.result The configuration push result, e.g. OK, FAIL. unknown
PrismaSase.CandidateConfig.details The configuration push details. unknown
PrismaSase.ExternalDynamicList The external dynamic list object. unknown
PrismaSase.ExternalDynamicList.id The external dynamic list ID. unknown
PrismaSase.ExternalDynamicList.name The external dynamic list name. unknown
PrismaSase.ExternalDynamicList.folder The external dynamic list folder. unknown
PrismaSase.ExternalDynamicList.description The external dynamic list description. unknown
PrismaSase.ExternalDynamicList.type The external dynamic list type. unknown
PrismaSase.ExternalDynamicList.source The external dynamic list source. unknown
PrismaSase.ExternalDynamicList.frequency The external dynamic list frequency. unknown
PrismaSase The root context key for Prisma SASE integration output. unknown
PrismaSase.SecurityRule Found security rule. unknown
PrismaSase.SecurityRule.action Security rule action. unknown
PrismaSase.SecurityRule.application Security rule application. unknown
PrismaSase.SecurityRule.category Security rule category. unknown
PrismaSase.SecurityRule.description Security rule description. unknown
PrismaSase.SecurityRule.destination Security rule destination. unknown
PrismaSase.SecurityRule.folder Security rule folder. unknown
PrismaSase.SecurityRule.from Security rule from field (source zone(s)). unknown
PrismaSase.SecurityRule.id Security rule ID. unknown
PrismaSase.SecurityRule.log_setting Security rule log setting. unknown
PrismaSase.SecurityRule.name Security rule name. unknown
PrismaSase.SecurityRule.position Security rule position. unknown
PrismaSase.SecurityRule.service Security rule service. unknown
PrismaSase.SecurityRule.source Security rule source. unknown
PrismaSase.SecurityRule.source_user Security rule source user. unknown
PrismaSase.SecurityRule.to Security rule to field (destination zone(s)). unknown
PrismaSase.SecurityRule.negate_destination Security rule negate destination. unknown
PrismaSase.SecurityRule.profile_setting The Security rule group object in the rule. unknown
PrismaSase.SecurityRule.profile_setting.group Security rule group. unknown

Playbook Image


Prisma SASE - Create a security pre-rule for EDL

Inputs

  • TSGID — Tenant services group ID. If not provided, the tsg_id integration parameter will be used as the default.
  • Folder — The configuration folder group setting. The default value is 'Shared'.
  • URL — The source URL for the External Dynamic List. If the chosen type is ip/url/domain, this value must be provided.
  • EDLObjectName — The external dynamic list object name.
  • RuleName — The Security Policy Rule name will be created for blocking the indicators.
  • EDLObjectType — Possible values (Choose only 1): domain,ip,url,predefined_ip,predefined_url
  • AutoCommit — Possible Values: True -> Will commit and push configuration. False -> Manual push will be required. Else --> Will ignore the push section and continue the playbook.
  • IPListName — The predefined IP list. If the type is predefined_ip, a value must be provided. Possible values: panw-bulletproof-ip-list,panw-highrisk-ip-list,panw-known-ip-list,panw-torexit-ip-list.
  • URLListName — The predefined URL list. If the type is predefined_url, a value must be provided. Possible value: panw–auth-portal-exclude-list

Outputs

  • PrismaSase.CandidateConfig — Configuration job object.
  • PrismaSase.CandidateConfig.job_id — Configuration job ID.
  • PrismaSase.CandidateConfig.result — The configuration push result, e.g. OK, FAIL.
  • PrismaSase.CandidateConfig.details — The configuration push details.
  • PrismaSase.ExternalDynamicList — The external dynamic list object.
  • PrismaSase.ExternalDynamicList.id — The external dynamic list ID.
  • PrismaSase.ExternalDynamicList.name — The external dynamic list name.
  • PrismaSase.ExternalDynamicList.folder — The external dynamic list folder.
  • PrismaSase.ExternalDynamicList.description — The external dynamic list description.
  • PrismaSase.ExternalDynamicList.type — The external dynamic list type.
  • PrismaSase.ExternalDynamicList.source — The external dynamic list source.
  • PrismaSase.ExternalDynamicList.frequency — The external dynamic list frequency.
  • PrismaSase — The root context key for Prisma SASE integration output.
  • PrismaSase.SecurityRule — Found security rule.
  • PrismaSase.SecurityRule.action — Security rule action.
  • PrismaSase.SecurityRule.application — Security rule application.
  • PrismaSase.SecurityRule.category — Security rule category.
  • PrismaSase.SecurityRule.description — Security rule description.
  • PrismaSase.SecurityRule.destination — Security rule destination.
  • PrismaSase.SecurityRule.folder — Security rule folder.
  • PrismaSase.SecurityRule.from — Security rule from field (source zone(s)).
  • PrismaSase.SecurityRule.id — Security rule ID.
  • PrismaSase.SecurityRule.log_setting — Security rule log setting.
  • PrismaSase.SecurityRule.name — Security rule name.
  • PrismaSase.SecurityRule.position — Security rule position.
  • PrismaSase.SecurityRule.service — Security rule service.
  • PrismaSase.SecurityRule.source — Security rule source.
  • PrismaSase.SecurityRule.source_user — Security rule source user.
  • PrismaSase.SecurityRule.to — Security rule to field (destination zone(s)).
  • PrismaSase.SecurityRule.negate_destination — Security rule negate destination.
  • PrismaSase.SecurityRule.profile_setting — The Security rule group object in the rule.
  • PrismaSase.SecurityRule.profile_setting.group — Security rule group.

Commands used

prisma-sase-candidate-config-push prisma-sase-external-dynamic-list-list

Flowchart

Auto Commit Manual Create New Object EDL Object Exist yes Push Start Start Push Config - prisma-sase-candidate-config-push Push Config prisma-sase-candidate-config-... Commit and push configuration to folders? Commit and push configura... Done Done Check if the source URL was provided and check if a EDL object was specified. Check if the source URL w... Get EDL object - prisma-sase-external-dynamic-list-list Get EDL object prisma-sase-external-dynamic-... Was there a returned object? Was there a returned object? Prisma SASE - Create or Edit EDL object - Prisma SASE - Create or Edit EDL object Prisma SASE - Create or E... Prisma SASE - Create or Edit ... Prisma SASE - Create or Edit Security Policy Rule - Prisma SASE - Create or Edit Security Policy Rule Prisma SASE - Create or E... Prisma SASE - Create or Edit ... Choose to commit and push configuration automatically Choose to commit and push...
id: Prisma SASE - Create a security pre-rule for EDL
version: -1
contentitemexportablefields:
  contentitemfields: {}
name: Prisma SASE - Create a security pre-rule for EDL
description: This playbook helps to create a security rule to block indicators from an EDL. This playbook should run only once to setup the EDL object and its rule.
starttaskid: "0"
tasks:
  "0":
    id: "0"
    taskid: eb5cd09b-3329-4dbc-802b-f1a9afc79ff7
    type: start
    task:
      id: eb5cd09b-3329-4dbc-802b-f1a9afc79ff7
      version: -1
      name: ""
      iscommand: false
      brand: ""
      description: ''
    nexttasks:
      '#none#':
      - "4"
      - "5"
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 320,
          "y": -350
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "1":
    id: "1"
    taskid: 50979076-2ea6-4044-869f-88005420a756
    type: regular
    task:
      id: 50979076-2ea6-4044-869f-88005420a756
      version: -1
      name: Push Config
      description: Push the candidate configuration.
      script: '|||prisma-sase-candidate-config-push'
      type: regular
      iscommand: true
      brand: ""
    nexttasks:
      '#none#':
      - "4"
    scriptarguments:
      folders:
        simple: Remote Networks, Mobile Users, Service Connections
      tsg_id:
        complex:
          root: inputs.TSGID
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 940,
          "y": 1085
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "2":
    id: "2"
    taskid: 82cd0fe9-c86d-4e10-8554-8589bd90ff44
    type: condition
    task:
      id: 82cd0fe9-c86d-4e10-8554-8589bd90ff44
      version: -1
      name: Commit and push configuration to folders?
      description: Commit and push configuration to folders?
      type: condition
      iscommand: false
      brand: ""
    nexttasks:
      '#default#':
      - "4"
      Auto Commit:
      - "1"
      Manual:
      - "13"
    separatecontext: false
    conditions:
    - label: Auto Commit
      condition:
      - - operator: isEqualString
          left:
            value:
              simple: inputs.AutoCommit
            iscontext: true
          right:
            value:
              simple: "True"
          ignorecase: true
    - label: Manual
      condition:
      - - operator: isEqualString
          left:
            value:
              simple: inputs.AutoCommit
            iscontext: true
          right:
            value:
              simple: "False"
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 940,
          "y": 730
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "4":
    id: "4"
    taskid: 622df06d-75c2-4f69-851e-3e467611fff5
    type: title
    task:
      id: 622df06d-75c2-4f69-851e-3e467611fff5
      version: -1
      name: Done
      type: title
      iscommand: false
      brand: ""
      description: ''
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 320,
          "y": 1260
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "5":
    id: "5"
    taskid: 869ba2b6-659c-4c6b-8236-9d288efaf33f
    type: condition
    task:
      id: 869ba2b6-659c-4c6b-8236-9d288efaf33f
      version: -1
      name: Check if the source URL was provided and check if a EDL object was specified.
      description: Check if the source URL was provided and check if a EDL object was specified.
      type: condition
      iscommand: false
      brand: ""
    nexttasks:
      '#default#':
      - "4"
      Create New Object:
      - "9"
      EDL Object Exist:
      - "6"
    separatecontext: false
    conditions:
    - label: EDL Object Exist
      condition:
      - - operator: isNotEmpty
          left:
            value:
              simple: inputs.EDLObjectName
            iscontext: true
          right:
            value: {}
      - - operator: isNotEmpty
          left:
            value:
              simple: inputs.URL
            iscontext: true
    - label: Create New Object
      condition:
      - - operator: isNotEmpty
          left:
            value:
              simple: inputs.URL
            iscontext: true
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 540,
          "y": -210
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "6":
    id: "6"
    taskid: 961d0261-a4e6-4ebf-8685-2191b876bc49
    type: regular
    task:
      id: 961d0261-a4e6-4ebf-8685-2191b876bc49
      version: -1
      name: 'Get EDL object '
      description: Lists all external dynamic lists.
      script: '|||prisma-sase-external-dynamic-list-list'
      type: regular
      iscommand: true
      brand: ""
    nexttasks:
      '#none#':
      - "7"
    scriptarguments:
      folder:
        complex:
          root: inputs.Folder
      name:
        complex:
          root: inputs.EDLObjectName
      tsg_id:
        complex:
          root: inputs.TSGID
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 940,
          "y": -40
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "7":
    id: "7"
    taskid: e9cff0a1-05a2-47b0-8643-1b58f6a0e912
    type: condition
    task:
      id: e9cff0a1-05a2-47b0-8643-1b58f6a0e912
      version: -1
      name: Was there a returned object?
      description: Was there a returned object?
      type: condition
      iscommand: false
      brand: ""
    nexttasks:
      '#default#':
      - "9"
      "yes":
      - "10"
    separatecontext: false
    conditions:
    - label: "yes"
      condition:
      - - operator: isNotEmpty
          left:
            value:
              simple: PrismaSase.ExternalDynamicList.id
            iscontext: true
          right:
            value: {}
      - - operator: isEqualString
          left:
            value:
              simple: PrismaSase.ExternalDynamicList.source
            iscontext: true
          right:
            value:
              simple: inputs.EDLObjectName
            iscontext: true
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 940,
          "y": 130
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "9":
    id: "9"
    taskid: 5b777876-447c-4a3c-8d28-204661342395
    type: playbook
    task:
      id: 5b777876-447c-4a3c-8d28-204661342395
      version: -1
      name: Prisma SASE - Create or Edit EDL object
      playbookName: Prisma SASE - Create or Edit EDL object
      type: playbook
      iscommand: false
      brand: ""
      description: ''
    nexttasks:
      '#none#':
      - "10"
    scriptarguments:
      AutoCommit:
        simple: Else
      EDLObjectType:
        complex:
          root: inputs.EDLObjectType
      Folder:
        complex:
          root: inputs.Folder
      Name:
        simple: EDL Block Indicators
      SourceURL:
        complex:
          root: inputs.URL
      TSGID:
        complex:
          root: inputs.TSGID
      IPListName:
        complex:
          root: inputs.IPListName
      URLListName:
        complex:
          root: inputs.URLListName
    separatecontext: true
    continueonerrortype: ""
    loop:
      iscommand: false
      exitCondition: ""
      wait: 1
      max: 100
    view: |-
      {
        "position": {
          "x": 540,
          "y": 345
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "10":
    id: "10"
    taskid: 63ef938f-658c-4730-8518-5139aee82af9
    type: playbook
    task:
      id: 63ef938f-658c-4730-8518-5139aee82af9
      version: -1
      name: Prisma SASE - Create or Edit Security Policy Rule
      description: "This playbook handles the creation or editing of the Security Policy Rule for Prisma SASE integration. \n"
      playbookName: Prisma SASE - Create or Edit Security Policy Rule
      type: playbook
      iscommand: false
      brand: ""
    nexttasks:
      '#none#':
      - "2"
    scriptarguments:
      Action:
        simple: deny
      Application:
        simple: any
      AutoCommit:
        simple: Else
      Category:
        simple: any
      Destination:
        complex:
          root: PrismaSase.ExternalDynamicList
          accessor: name
      Folder:
        complex:
          root: inputs.Folder
      Overwrite:
        simple: "False"
      Position:
        simple: pre
      RuleName:
        complex:
          root: inputs.RuleName
      Service:
        simple: any
      Source:
        simple: any
      TSGID:
        complex:
          root: inputs.TSGID
    separatecontext: true
    continueonerrortype: ""
    loop:
      iscommand: false
      exitCondition: ""
      wait: 1
      max: 0
    view: |-
      {
        "position": {
          "x": 940,
          "y": 550
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "13":
    id: "13"
    taskid: 166e379f-9232-48ec-81ed-e1570c467865
    type: condition
    task:
      id: 166e379f-9232-48ec-81ed-e1570c467865
      version: -1
      name: Choose to commit and push configuration automatically
      description: Choose to commit and push configuration automatically
      type: condition
      iscommand: false
      brand: ""
    nexttasks:
      '#default#':
      - "4"
      Push:
      - "1"
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 560,
          "y": 910
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    message:
      to:
      subject:
      body:
      methods: []
      format: ""
      bcc:
      cc:
      timings:
        retriescount: 2
        retriesinterval: 360
        completeafterreplies: 1
        completeafterv2: true
        completeaftersla: false
      replyOptions:
      - Push
      - "No"
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
system: true
view: |-
  {
    "linkLabelsPosition": {},
    "paper": {
      "dimensions": {
        "height": 1675,
        "width": 1000,
        "x": 320,
        "y": -350
      }
    }
  }
inputs:
- key: TSGID
  value: {}
  required: false
  description: Tenant services group ID. If not provided, the tsg_id integration parameter will be used as the default.
  playbookInputQuery:
- key: Folder
  value:
    simple: Shared
  required: false
  description: |-
    The configuration folder group setting.
    The default value is 'Shared'.
  playbookInputQuery:
- key: URL
  value: {}
  required: false
  description: The source URL for the External Dynamic List. If the chosen type is ip/url/domain, this value must be provided.
  playbookInputQuery:
- key: EDLObjectName
  value: {}
  required: false
  description: The external dynamic list object name.
  playbookInputQuery:
- key: RuleName
  value:
    simple: 'Block Indicators using EDL - Created by XSOAR'
  required: false
  description: The Security Policy Rule name will be created for blocking the indicators.
  playbookInputQuery:
- key: EDLObjectType
  value: {}
  required: false
  description: |-
    Possible values (Choose only 1):
    domain,ip,url,predefined_ip,predefined_url
  playbookInputQuery:
- key: AutoCommit
  value: {}
  required: false
  description: |-
    Possible Values:
    True -> Will commit and push configuration.
    False -> Manual push will be required.
    Else --> Will ignore the push section and continue the playbook.
  playbookInputQuery:
- key: IPListName
  value: {}
  required: false
  description: |-
    The predefined IP list. If the type is predefined_ip, a value must be provided.
    Possible values: panw-bulletproof-ip-list,panw-highrisk-ip-list,panw-known-ip-list,panw-torexit-ip-list.
  playbookInputQuery:
- key: URLListName
  value: {}
  required: false
  description: |-
    The predefined URL list. If the type is predefined_url, a value must be provided.

    Possible value:
    panw–auth-portal-exclude-list
outputs:
- contextPath: PrismaSase.CandidateConfig
  description: Configuration job object.
  type: unknown
- contextPath: PrismaSase.CandidateConfig.job_id
  description: Configuration job ID.
- contextPath: PrismaSase.CandidateConfig.result
  description: The configuration push result, e.g. OK, FAIL.
- contextPath: PrismaSase.CandidateConfig.details
  description: The configuration push details.
- contextPath: PrismaSase.ExternalDynamicList
  description: The external dynamic list object.
  type: unknown
- contextPath: PrismaSase.ExternalDynamicList.id
  description: The external dynamic list ID.
- contextPath: PrismaSase.ExternalDynamicList.name
  description: The external dynamic list name.
- contextPath: PrismaSase.ExternalDynamicList.folder
  description: The external dynamic list folder.
- contextPath: PrismaSase.ExternalDynamicList.description
  description: The external dynamic list description.
- contextPath: PrismaSase.ExternalDynamicList.type
  description: The external dynamic list type.
- contextPath: PrismaSase.ExternalDynamicList.source
  description: The external dynamic list source.
- contextPath: PrismaSase.ExternalDynamicList.frequency
  description: The external dynamic list frequency.
- contextPath: PrismaSase
  description: The root context key for Prisma SASE integration output.
  type: unknown
- contextPath: PrismaSase.SecurityRule
  description: Found security rule.
- contextPath: PrismaSase.SecurityRule.action
  description: Security rule action.
- contextPath: PrismaSase.SecurityRule.application
  description: Security rule application.
- contextPath: PrismaSase.SecurityRule.category
  description: Security rule category.
- contextPath: PrismaSase.SecurityRule.description
  description: Security rule description.
- contextPath: PrismaSase.SecurityRule.destination
  description: Security rule destination.
- contextPath: PrismaSase.SecurityRule.folder
  description: Security rule folder.
- contextPath: PrismaSase.SecurityRule.from
  description: Security rule from field (source zone(s)).
- contextPath: PrismaSase.SecurityRule.id
  description: Security rule ID.
- contextPath: PrismaSase.SecurityRule.log_setting
  description: Security rule log setting.
- contextPath: PrismaSase.SecurityRule.name
  description: Security rule name.
- contextPath: PrismaSase.SecurityRule.position
  description: Security rule position.
- contextPath: PrismaSase.SecurityRule.service
  description: Security rule service.
- contextPath: PrismaSase.SecurityRule.source
  description: Security rule source.
- contextPath: PrismaSase.SecurityRule.source_user
  description: Security rule source user.
- contextPath: PrismaSase.SecurityRule.to
  description: Security rule to field (destination zone(s)).
- contextPath: PrismaSase.SecurityRule.negate_destination
  description: Security rule negate destination.
- contextPath: PrismaSase.SecurityRule.profile_setting
  description: The Security rule group object in the rule.
  type: unknown
- contextPath: PrismaSase.SecurityRule.profile_setting.group
  description: Security rule group.
tests:
- No tests (auto formatted)
fromversion: 6.8.0
supportedModules:
- agentix
- xsiam