Eyeglass Solutions Publication2

Logpresso SONAR SIEM Superna Zero Trust Alarm

Home



 

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 payload to be parsed and tagged with a source type to allow for dashboards and triggers to be leveraged in workflows.


Support Statement

  1. NOTE:  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

Limitations

  1. HTTPS with un-signed 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 tools to be acted on by Secops and run playbooks to protect corporate IT assets from vulnerabilities and insider or external attackers. 


What is Logpresso SONAR SIEM?

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


Integration Architecture



Solution Configuration in Logpresso SONAR SIEM and Defender Zero Trust

Prerequisites

  1. Installed Data Security Edition subscription product
  2. Eyeglass OS appliance version 15.5
    1. cat /etc/os-release
  3. License key for the Zero Trust API 
  4. Logpresso SONAR
    1. HEC endpoint token value
    2. endpoint replace xxxxx with your instance name url.   https://xxxxxx.logpresso.cloud/services/collector


Configuration in Logpresso SONAR SIEM

  1. Install the Splunk app application into the SONAR instance
  2. Set the API token 
    1.  record the token value

Configuration Steps on Eyeglass Virtual Machine

High Level steps

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

Configuration Step by Step

  1. Login to the eyeglass VM as admin user
  2. Follow the steps below
Configure the Service start and python integration files
# SONAR Integration Deployment Instructions

Login 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 Python virtual environment for the integration
python3 -m venv venv-sonar
source venv-sonar/bin/activate

# Install required Python packages
pip install flask boto3 requests logging
deactivate

# Create integration script files
touch sonar.py
touch sonar.sh
chmod +x sonar.py
chmod +x sonar.sh

# Create the sonar.sh launch script
nano /opt/superna/cgi-bin/sonar.sh
# Paste the following into the file:
#!/bin/bash
export PATH="/opt/.pyenv/bin:$PATH"
source /opt/superna/cgi-bin/venv-sonar/bin/activate
exec python /opt/superna/cgi-bin/sonar.py

# Make the script executable
chmod +x /opt/superna/cgi-bin/sonar.sh

# Exit back to root
exit
whoami # confirm you are root

# Create the systemd service unit file
nano /etc/systemd/system/sonar.service
# Paste the following 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/sonar.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 sonar


Configure the python packages and customize the sonar integration python code


  1. Customize the application code by downloading the python code from this link to download
    1. Open the python template file in a text editor. NOTE: make sure to only replace the values and do not delete any of the commas
    2. Locate this section in the file
      1. SONAR_HEC_TOKEN = 'xxxxxxxxxxxxxxxx'
      2. SONAR_HEC_URL = 'https://yyyyyyyyyyyyyy/services/collector'
      3. Replace the xxxxx with the HEC token recorded from the steps above and replace yyyy with the IP address of the sonar server running the HTTP Event Collector
    3. Paste the updated script into the production file
      1. nano /opt/superna/cgi-bin/sonar.py
      2. Open the file locally in Windows OS notepad and use control-A or select all the text.
      3. Paste the clipboard into the ssh terminal session with the open nano editor file
      4. save the file
        1. press control+x
        2. Answer yes to save and exit the nano editor 
  2. Start the service and verify it is running
    1. systemctl start sonar
    2. systemctl status -l sonar 
    3. Verify the service is started successfully and returns "active and running".
  3. If the service does not start do not proceed and double check the steps above are completed. 

Configure Defender Zero Trust Webhooks

  1. The next step creates an Zero Trust Webhook URL.    
    1. Configure Zero Trust endpoint in Ransomware Defender Zero Trust tab.
      1. Recommended Configuration: Only Critical and Major events and only the webhooks that set lockout or delayed lockout.   Customers can customize based on specific requirements. The goal is to send findings versus a list of alarms that do not pinpoint a security incident.
      2.    
      3. The endpoint url above will use localhost and will send Webhooks to the application service listening on port 5000. URL to use in the configuration
        1. http://localhost:5000/webhook
        2. Add the Content-Type header with value of application/json as shown above to complete the webhook configuration.
        3. Click save to commit the configuration.
        4. Click save on the main Webhook configuration page
  2. Test the configuration is working following the next section

How to test the Integration with Logpresso SONAR SIEM

  1. To test the integration follow these steps
    1. download this curl command template and open 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 will send test data directly to the application to be processed and sent to Logpresso SONAR SIEM.
    5. The output of a successfully processed webhook test will return this text in the ssh terminal
      1. done sending event to sonar and check for http 200 and success count in response
    6. How to review the process logs from the web application
      1. sudo -s 
      2. journalctl -f -u splunk 
      3. This allows you to view the logs generated by the application.
      4. To log to a file and review with nano showing only the most recent 250 lines.
      5. journalctl -f -n 250 -u sonar  > /tmp/ztwebhook.log
      6. nano /tmp/sonar.log
      7. In the log below the response code from the Logpresso SONAR SIEM api call should show http 200 status code and successCount 1 to indicate the Finding was successfully created.
      8.   You can also view sonar.log for specific error messages.
    7. Login to the Logpresso SONAR SIEM Main Dashboard to run a search for all supernaZT source messages.  enter a search with sourcetype="supernaZT" to locate events sent from testing.
  2. Done


Logpresso SONAR SIEM SecOps administrators Integration Experience

  1. Once the integration has been tested, it is possible to build triggers from indexed parsed zero trust fields.



© Superna Inc