Eyeglass Solutions Publication

ManageEngine SIEM Log360 Zero Trust Alarm Integration SYSLOG

Home



 

Overview

Customers using ManageEngine SIEM Log360 solution can now leverage a native integration that initiates native ingestion API alerts from Security Editions zero trust alerts.   Customers can augment the capabilities of ManageEngine SIEM Log360with threat intelligence and Cyber Storage capabilities of Superna Security Edition.

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

Solution Overview

Superna Defender Zero Trust API receives webhook alerts and parses the key data into a syslog UDP or TCP event that is sent to log360.  ManageEngine SIEM Log360 (Security Information and Event Management) is a modular architecture that provides real-time visibility of your IT infrastructure, which you can use for threat detection and prioritization. 

Advanced Zero Trust Capabilities

  1. Webhook to native syslog alarm integration

What is ManageEngine SIEM Log360?

ManageEngine SIEM Log360 (Security Information and Event Management) is a modular architecture that provides real-time visibility of your IT infrastructure, which you can use for threat detection and prioritization.


Integration Architecture



Solution Configuration in ManageEngine SIEM Log360and Defender Zero Trust

Prerequisites

  1. Installed Security Edition
  2. Eyeglass OS appliance version 15.5
    1. cat /etc/os-release
  3. License key for the Zero Trust API 
  4. ManageEngine SIEM Log360


Configuration in ManageEngine SIEM Log360

The steps below create a custom log parsing rule and 


  1. Login to your Log360 UI to Create a custom parsing rule
    1. SIEM --> Settings --> Custom log Format
    2.  
    3. Click Add log format and Type Superna
    4. Now click Manage Parse Rules
    5. Add parser rule
    6. Rule name Superna and method Delimiter with delimiter as comma
      1.  
      2. Download the text from this link (right click download as file) and Open the file and copy all the text and paste into the left hand box under the Log heading and click Save. (NOTE the parsing and delimiter values must be set correctly for auto field extraction to work correctly.)
      3. You will see fields in the right hand window to assign field names as follows below.  Enter the field names exactly as shown.
      4.  
      5.  
      6.  
    7. Click Save rule
    8. The custom parsing rule step is now complete.
  2. SIEM --> Settings --> Device Management -->  Syslog devices
    1. Follow the steps below to send test UDP events to leverage auto device configuration for auto device discovery.  Once events are viewed in the Event Receiver viewer the syslog device should appear automatically.  The ip address will be listed if reverse DNS lookup fails.  
    2.  
    3. To manually add the eyeglass device, you can use the following steps.  Only use one method to register the device.
      1. Go to devices
        1.   
        2. Add Device for syslog devices
          1.  
          2. Add the Eyeglass ip and click Add
            1.    

    4. Now edit the device in the SIEM settings section to update the log type to the custom parsing log format created above.

      1. Set the log type to Superna custom to ensure the log parsing is applied to all logs for the Eyeglass vm.  The custom log parsing
    5.   
    6. Update the device
  3. Log parsing configuration steps are completed.  Logs sent from the integration will now be parsed correctly.

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 ManageEngine SIEM Log360  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 ManageEngine SIEM Log360

Configuration Step by Step

Configure the Service start and python integration files
  1. Login to eyeglass vm using ssh as the admin user to create zero trust application
    1. sudo -s 
    2. mkdir -p /opt/superna/cgi-bin
    3. touch /opt/superna/cgi-bin/log360.py
    4. touch /opt/superna/cgi-bin/log360.sh 
    5. sca:users /opt/superna/cgi-bin/log360.*
    6. chmod +x  /opt/superna/cgi-bin/log360.py 
    7. chmod +x /opt/superna/cgi-bin/log360.sh 
  2. Create systemd configuration
    1. nano  /etc/systemd/system/log360.service
    2. Copy the values below and Paste these contents into the file opened in nano editor in the step above
    3. Save the file 
      1. press control+x
      2. Answer yes to save and exit
  3. Restart systemd
    1. systemctl daemon-reload
  4. Set to enabled
    1. systemctl enable log360
  5. Create log360.sh service script
    1. Copy the values below
    2. nano /opt/superna/cgi-bin/log360.sh
    3. paste the script values below into the nano editor
    4. Save the file
      1. press control+x
      2. Answer yes to save and exit the editor
  6. Once the script is created below,  do not start the service at this step.
  7. Done

