Skip to content

[AI-5206] DDS: WatchGuard Firebox Integration v1.0.0 #20030

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 10 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -508,6 +508,11 @@ plaid/assets/logs/ @DataDog/saa
/gpu/*.md @DataDog/ebpf-platform @DataDog/documentation
/gpu/manifest.json @DataDog/ebpf-platform @DataDog/agent-integrations @DataDog/documentation

/watchguard_firebox/ @DataDog/agent-integrations
/watchguard_firebox/*.md @DataDog/agent-integrations @DataDog/documentation
/watchguard_firebox/manifest.json @DataDog/agent-integrations @DataDog/documentation
/watchguard_firebox/assets/logs/ @DataDog/agent-integrations @DataDog/documentation @DataDog/logs-backend @DataDog/logs-core

# To keep Security up-to-date with changes to the signing tool.
/datadog_checks_dev/datadog_checks/dev/tooling/signing.py @DataDog/agent-integrations
# As well as the secure downloader.
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/config/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -658,6 +658,8 @@ integration/vonage:
- vonage/**/*
integration/vsphere:
- vsphere/**/*
integration/watchguard_firebox:
- watchguard_firebox/**/*
integration/wazuh:
- wazuh/**/*
integration/weaviate:
Expand Down
4 changes: 4 additions & 0 deletions watchguard_firebox/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# CHANGELOG - WatchGuard Firebox

<!-- towncrier release notes start -->

140 changes: 140 additions & 0 deletions watchguard_firebox/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
## Overview

[WatchGuard Firebox][4] is a network security platform offering comprehensive threat protection, including firewall, networking and other security features, suitable for various network environments, from small offices to large enterprises.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
[WatchGuard Firebox][4] is a network security platform offering comprehensive threat protection, including firewall, networking and other security features, suitable for various network environments, from small offices to large enterprises.
[WatchGuard Firebox][4] is a network security platform offering comprehensive threat protection, including firewall, networking, and other security features, suitable for various network environments, from small offices to large enterprises.


This integration enriches and ingests the following events:

- **Firewall Events**: Represents log messages generated by your Firebox for events that occur on the Firebox and for traffic managed by some packet filter policies. In addition to normal traffic, this can include messages related to feature keys, subscription services, server load balancing, and other features configured on your Firebox.
- **Networking Events**: Represents log messages generated for traffic related to the connections through your Firebox. This can include events related to interface activity, dynamic routing, PPPoE connections, and DHCP server requests.
- **Management Events**: Represents log messages generated for activity on your Firebox. This includes when changes are made to the device configuration and Device Management user accounts, for user authentication to the Firebox, and actions related to system settings.
- **VPN Events**: Represents log messages generated for processes related to the all VPNs configured on your Firebox. This includes changes to the VPN configuration, tunnel status, and daemon activity.
- **Proxy Policy Events**: Represents log messages generated for traffic managed by the proxy policies configured on your Firebox. This can include events related to traffic through the proxy, proxy actions, and security services.

This integration seamlessly collects all the above listed logs, channeling them into Datadog for analysis. Leveraging the built-in logs pipeline, these logs are parsed and enriched, enabling effortless search and analysis. The integration provides insight into firewall, networking, management, vpn and proxy policy events through the out-of-the-box dashboards. Additionally, it includes ready-to-use Cloud SIEM detection rules for enhanced monitoring and security.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This integration seamlessly collects all the above listed logs, channeling them into Datadog for analysis. Leveraging the built-in logs pipeline, these logs are parsed and enriched, enabling effortless search and analysis. The integration provides insight into firewall, networking, management, vpn and proxy policy events through the out-of-the-box dashboards. Additionally, it includes ready-to-use Cloud SIEM detection rules for enhanced monitoring and security.
This integration seamlessly collects all the above listed logs, channeling them into Datadog for analysis. Leveraging the built-in logs pipeline, these logs are parsed and enriched, enabling effortless search and analysis. The integration provides insight into firewall, networking, management, VPN, and proxy policy events through the out-of-the-box dashboards. Additionally, it includes ready-to-use Cloud SIEM detection rules for enhanced monitoring and security.


## Setup

### Installation

To install the WatchGuard Firebox integration, run the following Agent installation command and the steps below. For more information, see the [Integration Management][5] documentation.

**Note**: This step is not necessary for Agent version >= 7.66.0.

Linux command:

```shell
sudo -u dd-agent -- datadog-agent integration install datadog-watchguard-firebox==1.0.0
```

### Configuration

#### Log collection

1. Collecting logs is disabled by default in the Datadog Agent. Enable it in `datadog.yaml`:

```yaml
logs_enabled: true
```

