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 |
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
Open the command prompt by pressing the Windows key + R and typing "cmd" and press enter.
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.
Type "config t" and press enter.
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".
Type "copy running-config startup-config" and press enter. Confirm the source file name, then press enter again.
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
Open the command prompt by pressing the Windows key + R and typing "cmd" and press enter.
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.
Enable command authorization with the command "aaa authorization command LOCAL".
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.
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)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).
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
Log in to D3 SOAR.
Find the Cisco Adaptive Security Appliance integration.
Navigate to Configuration on the top header menu.
Click on the Integration icon on the left sidebar.
Type Cisco Adaptive Security Appliance in the search box to find the integration, then click it to select it.
Click + Connection, on the right side of the Connections section. A new connection window will appear.
Configure the following fields to create a connection to Cisco Adaptive Security Appliance.
Connection Name: The desired name for the connection.
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.
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.
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.
Description (Optional): Add your desired description for the connection.
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.
Configure User Permissions: Defines which users have access to the connection.
Active: Check the tick box to ensure the connection is available for use.
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.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.
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.
Test the connection.
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.
Click OK to close the alert window.
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
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
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
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
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
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
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
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. |