Cribl Zero Trust Incident Ingestion
- Overview
- Support Statement
- Limitations
- Solution Overview
- What is Cribl?
- Integration Architecture
- Solution Configuration in Cribl and Defender Zero Trust
- Prerequisites
- Features
- Configuration in Cribl Json endpoint ECS format
- Configuration in Cribl Json endpoint HEC format
- Configuration Steps on Eyeglass Virtual Machine
- High Level steps
- Configuration Step by Step
- Configure the Service start and python integration files
- Configure the python packages and customize the Cribl integration python code
- Configure Defender Zero Trust Webhooks
- How to test the Integration with cribl
- Cribl Administrator Integration Experience
Overview
Customers using Cribl can leverage this integration to send real time zero trust alerts using webhooks and maintain full payload parsing using json defined fields. The Cribl Alert Ingestion Connector capability within the platform allows inbound webhook json payload to be parsed and turned into host status updates. Customers can then use Cribl to use the transformation and multiple destination sync to various security tools.
Support Statement
-
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
- NOTE: This guide does not provide any configuration for routes, pipelines or destinations. It is assumed customers will configure where the 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 offers alerts mapped to ECS format (Elastic Cloud Schema) or HEC format and sent to Cribl HTTPS json endpoint stream.
What is Cribl?
Provides a data engine and platform for IT and security teams to manage machine data like logs, metrics, and traces. Its core function is to collect, process, and route this data from any source to any destination, helping organizations control costs, reduce risk, and gain better visibility. Key products like Cribl Stream and Cribl Edge allow users to filter, enrich, and route data in real-time.
Integration Architecture

Solution Configuration in Cribl and Defender Zero Trust
Prerequisites
- Installed Data Security Edition subscription product
- Eyeglass OS appliance version 15.5
- cat /etc/os-release
- License key for the Zero Trust API
- Cribl or Cribl Enterprise
Features
- Sends native Incident api calls and severity mapped from Superna to Cribl
- Fields are mapped to Cribl ECS format
- Optional setting to format has HEC format (Splunk HEC) and send to the splunk HEC endpoint
Configuration in Cribl Json endpoint ECS format
- Login to the console
- Edit the http data source in your workspace to add an API token
- Record the token value
- Record the endpoint url for the bulk json input endpoint.
- Done.
Configuration in Cribl Json endpoint HEC format
Note: Only follow these steps if you plan to use the Splunk HEC endpoint with Cribl and HEC format = true.
- Login to console
- Locate Data sources
- Edit the in_splunk_hec data source
- Add an authentication token
- Record the endpoint url and token value for the steps below
- Done
Configuration Steps on Eyeglass Virtual Machine
High Level steps
- Create python location to run the application on the Eyeglass vm
- Create python main application script
- Create linux systemd service and set to auto start
- Create Zero Trust configuration in Defender
- Update the main script to customize with Cribl python code
- Test the script is running as a service
- Create a test event in Defender to validate the alerts appear as indexed parsed events in Cribl
Configuration Step by Step
- Login to the eyeglass VM as admin user
- Follow the steps below
Configure the Service start and python integration files
Configure the python packages and customize the Cribl integration python code
- Customize the application code by downloading the python code from this link to download (right click download as)
- Open the python template file in a text editor. NOTE: make sure to only replace the yellow values (endpoint url for http ingestion of your Cribl instance, the api token)
- Locate this section in the file, replace yellow highlights. Change the port if different from below. Comment out ECS endpoint and uncomment Splunk HEC if using HEC format and set the hec_format = True to enable HEC format.
- # === Cribl Configuration ===# Use your Cribl Stream Cloud HTTP Bulk API input endpointCRIBL_URL = "https://default.main.goofy-shamir-iqst5ne.cribl.cloud:10080/cribl/_bulk" # Use this for ECS format JSON payload#CRIBL_URL = "https://default.main.goofy-shamir-iqst5ne.cribl.cloud:8088/services/collector" # Use this for Splunk HEC formatCRIBL_TOKEN = "xxxxxxxxxx" # for ecs or HEC format authentication# === Format Toggle ===# Set to True when sending to HEC input (port 8088)# Set to False when sending to ECS /bulk input (port 10080)hec_format = False
- Paste the updated script into the production file
- nano /opt/superna/cgi-bin/cribl.py
- Open the file locally in Windows OS notepad and use control-A or select all the text.
- Paste the clipboard into the ssh terminal session with the open nano editor file
- save the file
- press control+x
- Answer yes to save and exit the nano editor
- Start the service and verify it is running
- systemctl start cribl
- systemctl status -l cribl
- Verify the service is started successfully and returns "active and running".
- If the service does not start do not proceed and double check the steps above are completed.
Configure Defender Zero Trust Webhooks
- The next step creates an Zero Trust Webhook URL.
- Configure Zero Trust endpoint in Integrations icon, Webhooks tab.
- 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.
- 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
- http://localhost:5000/webhook
- Add the Content-Type header with value of application/json as shown above to complete the webhook configuration.
- Click save to commit the configuration.
- Click save on the main Webhook configuration page
- Configure Zero Trust endpoint in Integrations icon, Webhooks tab.
- Test the configuration is working following the next section
How to test the Integration with cribl
- To test the integration follow these steps
- download this curl command template and open 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 will send test data directly to the application to be processed and sent to cribl.
- The output of a successfully processed webhook test will return this text in the ssh terminal
- done sending event to abssiem and check for http 200 and success count in response
- How to review the process logs from the web application
- sudo -s
- journalctl -f -u cribl
- This allows you to view the logs generated by the application.
- To log to a file and review with nano showing only the most recent 250 lines.
- journalctl -f -n 250 -u > /tmp/ztwebhook.log
- nano /tmp/.log
- In the log below the response code from the cribl api call should show http 200 status code and successCount 1 to indicate the Finding was successfully created.
- You can also view .log for specific error messages.
- Login to the cribl Main Dashboard to run a search for all supernaZT source messages. enter a search with sourcetype="supernaZT" to locate events sent from testing.
- Done
Cribl Administrator Integration Experience

- HEC formatted event data
© Superna Inc