Skip to main content
Skip table of contents

Cisco Adaptive Security Appliance

LASTED UPDATED: OCT 21, 2024

Overview

The Cisco ASA family of security devices protects corporate networks of all sizes. It provides users with highly secure access to data - anytime, anywhere, using any device.

D3 SOAR is providing REST operations to function with Cisco Adaptive Security Appliance.

Cisco Adaptive Security Appliance is available for use in:

D3 SOAR

V12.7.124.0+

Category

Network Security

Deployment Options

Option I, Option III

Connection

To connect to Cisco Adaptive Security Appliance from D3 SOAR, please follow this part to collect the required information below:

Parameter

Description

Example

Server URL

The server URL of Cisco Adaptive Security Appliance.

https://<ReplaceMe>

Username

The Username of Cisco Adaptive Security Appliance.

admin

Password

The Password of Cisco Adaptive Security Appliance.

********

Permission Requirements

Each endpoint in the Cisco Adaptive Security Appliance API requires a certain permission scope. The following are required scopes for the commands in this integration:

Command

Required Permission

Block IPs

Full Access with Privilege Level 15

Block URLs

Full Access with Privilege Level 15

Get Network Object

Full Access with Privilege Level 5 and above

Run Commands

Full Access with Privilege Level 15. Depending on the command to be executed, a lower privilege level can be assigned. Zero-level access restricts the user to just five commands: logout, enable, disable, help, and exit. The user level (level 1) grants restricted read-only access to the router, while the privileged level (level 15) provides users with comprehensive control over the router.

Unblock IPs

Full Access with Privilege Level 15

Unblock URLs

Full Access with Privilege Level 15

Test Connection

Full Access with Privilege Level 5 and above

As Cisco Adaptive Security Appliance is using role-based access control (RBAC), the API access token is generated based on a specific user account and the application. Therefore, the command permissions are inherited from the user account’s role. Users need to configure their user profile from the Cisco Adaptive Security Appliance console for each command in this integration.

READER NOTE

  • Full Access (ASDM, Telnet, SSH and console)—If you configure authentication for management access using the local database, then this option lets the user use ASDM, SSH, Telnet, and the console port. If you also enable authentication, then the user can access global configuration mode.

    • Privilege Level—Sets the privilege level for ASDM and local command authorization. The range is 0 (lowest) to 15 (highest). Specify 15 to grant unrestricted admin access. The predefined ASDM roles use 15 for Admin, 5 for Read Only, and 3 for Monitor Only (which restricts the user to the Home and Monitoring panes).

  • CLI login prompt for SSH, Telnet and console (no ASDM access)—If you configure authentication for management access using the local database, then this option lets the user use SSH, Telnet, and the console port. The user cannot use ASDM for configuration (if you configure HTTP authentication). ASDM monitoring is allowed. If you also configure enable authentication, then the user cannot access global configuration mode.

  • No ASDM, SSH, Telnet, or console access—If you configure authentication for management access using the local database, then this option disallows the user from accessing any management access method for which you configured authentication (excluding the Serial option; serial access is allowed).

For more information, see CisAAA and the Local Database from the Cisco ASA Series General Operations ASDM Configuration Guide, 7.14.

Configuring Cisco Adaptive Security Appliance to Work with D3 SOAR

Adding a User to the Local Database

For instructions on adding a user to the local database, see CisAAA and the Local Database from the Cisco ASA Series General Operations ASDM Configuration Guide, 7.14.

Creating Users and Granting Privileges with the Command Interface in Windows

  1. Open the command prompt by pressing the Windows key + R and typing "cmd" and press enter.

  2. Log in to your account. Type "ssh <username>@<your IP Address>" and press enter. Input your password when prompted. If you successfully login to the account, you will see some login information.

  3. Type "config t" and press enter.

  4. To create a new user and assign privileges, enter the command "username <your desired username> password <your desired password> privilege <your desired privilege level>" and press enter. Example: "username admin2 password testpassword privilege 15".

  5. Type "copy running-config startup-config" and press enter. Confirm the source file name, then press enter again.

  6. To modify a user's password and their privileges, use the command "username <the desired user's username to modify> password <your desired updated password> privilege <your desired updated privilege level>" and press enter. For example, "username admin2 password testpassword2 privilege 3" will change the password and privilege level of the user "admin2".

