Barracuda WAF
App Vendor: Barracuda
App Category: IT services
Connector Version: 1.0.0
API Version: 1.0.0
About App
Barracuda web application firewall changes the game, with comprehensive protection against all kinds of app-based threats, highly flexible deployment options, and remarkable ease of use.
The Barracuda WAF app is configured with the Orchestrate application to perform the following actions:
Action Name | Description |
---|---|
Create Network ACL | This action updates a network ACL. |
Create URL Policy | This action creates a URL policy. |
Delete Network ACL | This action deletes a network ACL. |
Delete URL Policy | This action deletes a URL policy. |
Get Network ACL Details | This action lists all the network ACLs. |
Get Services | This action returns information about services running on the server. This returns the web application names. |
Get URL Policy Details | This action gets details about a URL policy. |
List Network ACLs | This action lists all the network ACLs. |
List URL Policies | This action returns a list of URL policies. |
Query Firewall Logs | This action queries web firewall logs. |
Update URL Policy | This action updates a URL policy. |
Configuration Parameters
The following configuration parameters are required for the Barracuda WAF app to communicate with the Barracuda WAF enterprise application. The parameters can be configured by creating instances in the app.
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Username | Enter the username to log in to the Barracuda WAF application. Example: "admin" | Text | Required | |
Password | Enter the password to authenticate with the Barracuda WAF application. | Password | Required | |
Base URL | Enter the base URL of your instance of the Barracuda WAF application. Example: "https://10.x.x.10" | Text | Required | |
Port | Enter the port used to connect to the Barracuda WAF application. Usually, this is 8000 or 8443. Example: 8000 | Integer | Required | |
SSL Verification | Use SSL verification on requests to the server. Example: true | Boolean | Required |
Action: Create Network ACL
This action creates a network ACL. To get the object, use the action to get network ACL details.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Network ACL object | Enter the network ACL object to create an ACL network. Example: $json[{"action": "accept", "source-port": "", "interface": "wan", "protocol": "all-protocols", "ipv6-source-address": "192.168.10.10", "comments": "samplecomments", "destination-address": "0.0.0.0", "status": "yes", "destination-netmask": "0.0.0.0", "source-address": "0.0.0.0", "priority": "0", "max-half-open-connections": "0", "max-connections": "0", "vsite": "default", "ipv6-destination-address": "", "ip-version": "ipv4", "icmp-response": "icmp-net-unreachable", "destination-port": "", "enable-logging": "off", "name": "joey-test2", "source-netmask": "0.0.0.0", "ipv6-source-netmask": "", "ipv6-destination-netmask": ""}] | Any | Required | To retrieve the network ACL object, use the action to get network ACL details. |
Example Request
[ { "network_acl_object": { "name": "JohnDoe", "vsite": "default", "action": "ACCEPT", "status": "Yes", "comments": "samplecomments", "priority": "0", "protocol": "ALL-PROTOCOLS", "interface": "WAN", "ip-version": "IPv4", "source-port": "", "icmp-response": "icmp-net-unreachable", "enable-logging": "Off", "source-address": "0.0.0.0", "source-netmask": "0.0.0.0", "max-connections": "0", "destination-port": "", "destination-address": "0.0.0.0", "destination-netmask": "0.0.0.0", "ipv6-source-address": "10.0.10.10", "ipv6-source-netmask": "", "ipv6-destination-address": "", "ipv6-destination-netmask": "", "max-half-open-connections": "0" } } ]
Action: Create URL Policy
This action creates a URL policy.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Web Application Name | Enter the web application name to create a URL policy. Example: "web-service" | Text | Required | To retrieve the web application name, use the action to get services. |
URL Policy Object | Enter the URL policy object to create a URL policy. Example: $json[{"enable-batd-scan": "no", "enable-data-theft-protection": "no", "host": "*", "parse-urls-in-scripts": "yes", "rate-control-pool": "none", "extended-match": "*", "web-scraping-policy": "none", "extended-match-sequence": "1", "name": "test-url-policy", "comments": " ", "status": "on", "enable-virus-scan": "no", "response-charset": "none", "url": "/*.aadroid.net", "mode": "active"}] | Any | Required | To retrieve the URL policy object, use the action to get URL policy details. |
Example Request
[ { "url_policy_object": { "url": "/*.aadroid.net", "host": "*", "mode": "Active", "name": "playbook-test-url-policy", "status": "On", "comments": "samplecomments", "extended-match": "*", "enable-batd-scan": "No", "response-charset": "NONE", "enable-virus-scan": "No", "rate-control-pool": "NONE", "web-scraping-policy": "NONE", "parse-urls-in-scripts": "Yes", "extended-match-sequence": "1", "enable-data-theft-protection": "No" }, "web_application_name": "web-service" } ]
Action: Delete Network ACL
This action deletes a network ACL.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Network ACL name | Enter the name of the network ACL to delete. Example: "samplenetworkaclname" | Text | Required |
Example Request
[ { "network_acl_name": "samplenetworkaclname" } ]
Action: Delete URL Policy
This action deletes a URL policy.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Web Application Name | Enter the web application name to get URL policies from. Example: "web-service" | Text | Required | To retrieve the web application name, use the action to get services. |
URL Policy Name | Enter the name of the URL policy to delete. Example: "playbook-test-url-policy" | Text | Required |
Example Request
[ { "url_policy_name": "playbook-test-url-policy", "web_application_name": "web-service" } ]
Action: Get Network ACL Details
This action provides a list of all the network ACLs.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Network ACL name | Enter the name of the network ACL to get details about it. Example: "samplenetworkaclname" | Text | Required |
Example Request
[ { "network_acl_name": "samplenetworkaclname" } ]
Action: Get Services
This action provides a list of all information about services running on the server. This returns the web application names.
Action Input Parameters
This action does not accept any input parameter.
Action: Get URL Policy Details
This action retrieves the details about a URL policy.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Web application name | Enter the web application name to get the URL policy details. Example: "web-service" | Text | Required | To retrieve the web application name, use the action to get services. |
URL policy name | Enter the name of the URL policy. Example: "web-policy" | Text | Required | To retrieve the URL policy object, use the action to get URL policy details. |
Example Request
[ { "url_policy_name": "web-policy", "web_application_name": "web-service" } ]
Action: List Network Acls
This action provides a list of all the network ACLs.
Action Input Parameters
This action does not accept any input parameter.
Action: List URL Policies
This action returns a list of URL policies.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Web application name | Enter the web application name to get the URL policies. Example: "web-service" | Text | Required | To retrieve the web application name, use the action to get services. |
Example Request
[ { "web_application_name": "web-service" } ]
Action: Query Firewall Logs
This action queries the web firewall logs.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Filters | Enter the filters as JSON object strings. Example: $json[{"field":"client-ip", "operator":"is equal to", "values":["99.66.160.6"]}] | Any | Optional | |
Parameters | Enter the parameters as a CSV string. | Any | Optional | Available values:
|
Example Request
[ { "filters": { "field": "client-ip", "values": [ "99.X.X.X" ], "operator": "is equal to" } } ]
Action: Update URL Policy
This action updates a URL policy.
Action Input Parameters
Parameter | Description | Field Type | Required/Optional | Comments |
---|---|---|---|---|
Web application name | Enter the web application name to get URL policies to update. Example: "web-service" | Text | Required | |
URL policy name | Enter the name of the URL policy to update. Example: "web-policy" | Text | Required | |
URL policy object | Enter the URL policy object. Example: $json[{"enable-batd-scan": "no", "enable-data-theft-protection": "no", "host": "*", "parse-urls-in-scripts": "yes", "rate-control-pool": "none", "extended-match": "*", "web-scraping-policy": "none", "extended-match-sequence": "1", "name": "test-url-policy", "comments": " ", "status": "on", "enable-virus-scan": "no", "response-charset": "none", "url": "/*.aadroid.net", "mode": "active"}] | Any | Required | To retrieve a policy, use the action to Get URL Policy Details. |
Example Request
[ { "url_policy_name": "playbook-test-url-policy", "url_policy_object": { "url": "/*.aadroid.net", "host": "*", "mode": "Active", "name": "playbook-test-url-policy", "status": "On", "comments": "Sample comments", "extended-match": "*", "enable-batd-scan": "No", "response-charset": "NONE", "enable-virus-scan": "No", "rate-control-pool": "NONE", "web-scraping-policy": "NONE", "parse-urls-in-scripts": "Yes", "extended-match-sequence": "1", "enable-data-theft-protection": "No" }, "web_application_name": "test1" } ]