Defense.com Zero Trust Alert Ingestion Integration
Support Statement
This documentation is provided "as is" without support for 3rd party software. The level of support for this integration guide is best effort without any SLA on response time. No 3rd party product support can be provided by Superna directly. 3rd party components require support contracts. See EULA for more details.
Overview
Customers using Defense.com can leverage this integration to send real-time Zero Trust alerts using webhooks and maintain full payload parsing using JSON-defined fields. The Defense.com Alert Ingestion Connector capability within the platform allows inbound webhook JSON payloads to be parsed within the SIEM.
Limitations
This guide does not provide configuration for routes, pipelines, or destinations. You must independently configure where alert data should be routed and sent to destinations.
Solution Overview
Superna Data Security Edition Zero Trust API is the cornerstone technology used to integrate with SIEM and SOAR platforms. This integration sends CEF2-formatted alerts over syslog UDP to the on-premises Defense.com Collector.
What Is Defense.com?
Defense.com offers a comprehensive cybersecurity platform that combines detection, response, and automation to help businesses manage threats. Its services include a unified threat management platform with log monitoring (SIEM), endpoint protection, and asset profiling. It also provides Managed Detection and Response (MDR) services, vulnerability scanning, penetration testing, and cybersecurity awareness training for employees.
Integration Architecture

Solution Configuration in Defense.com and Defender Zero Trust
Prerequisites
- Installed Data Security Edition subscription product
- Eyeglass OS appliance version 15.5 — verify with
cat /etc/os-release - License key for the Zero Trust API
- Defense.com SIEM model with an on-premises Collector
Features
- Sends CEF2-formatted alerts over syslog UDP to the on-premises Collector
Configuration in Defense.com Collector VM
- Deploy the on-premises event Collector with help from Defense.com support.
- Once deployed, record the IP address of the Collector host.
Configuration Steps on Eyeglass Virtual Machine
High-Level Steps
- Create the Python location to run the application on the Eyeglass VM.
- Create the Python main application script.
- Create the Linux systemd service and set it to auto-start.
- Create the Zero Trust configuration in Defender.
- Update the main script to customize it with Defense.com Python code.
- Test the script is running as a service.
- Create a test event in Defender to validate alerts appear as indexed parsed events in Defense.com.
Configure the Service Start and Python Integration Files
Log in to the Eyeglass VM via SSH as the admin user:
ssh admin@<your-vm-ip>
Become root:
sudo -s
mkdir -p /opt/superna/cgi-bin
chown -R sca:users /opt/superna/cgi-bin
chmod -R u+rwX,g+rwX /opt/superna/cgi-bin
Switch to the SCA user:
sudo -u sca -s
cd /opt/superna/cgi-bin
Create a Python virtual environment for the integration:
python3 -m venv venv-defense
source venv-defense/bin/activate
Install required Python packages:
pip install flask boto3 requests logging
deactivate
Create integration script files:
touch defense.py
touch defense.sh
chmod +x defense.py
chmod +x defense.sh
Create the defense.sh launch script:
nano /opt/superna/cgi-bin/defense.sh
Paste the following content into the file:
#!/bin/bash
export PATH="/opt/.pyenv/bin:$PATH"
source /opt/superna/cgi-bin/venv-defense/bin/activate
exec python /opt/superna/cgi-bin/defense.py
Make the script executable:
chmod +x /opt/superna/cgi-bin/defense.sh
Exit back to root:
exit
whoami # confirm you are root
Create the systemd service unit file:
nano /etc/systemd/system/defense.service
Paste the following content into the file:
[Unit]
Description=Webhook listener for Zero Trust API translations and integrations
After=network.target
[Service]
Type=simple
User=sca
Group=users
WorkingDirectory=/opt/superna/cgi-bin
ExecStart=/bin/bash /opt/superna/cgi-bin/defense.sh
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
Reload systemd to register the new service:
systemctl daemon-reload
Enable the service to start on boot (do not start it yet):
systemctl enable defense
Configure Python Packages and Customize the Integration Code
-
Download the Python template code from the link to download (right-click, save as).
-
Open the Python template file in a text editor. Only replace the placeholder values — do not delete any commas.
-
Locate the following section and replace the placeholder values with your Defense.com Collector IP address. Change the port if different from the default:
# === Defense.com Configuration ===
DEFENSE_SYSLOG_HOST = "x.x.x.x" # Replace with your Collector IP
DEFENSE_SYSLOG_PORT = 5514 # UDP 5514 -
Open the production file on the Eyeglass VM:
nano /opt/superna/cgi-bin/defense.py -
Open the template file locally in Notepad, select all (Ctrl+A), and copy.
-
Paste the clipboard into the SSH terminal session with the open nano editor.
-
Save the file:
- Press Ctrl+X
- Answer Yes to save and exit
-
Start the service and verify it is running:
systemctl start defense
systemctl status -l defenseVerify the service returns "active and running". If the service does not start, do not proceed — double-check the steps above.
Configure Defender Zero Trust Webhooks
-
Navigate to Integrations → Webhooks and configure the Zero Trust endpoint.
Recommended ConfigurationSend only Critical and Major events, and only webhooks that set lockout or delayed lockout. The goal is to send findings rather than a list of alarms that do not pinpoint a security incident. Customers can customize based on specific requirements.
-
The endpoint URL uses localhost and sends webhooks to the application service listening on port 5000:
http://localhost:5000/webhook -
Add the Content-Type header with value application/json to complete the webhook configuration.
-
Click Save to commit the configuration.
-
Click Save on the main Webhook configuration page.
How to Test the Integration with Defense.com
- Download the curl command template and open it with a text editor.
- Copy all the text.
- SSH to the Eyeglass VM as the admin user.
- Paste the entire CLI command to the SSH prompt to send sample data to the running Zero Trust application. This sends test data directly to the application to be processed and sent to Defense.com.
To review the process logs from the web application:
sudo -s
journalctl -f -u defense
To log to a file and review with nano, showing only the most recent 250 lines:
journalctl -f -n 250 -u defense > /tmp/ztwebhook.log
nano /tmp/ztwebhook.log
The log should show a successful sending status code from the Defense.com API call.
Defense.com Administrator Integration Experience
Once the integration is complete, you can search for Superna log messages in the Defense.com interface to verify ingested events and build detection rules, routes, and response pipelines.