### Service definition text to copy into /etc/systemd/system/log360.service. ###
[Unit]
Description=Webhook listener for Zero Trust api translations and integrations
After=network.target

[Service]
User=sca
Group=users
WorkingDirectory=/opt/superna/cgi-bin
Environment="PATH=/opt/.pyenv/shims:/usr/bin:/usr/local/bin"

ExecStart=/bin/bash /opt/superna/cgi-bin/log360.sh

[Install]
WantedBy=multi-user.target


Copy paste this for sh script


### service launch script /opt/superna/cgi-bin/log360.sh ### 
#!/bin/bash
export PATH="/opt/.pyenv/bin:$PATH"
/opt/.pyenv/shims/python3 log360.py


Configure the python packages and customize the log360 integration python code

  1. Now install required python packages for the SCA users that will run the service.  NOTE this is the same user that runs the main eyeglass application code.
    1. su - sca  (you may need to install the packages as the root user)
    2. pip3 install flask boto3 requests logging
    3. exit 
    4. NOTE: you must type exit to ensure you are the root user for the remaining steps.  Type whoami to make sure you are the root user.
  2. 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 and replace the yellow sections to match your log360 endpiont ip address, port and set TCP flag to false if you need UDP. 
      1.  
        SYSLOG_SERVER = 'x.x.x.x' # Replace with your syslog server address
        SYSLOG_PORT = 514 # Replace with your syslog server port
        FACILITY = 13 # Facility code for security audit log
        SEVERITY = 2 # Severity level for critical messages
        USE_TCP = False # Set this flag to True for TCP, False for UDP
  1. nano /opt/superna/cgi-bin/log360.py
  2. Open the file locally in Windows OS notepad and use control-A or select all the text in the python template
  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 
  5. Start the service and verify it is running
    1. systemctl start log360
    2. systemctl status -l log360 
    3. Verify the service is started successfully and returns "active and running".

  6. 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. 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 ManageEngine SIEM Log360

  1. To test the integration follow these steps
  2. Prerequisites In ManageEngine SIEM Log360and Eyeglass:
    1. install the ManageEngine SIEM Log360agent on a test machine.  Record the ip address of this test machine.
    2. Get the ip address of the Eyeglass vm
    3. download this curl command template and open with a text editor and locate the ip address of eyeglass at the very end of text and replace the ip address with the IP address of your eyeglass vm.
      1. Also edit the client ip section of the curl command by searching the text clientIPs":["172.31.1.45"] and replace only the ip address with the IP of the test machine running the ManageEngine SIEM Log360agent. 
      2. This will now simulate a zero trust alert on this host when the curl command sends the webhook payload to the integration python code to process. 
    4. Copy all the text in the text editor
    5. ssh to the eyeglass vm as the admin user
    6. Paste the entire cli command text 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 ManageEngine SIEM Log360Integration service that is running on the Eyeglass VM.
    7. The output of a successfully processed webhook test will return this text in the ssh terminal
      1. done sending event to log360 and check for http 200 and success count in response
    8. How to review the process logs from the web application
      1. sudo -s 
      2. journalctl -f -u log360 
      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 log360  > /tmp/log360.log
      6. nano /tmp/log360.log
      7. In the log below the response code from the ManageEngine SIEM Log360 api call should show http 200 status code and successCount 1 to indicate the Finding was successfully created.
      8.   You can also view log360.log for specific error messages.
    9. Login to the ManageEngine SIEM Log360 and verify lot events can be seen in the log event viewer
      1.  
  3. Done


ManageEngine SIEM Log360 SecOps administrators Integration Experience 


Once the custom parsing rules and device has been updated, any new messages will now be parsed and all fields can be extracted and used for further trigger correlation rules.

  1. Example log that is fully parsed
    1.  
  2. Example search with log type set to Superna_custom
    1.  
  3. Create an Alert Rule for Superna Zero Trust Events
    1. Search Criteria - Criteria = (incident_type:event_type=threat_detection) AND (vendor:device_vendor=Superna) AND (LogType:Superna_custom) 
    2.  
  4. Fill in the name of the customer alert example Superna Zero Trust Alert and notification rules.
    1.  
    2. Set the log source to the ip address host name of the eyeglass VM device.
      1.  
© Superna Inc