Skip to main content
Version: 2.14.1

Logpresso SONAR SIEM Superna Zero Trust Alarm Integration

Free integration setupWe’ll install and validate this for you.
Book a setup call

Support Statement

DISCLAIMER

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 Logpresso SONAR SIEM can leverage this integration to send real-time Zero Trust alerts using webhooks and maintain full payload parsing using JSON-defined fields. The Splunk HTTP Event Connector capability within SONAR allows inbound webhook JSON payloads to be parsed and tagged with a source type to allow for dashboards and triggers to be used in workflows.

Limitations

HTTPS with unsigned certificates is the default configuration, and certificate checking has been disabled in this sample code.

Solution Overview

Superna Data Security Edition Zero Trust API is the cornerstone technology used to integrate with SIEM, SOAR, and XDR platforms. Automation begins with data that summarizes the threat and places that information into a security tool to be acted on by SecOps, and to run playbooks to protect corporate IT assets from vulnerabilities and insider or external attackers.

What Is Logpresso SONAR SIEM?

Logpresso SONAR provides a unified solution for both external threat control and internal leakage monitoring by collecting, analyzing, and visualizing large-scale log data in real time. Logpresso SONAR also offers Cloud Security Posture Management (CSPM) and SaaS Security Posture Management (SSPM), allowing for comprehensive monitoring of an organization's entire IT infrastructure, including on-premises, private clouds, public clouds, and SaaS environments.

  • SIEM functionality — central platform collecting and analyzing security logs from various sources across an organization's IT environment
  • SOAR integration — automates security tasks and incident response, enabling organizations to streamline their security operations
  • Comprehensive monitoring — unified view of security across on-premises, cloud, and SaaS environments
  • Automated threat detection and response — uses AI and machine learning to detect potential threats early and automate responses
  • Customizable playbooks — users can tailor SOAR playbooks to meet specific needs and develop customized response strategies
  • Cost-effective log storage — provides cost-effective options for long-term log storage to help meet compliance and audit requirements

Integration Architecture

Logpresso SONAR integration architecture

Solution Configuration in Logpresso SONAR SIEM 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
  • Logpresso SONAR and Logpresso Maestro with:

Configuration in Logpresso SONAR SIEM

  1. Install the Splunk app into the SONAR instance.
  2. Set the API token through the configuration interface.
  3. Record the token value for use in the configuration steps below.

Configuration Steps on Eyeglass Virtual Machine

High-Level Steps

  1. Create the Python location to run the application on the Eyeglass VM.
  2. Create the Python main application script.
  3. Create the Linux systemd service and set it to auto-start.
  4. Create the Zero Trust configuration in Defender.
  5. Update the main script to customize it with the Logpresso SONAR SIEM Python code.
  6. Test the script is running as a service.
  7. Create a test event in Defender to validate alerts appear as indexed parsed events in Logpresso SONAR SIEM.

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-logpresso

source venv-logpresso/bin/activate

Install required Python packages:

pip install flask boto3 requests logging

deactivate

Create integration script files:

touch logpresso.py

touch logpresso.sh

chmod +x logpresso.py

chmod +x logpresso.sh

Create the logpresso.sh launch script:

nano /opt/superna/cgi-bin/logpresso.sh

Paste the following content into the file:

#!/bin/bash

export PATH="/opt/.pyenv/bin:$PATH"

source /opt/superna/cgi-bin/venv-logpresso/bin/activate

exec python /opt/superna/cgi-bin/logpresso.py

Make the script executable:

chmod +x /opt/superna/cgi-bin/logpresso.sh

Exit back to root:

exit

whoami # confirm you are root

Create the systemd service unit file:

nano /etc/systemd/system/logpresso.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/logpresso.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 logpresso

Configure Python Packages and Customize the Integration Code

  1. Download the Python template code from the link to download (right-click, save as).

  2. Open the Python template file in a text editor. Only replace the placeholder values — do not delete any commas.

  3. Locate the following section and replace the placeholder values with the HEC token recorded above and the URL of your Logpresso SONAR instance:

    LOGPRESSO_HEC_TOKEN = 'xxxxxxxxxxxxxxxx'
    LOGPRESSO_HEC_URL = 'https://yyyyyyyyyyyyyy/services/collector'
  4. Open the production file on the Eyeglass VM:

    nano /opt/superna/cgi-bin/logpresso.py
  5. Open the template file locally in Notepad, select all (Ctrl+A), and copy.

  6. Paste the clipboard into the SSH terminal session with the open nano editor.

  7. Save the file:

    • Press Ctrl+X
    • Answer Yes to save and exit
  8. Start the service and verify it is running:

    systemctl start logpresso

    systemctl status -l logpresso

    Verify 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

  1. Configure the Zero Trust endpoint in the Ransomware Defender Zero Trust tab.

    Recommended Configuration

    Send 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.

  2. The endpoint URL uses localhost and sends webhooks to the application service listening on port 5000:

    http://localhost:5000/webhook
  3. Add the Content-Type header with value application/json to complete the webhook configuration.

  4. Click Save to commit the configuration.

  5. Click Save on the main Webhook configuration page.

How to Test the Integration with Logpresso SONAR SIEM

  1. Download the curl command template and open it with a text editor.
  2. Copy all the text.
  3. SSH to the Eyeglass VM as the admin user.
  4. 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 Logpresso SONAR SIEM.

A successfully processed webhook test returns the following text in the SSH terminal:

done sending event to logpresso and check for http 200 and success count in response

To review the process logs from the web application:

sudo -s

journalctl -f -u logpresso

To log to a file and review with nano, showing only the most recent 250 lines:

journalctl -f -n 250 -u logpresso > /tmp/ztwebhook.log

nano /tmp/logpresso.log

The response code from the Logpresso SONAR SIEM API call should show HTTP 200 status code and successCount 1 to indicate the event was successfully created.

Navigate to the Logpresso Query menu and run the following query to verify the results:

table SUPERNA_ZT

Logpresso SONAR SIEM SecOps Administrators Integration Experience

Once the integration has been tested, you can build triggers from indexed, parsed Zero Trust fields in the Logpresso SONAR interface.