Setting Command Policies for User Privilege Levels

  1. Open the command prompt by pressing the Windows key + R and typing "cmd" and press enter.

  2. Log in to your admin account. Type "ssh <username>@<your IP Address>" and press enter. Input your password when prompted. If you successfully login to the account, you will see some login information.

  3. Enable command authorization with the command "aaa authorization command LOCAL".

  4. Define which commands can be executed by using the following commands:

    • privilege show level <user privilege level> command <command name> (e.g. privilege show level 5 command crypto)

    • privilege clear level <user privilege level> command <command name> (e.g. privilege clear level 5 command crypto)
      The first command grants the specified user privilege level permission run the specified command. The second command removes a granted command privilege from the specified user privilege level.

  5. Create a new user and assign the defined privileges to them with the following command:
    username <user name> password <password> privilege <user privilege level> (e.g. username user5 password 5555 privilege 5)

  6. Create and enable the password for the new privilege level with the command "enable password <password> level <user privilege level>" (e.g. enable password 5555 level 5).

  7. With this configuration, only the granted commands can be run when logged into the specified user.

Configuring D3 SOAR to Work with Cisco Adaptive Security Appliance

  1. Log in to D3 SOAR.

  2. Find the Cisco Adaptive Security Appliance integration.

    screenshot_1 (3).png
    1. Navigate to Configuration on the top header menu.

    2. Click on the Integration icon on the left sidebar.

    3. Type Cisco Adaptive Security Appliance in the search box to find the integration, then click it to select it.

    4. Click + Connection, on the right side of the Connections section. A new connection window will appear.

  3. Configure the following fields to create a connection to Cisco Adaptive Security Appliance.

    screenshot_2 (3).png
    1. Connection Name: The desired name for the connection.

    2. Site: Specifies the site to use the integration connection. Use the drop-down menu to select the site. The Share to Internal Sites option enables all sites defined as internal sites to use the connection. Selecting a specific site will only enable that site to use the connection.

    3. Recipient site for events from connections Shared to Internal Sites: This field appears if you selected Share to Internal Sites for Site to let you select the internal site to deploy the integration connection.

    4. Agent Name (Optional): Specifies the proxy agent required to build the connection. Use the dropdown menu to select the proxy agent from a list of previously configured proxy agents.

    5. Description (Optional): Add your desired description for the connection.

    6. Tenant (Optional): When configuring the connection from a master tenant site, you have the option to choose the specific tenant sites you want to share the connection with. Once you enable this setting, you can filter and select the desired tenant sites from the dropdowns to share the connection.

    7. Configure User Permissions: Defines which users have access to the connection.

    8. Active: Check the tick box to ensure the connection is available for use.

      screenshot_3 (6).png
    9. System: This section contains the parameters defined specifically for the integration. These parameters must be configured to create the integration connection.
      1. Input the domain level Server URL of your Cisco ASA environment.
      2. Input your Cisco ASA account Username.
      3. Input your Cisco ASA account Password.

    10. Enable Password Vault: An optional feature that allows users to take the stored credentials from their own password vault. Please refer to the password vault connection guide if needed.

    11. Connection Health Check: Updates the connection status you have created. A connection health check is done by scheduling the Test Connection command of this integration. This can only be done when the connection is active.
      To set up a connection health check, check the Connection Health Check tick box. You can customize the interval (minutes) for scheduling the health check. An email notification can be set up after a specified number of failed connection attempts.

  4. Test the connection.

    screenshot_4 (4).png
    1. Click Test Connection to verify the account credentials and network connection. If the Test Connection Passed alert window appears, the test connection is successful. You will see Passed with a green checkmark appear beside the Test Connection button. If the test connection fails, please check your connection parameters and try again.

    2. Click OK to close the alert window.

    3. Click + Add to create and add the configured connection.