2. Add this configuration block to your `watchguard-firebox.d/conf.yaml` file to start collecting your WatchGuard Firebox logs. See the sample [watchguard-firebox.d/conf.yaml][6] for available configuration options.

```yaml
logs:
- type: udp
port: <PORT>
service: watchguard-firebox
source: watchguard-firebox
```

Note:
- PORT: Port should be similar to the port provided in **Configure Syslog Message Forwarding from WatchGuard Firebox Server**.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should the port be similar (example: the port 5001 is similar to the port 5000), or identical?

- It is recommended not to change the service and source values, as these parameters are integral to the pipeline's operation.

3. [Restart the Agent][1].

#### Configure Syslog Message Forwarding from WatchGuard Firebox Server

1. Log in to **Fireware Web UI** with an administrator account.
2. Select **System** > **Logging**.
3. Select the **Syslog Server** tab.
4. Select the **Send log messages to these syslog servers** check box.
5. Click **Add**, then the Syslog Server dialog box opens.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
5. Click **Add**, then the Syslog Server dialog box opens.
5. Click **Add** to open the Syslog Server dialog box.

6. In the **IP Address** text box, enter the IP address of the server on which datadog-agent is installed.
7. In the **Port** text box, enter the port you configured to receive the Firebox logs.
8. From the **Log Format** drop-down list, select **Syslog**.
9. Select **The time stamp** and **The serial number of the device** check boxes.
10. Click **OK**.

### Validation

[Run the Agent's status subcommand][2] and look for `watchguard-firebox` under the Checks section.

## Data Collected

### Logs

The WatchGuard Firebox integration collects Firewall, Networking, Management, VPN and Proxy Policy Events.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The WatchGuard Firebox integration collects Firewall, Networking, Management, VPN and Proxy Policy Events.
The WatchGuard Firebox integration collects firewall, networking, management, VPN, and proxy policy Events.

Just because these weren't capitalized earlier in a similar sentence.


### Metrics

The WatchGuard Firebox integration does not include any metrics.

### Events

The WatchGuard Firebox integration does not include any events.

## Troubleshooting

### WatchGuard Firebox

**Permission denied while port binding:**

If you see a **Permission denied** error while port binding in the Agent logs, see the following instructions:

1. Binding to a port number under 1024 requires elevated permissions. Grant access to the port using the `setcap` command:

- Grant access to the port using the `setcap` command:

```shell
sudo setcap CAP_NET_BIND_SERVICE=+ep /opt/datadog-agent/bin/agent/agent
```

- Verify the setup is correct by running the `getcap` command:

```shell
sudo getcap /opt/datadog-agent/bin/agent/agent
```

With the expected output:

```shell
/opt/datadog-agent/bin/agent/agent = cap_net_bind_service+ep
```

**Note**: Re-run this `setcap` command every time you upgrade the Agent.

2. [Restart the Agent][1].

**Data is not being collected:**

Make sure that traffic is bypassed from the configured port if the firewall is enabled.

**Port already in use:**

If you see the **Port <PORT-NO\> Already in Use** error, see the following instructions. The example below is for PORT-NO = 514:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
If you see the **Port <PORT-NO\> Already in Use** error, see the following instructions. The example below is for PORT-NO = 514:
If you see the **Port <PORT_NUMBER> Already in Use** error, see the following instructions. The example below is for a PORT_NUMBER equal to 514:


On systems using Syslog, if the Agent listens for events on port 514, the following error can appear in the Agent logs: `Can't start UDP forwarder on port 514: listen udp :514: bind: address already in use`.

This error occurs because by default, Syslog listens on port 514. To resolve this error, take **one** of the following steps:

- Disable Syslog.
- Configure the Agent to listen on a different, available port.

For any further assistance, contact [Datadog support][3].

[1]: https://docs.datadoghq.com/agent/guide/agent-commands/#start-stop-and-restart-the-agent
[2]: https://docs.datadoghq.com/agent/guide/agent-commands/#agent-status-and-information
[3]: https://docs.datadoghq.com/help/
[4]: https://www.watchguard.com/wgrd-products/network-security
[5]: https://docs.datadoghq.com/agent/guide/integration-management/?tab=linux#install
[6]: https://github.com/DataDog/integrations-core/blob/master/watchguard-firebox/datadog_checks/watchguard-firebox/data/conf.yaml.example
10 changes: 10 additions & 0 deletions watchguard_firebox/assets/configuration/spec.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
name: WatchGuard Firebox
files:
- name: watchguard_firebox.yaml
options:
- template: logs
example:
- type: udp
port: <PORT>
service: watchguard-firebox
source: watchguard-firebox
Loading