Skip to main content

Cyware Orchestrate

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:

  • proxy-port

  • client-type

  • client-fingerprint

  • rule

  • proxy-ip

  • client-risk-score

  • url

  • attack

  • query-string

  • client-ip

  • session-id

  • severity

  • service-app-id

  • risk-score

  • time

  • service-name

  • follow-up-action

  • rule-type

  • client-port

  • authenticated-user

  • referer

  • attack-detail

  • attack-category

  • country-code

  • protocol

  • host

  • user-agent

  • service-ip

  • id

  • method

  • service-port

  • action

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"
  }
]