Commands

Cisco Adaptive Security Appliance includes the following executable commands for users to set up schedules or create playbook workflows. With the Test Command, you can execute these commands independently for playbook troubleshooting.

Integration API Note

For more information about the Cisco Adaptive Security Appliance API, please refer to the Cisco Adaptive Security Appliance API reference at <Your domain level server url>/doc/ (e.g. https://111.1.1.1/doc/).

READER NOTE

Certain permissions are required for each command. Please refer to the Permission Requirements and Configuring Cisco Adaptive Security Appliance to Work with D3 SOAR for details.

Block IPs

Adds IP addresses to the specified blocklist group.

READER NOTE

Group is a required parameter to run this command.

  • To view the list of blocklist groups, navigate to Configuration > Firewall > Objects > Network Objects/Groups from the Cisco ASA user interface. To add a group, click Add Network Object Group.To view the IP addresses within a group, navigate to the Network Object Groups section at the bottom, and expand the desired group by clicking the "+" sign.

Input

Input Parameter

Required/Optional

Description

Example

IPs

Required

The array of IP address(es) to add to the specified blocklist group.

["1.1.1.1","1.1.1.2"]

Group

Required

The name of the blocklist group to add the specified IP(s).

TEST_GROUP3

Output

Raw Data

The primary response data from the API request.

SAMPLE DATA

JSON
[
    {
        "IP": "1.1.1.1",
        "result": "succeed"
    },
    {
        "IP": "1.1.1.2",
        "result": "succeed"
    }
]
Context Data

The data extracted from Raw Data converted into JSON format. Context Data may be identical to Raw Data in some cases.

It is recommended to refer to the Raw Data instead of Context Data, since it contains the complete API response data. D3 will deprecate Context Data in the future, and playbook tasks using Context Data will be replaced with Raw Data.

SAMPLE DATA

CODE
[
    {
        "IP": "1.1.1.1",
        "result": "succeed"
    },
    {
        "IP": "1.1.1.2",
        "result": "succeed"
    }
]
Key Fields

Common cyber security indicators such as unique IDs, file hash values, CVE numbers, IP addresses, etc., will be extracted from Raw Data as Key Fields.
The system stores these key fields in the path $.[playbookTask].outputData. You can use these key-value pairs as data points for playbook task inputs.

SAMPLE DATA

CODE
{
    "Blocked IPs": [
        "1.1.1.1",
        "1.1.1.2"
    ]
}
Return Data

Indicates one of the possible command execution states: Successful, Partially Successful, or Failed.

The Partially Successful state only occurs when a command’s input accepts an array of items (e.g. an array of IP addresses) and one or more items within the array return an error from the API request.

The Failed state can be triggered by any of the following errors:

  • A connection issue with the integration

  • The API returned an error message

  • No response from the API

You can view more details about an error in the Error tab.

Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.

SAMPLE DATA

CODE
Successful
Result

Provides a brief summary of outputs in an HTML formatted table.

SAMPLE DATA

IP

RESULT

1.1.1.1

succeed

1.1.1.2

succeed

Error Handling

If the Return Data is Partially Successful or Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

Block IPs failed.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the Cisco Adaptive Security Appliance portal. Refer to the HTTP Status Code Registry for details.

Status Code: 400.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: Item was already blocked before.

Error Sample Data

Block IPs failed.

Status Code: 400.

Message: Item was already blocked before.

Block URLs

Adds URLs to the specified blocklist group.

READER NOTE

Group is a required parameter to run this command.

  • To view the list of blocklist groups, navigate to Configuration > Firewall > Objects > Network Objects/Groups from the Cisco ASA user interface. To add a group, click Add Network Object Group.To view the URLs within a group, navigate to the Network Object Groups section at the bottom, and expand the desired group by clicking the "+" sign.

Input

Input Parameter

Required/Optional

Description

Example

URLs

Required

The array of URLs to add to the specified blocklist group.

["xmr.pool.minergate.com","xmr1.pool.minergate.com"]

Group

Required

The name of the blocklist group to add the specified URLs.

TEST_GROUP3

Output

Raw Data

The primary response data from the API request.

SAMPLE DATA

JSON
[
    {
        "URL": "xmr.pool.minergate.com",
        "result": "succeed"
    },
    {
        "URL": "xmr1.pool.minergate.com",
        "result": "succeed"
    }
]
Context Data

The data extracted from Raw Data converted into JSON format. Context Data may be identical to Raw Data in some cases.

It is recommended to refer to the Raw Data instead of Context Data, since it contains the complete API response data. D3 will deprecate Context Data in the future, and playbook tasks using Context Data will be replaced with Raw Data.

SAMPLE DATA

CODE
[
    {
        "URL": "xmr.pool.minergate.com",
        "result": "succeed"
    },
    {
        "URL": "xmr1.pool.minergate.com",
        "result": "succeed"
    }
]
Key Fields

Indicates one of the possible command execution states: Successful, Partially Successful, or Failed.

The Partially Successful state only occurs when a command’s input accepts an array of items (e.g. an array of IP addresses) and one or more items within the array return an error from the API request.

The Failed state can be triggered by any of the following errors:

  • A connection issue with the integration

  • The API returned an error message

  • No response from the API

You can view more details about an error in the Error tab.

Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.

SAMPLE DATA

CODE
{
    "Blocked URLs": [
        "xmr.pool.minergate.com",
        "xmr1.pool.minergate.com"
    ]
}
Return Data

Common cyber security indicators such as unique IDs, file hash values, CVE numbers, IP addresses, etc., will be extracted from Raw Data as Key Fields.
The system stores these key fields in the path $.[playbookTask].outputData. You can use these key-value pairs as data points for playbook task inputs.

SAMPLE DATA

CODE
Successful
Result

Provides a brief summary of outputs in an HTML formatted table.

SAMPLE DATA

URL

RESULT

xmr.pool.minergate.com

succeed

xmr1.pool.minergate.com

succeed

Error Handling

If the Return Data is Partially Successful or Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

Block URLs failed.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the Cisco Adaptive Security Appliance portal. Refer to the HTTP Status Code Registry for details.

Status Code: 400.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: Item was already blocked before.

Error Sample Data

Block URLs failed.

Status Code: 400.

Message: Item was already blocked before.

Get Network Object

Retrieves information on the specified network objects from Cisco ASA.

Input

Input Parameter

Required/Optional

Description

Example

Object IDs

Required

The name(s) of the object(s) to retrieve information.

["block1.1.1.1","xmr.pool.minergate.com"]

Output

Raw Data

The primary response data from the API request.

SAMPLE DATA

JSON
[
    {
        "kind": "object#NetworkObj",
        "selfLink": "https://1.1.1.1/api/objects/networkobjects/block1.1.1.1",
        "name": "block1.1.1.1",
        "host": {
            "kind": "IPv4Address",
            "value": "1.1.1.1"
        },
        "objectId": "block1.1.1.1"
    },
    {
        "kind": "object#NetworkObj",
        "selfLink": "https://1.1.1.1/api/objects/networkobjects/xmr.pool.minergate.com",
        "name": "xmr.pool.minergate.com",
        "host": {
            "kind": "IPv4FQDN",
            "value": "xmr.pool.minergate.com"
        },
        "objectId": "xmr.pool.minergate.com"
    }
]
Context Data

The data extracted from Raw Data converted into JSON format. Context Data may be identical to Raw Data in some cases.

It is recommended to refer to the Raw Data instead of Context Data, since it contains the complete API response data. D3 will deprecate Context Data in the future, and playbook tasks using Context Data will be replaced with Raw Data.

SAMPLE DATA

CODE
[
    {
        "kind": "object#NetworkObj",
        "selfLink": "https://1.1.1.1/api/objects/networkobjects/block1.1.1.1",
        "name": "block1.1.1.1",
        "host": {
            "kind": "IPv4Address",
            "value": "1.1.1.1"
        },
        "objectId": "block1.1.1.1"
    },
    {
        "kind": "object#NetworkObj",
        "selfLink": "https://1.1.1.1/api/objects/networkobjects/xmr.pool.minergate.com",
        "name": "xmr.pool.minergate.com",
        "host": {
            "kind": "IPv4FQDN",
            "value": "xmr.pool.minergate.com"
        },
        "objectId": "xmr.pool.minergate.com"
    }
]
Key Fields

Common cyber security indicators such as unique IDs, file hash values, CVE numbers, IP addresses, etc., will be extracted from Raw Data as Key Fields.
The system stores these key fields in the path $.[playbookTask].outputData. You can use these key-value pairs as data points for playbook task inputs.

SAMPLE DATA

CODE
{
    "value": [
        "1.1.1.1",
        "xmr.pool.minergate.com"
    ]
}
Return Data

Indicates one of the possible command execution states: Successful, Partially Successful, or Failed.

The Partially Successful state only occurs when a command’s input accepts an array of items (e.g. an array of IP addresses) and one or more items within the array return an error from the API request.

The Failed state can be triggered by any of the following errors:

  • A connection issue with the integration

  • The API returned an error message

  • No response from the API

You can view more details about an error in the Error tab.

Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.

SAMPLE DATA

CODE
Successful
Result

Provides a brief summary of outputs in an HTML formatted table.

SAMPLE DATA

KIND

SELFLINK

NAME

HOST

OBJECTID

object#NetworkObj

https://1.1.1.1/api/objects/networkobjects/block1.1.1.1

block1.1.1.1

{
";kind";: ";IPv4Address";,
";value";: ";1.1.1.1";
}

block1.1.1.1

object#NetworkObj

https://1.1.1.1/api/objects/networkobjects/xmr.pool.minergate.com

xmr.pool.minergate.com

{
";kind";: ";IPv4FQDN";,
";value";: ";xmr.pool.minergate.com";
}

xmr.pool.minergate.com

Error Handling

If the Return Data is Partially Successful or Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.

Error Sample Data

Get Network Object failed.

Status Code: 404.

Message: RESOURCE-NOT-FOUND.

Run Commands

Runs the specified commands on ASA via Rest API or SSH tunnel commands. The commands executed over an SSH tunnel are run in privileged mode. Please note that the two means of command execution may have different results and output due to their own implementation's differences.

Input

Input Parameter

Required/Optional

Description

Example

Commands List

Required

The command(s) to run on ASA.

[

"show version | include Serial",

"run a bad command"

]

Output

Raw Data

The primary response data from the API request.

SAMPLE DATA

JSON
{
    "RestCommandsResults": [
        {
            "command": "show version | include Serial",
            "response": "Serial Number: ***"
        },
        {
            "command": "run a bad command",
            "response": "run a bad command\r\n           ^\r\nERROR: % Invalid input detected at '^' marker."
        }
    ],
    "SSHCommandsResults": [
        {
            "command": "show version | include Serial",
            "response": "Serial Number: ***"
        },
        {
            "command": "run a bad command",
            "response": "run a bad command\r\n           ^\r\nERROR: % Invalid input detected at '^' marker."
        }
    ]
}
Return Data

Indicates one of the possible command execution states: Successful, Partially Successful, or Failed.

The Partially Successful state only occurs when a command’s input accepts an array of items (e.g. an array of IP addresses) and one or more items within the array return an error from the API request.

The Failed state can be triggered by any of the following errors:

  • A connection issue with the integration

  • The API returned an error message

  • No response from the API

You can view more details about an error in the Error tab.

Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.

SAMPLE DATA

CODE
Successful
Result

Provides a brief summary of outputs in an HTML formatted table.

SAMPLE DATA

COMMAND

RESPONSE

EXECUTED

ERROR

show version | include Serial

Serial Number: ***

True

run a bad command

run a bad command
^
ERROR: % Invalid input detected at '^' marker.

False

ERROR: % Invalid input detected at '^' marker.

Error Handling

If the Return Data is Partially Successful or Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

Run Commands failed.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the Cisco Adaptive Security Appliance portal. Refer to the HTTP Status Code Registry for details.

Status Code: 400.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: Invalid input detected at '^' marker.

Error Sample Data

Run Commands failed.

Status Code: 400.

Message: Invalid input detected at '^' marker.

Unblock IPs

Removes IP addresses from the specified blocklist group.

READER NOTE

IPs and Groups are required parameters to run this command.

  • The input IPs you must be in your designated input group. If they are not, the error message "Item was not found in blocked item array," will return. To view the list of blocklist groups, navigate to Configuration > Firewall > Objects > Network Objects/Groups from the Cisco ASA user interface. To add a group, click Add Network Object Group. To view the IP addresses within a group, navigate to the Network Object Groups section at the bottom, and expand the desired group by clicking the "+" sign.

Input

Input Parameter

Required/Optional

Description

Example

IPs

Required

The array of IP address(es) to remove from the specified blocklist group.

["1.1.1.1","1.1.1.2"]

Group

Required

The name of the blocklist group to remove the specified IP(s).

TEST_GROUP3

Output

Raw Data

The primary response data from the API request.

SAMPLE DATA

JSON
[
    {
        "IP": "1.1.1.1",
        "result": "succeed"
    },
    {
        "IP": "1.1.1.2",
        "result": "succeed"
    }
]
Context Data

The data extracted from Raw Data converted into JSON format. Context Data may be identical to Raw Data in some cases.

It is recommended to refer to the Raw Data instead of Context Data, since it contains the complete API response data. D3 will deprecate Context Data in the future, and playbook tasks using Context Data will be replaced with Raw Data.

SAMPLE DATA

CODE
[
    {
        "IP": "1.1.1.1",
        "result": "succeed"
    },
    {
        "IP": "1.1.1.2",
        "result": "succeed"
    }
]
Key Fields

Common cyber security indicators such as unique IDs, file hash values, CVE numbers, IP addresses, etc., will be extracted from Raw Data as Key Fields.
The system stores these key fields in the path $.[playbookTask].outputData. You can use these key-value pairs as data points for playbook task inputs.

SAMPLE DATA

CODE
{
    "Unblocked IPs": [
        "1.1.1.1",
        "1.1.1.2"
    ]
}
Return Data

Indicates one of the possible command execution states: Successful, Partially Successful, or Failed.

The Partially Successful state only occurs when a command’s input accepts an array of items (e.g. an array of IP addresses) and one or more items within the array return an error from the API request.

The Failed state can be triggered by any of the following errors:

  • A connection issue with the integration

  • The API returned an error message

  • No response from the API

You can view more details about an error in the Error tab.

Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.

SAMPLE DATA

CODE
Successful
Result

Provides a brief summary of outputs in an HTML formatted table.

SAMPLE DATA

IP

RESULT

1.1.1.1

succeed

1.1.1.2

succeed

Error Handling

If the Return Data is Partially Successful or Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

Unblock IPs failed.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the Cisco Adaptive Security Appliance portal. Refer to the HTTP Status Code Registry for details.

Status Code: 404.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: Item was not found in blocked item array.

Error Sample Data

Unblock IPs failed.

Status Code: 404.

Message: Item was not found in blocked item array.

Unblock URLs

Removes URLs from the specified blocklist group.

READER NOTE

URLs and Groups are required parameters to run this command.

  • The input URLs you must be in your designated input group. If they are not, the error message "Item was not found in blocked item array," will return. To view the list of blocklist groups, navigate to Configuration > Firewall > Objects > Network Objects/Groups from the Cisco ASA user interface. To add a group, click Add Network Object Group. To view the URLs within a group, navigate to the Network Object Groups section at the bottom, and expand the desired group by clicking the "+" sign.

Input

Input Parameter

Required/Optional

Description

Example

URLs

Required

The array of URLs to remove from the specified blocklist group.

["xmr.pool.minergate.com","xmr1.pool.minergate.com"]

Group

Required

The name of the blocklist group to remove the specified IP(s).

TEST_GROUP3

Output

Raw Data

The primary response data from the API request.

SAMPLE DATA

JSON
[
    {
        "URL": "xmr.pool.minergate.com",
        "result": "succeed"
    },
    {
        "URL": "xmr1.pool.minergate.com",
        "result": "succeed"
    }
]
Context Data

The data extracted from Raw Data converted into JSON format. Context Data may be identical to Raw Data in some cases.

It is recommended to refer to the Raw Data instead of Context Data, since it contains the complete API response data. D3 will deprecate Context Data in the future, and playbook tasks using Context Data will be replaced with Raw Data.

SAMPLE DATA

CODE
[
    {
        "URL": "xmr.pool.minergate.com",
        "result": "succeed"
    },
    {
        "URL": "xmr1.pool.minergate.com",
        "result": "succeed"
    }
]
Key Fields

Common cyber security indicators such as unique IDs, file hash values, CVE numbers, IP addresses, etc., will be extracted from Raw Data as Key Fields.
The system stores these key fields in the path $.[playbookTask].outputData. You can use these key-value pairs as data points for playbook task inputs.

SAMPLE DATA

CODE
{
    "Unblocked URLs": [
        "xmr.pool.minergate.com",
        "xmr1.pool.minergate.com"
    ]
}
Return Data

Indicates one of the possible command execution states: Successful, Partially Successful, or Failed.

The Partially Successful state only occurs when a command’s input accepts an array of items (e.g. an array of IP addresses) and one or more items within the array return an error from the API request.

The Failed state can be triggered by any of the following errors:

  • A connection issue with the integration

  • The API returned an error message

  • No response from the API

You can view more details about an error in the Error tab.

Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.

SAMPLE DATA

CODE
Successful
Result

Provides a brief summary of outputs in an HTML formatted table.

SAMPLE DATA

URL

RESULT

xmr.pool.minergate.com

succeed

xmr1.pool.minergate.com

succeed

Error Handling

If the Return Data is Partially Successful or Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

Unblock URLs failed.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the Cisco Adaptive Security Appliance portal. Refer to the HTTP Status Code Registry for details.

Status Code: 404.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: Item was not found in blocked item array.

Error Sample Data

Unblock URLs failed.

Status Code: 404.

Message: Item was not found in blocked item array.

Test Connection

Allows you to perform a health check on an integration connection. You can schedule a periodic health check by selecting Connection Health Check when editing an integration connection.

Input

N/A

Output

Return Data

Indicates one of the possible command execution states: Successful or Failed.

The Failed state can be triggered by any of the following errors:

  • A connection issue with the integration

  • The API returned an error message

  • No response from the API

You can view more details about an error in the Error tab.

SAMPLE DATA

CODE
Successful

Error Handling

If the Return Data is Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

Test Connection failed.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the Cisco Adaptive Security Appliance portal. Refer to the HTTP Status Code Registry for details.

Status Code: 400.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: failed to get the access token, please check the connection Username and Password.

Error Sample Data

Test Connection failed. Failed to check the connector.

Status Code: 400.

Message: failed to get the access token, please check the connection Username and Password.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.