Eyeglass Solutions Publication

Fortinet FortiAnalyzer Zero trust to Incident Sync

Home



 

Overview

Customers using FortiAnalyzer can leverage this integration to send real time zero trust alerts using webhooks and maintain full payload parsing using json defined fields.   The FortiAnalyzer Alert Ingestion Connector capability within the platform allows inbound webhook json payload to be parsed and turned into host status updates. 


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. Does not lookup endpoint ID to set client ip to endpoint id or end user id to set the end user id.  These entities would need to already exist or be created 

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 a NAS storage host created in the FortiAnalyzer platform.


What is FortiAnalyzer?

FortiAnalyzer provides an AIOps-ready, business-aware IT monitoring platform that offers unified, end-to-end observability across complex, converging infrastructures, from cloud-to-edge, for organizations of all sizes.

Integration Architecture



Solution Configuration in FortiAnalyzer 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. FortiAnalyzer on premise configured with https


Features

  1. Sends native Incident api calls and severity mapped from Superna to FortiAnalyzer
  2. Fields are mapped to FortiAnalyzer
  3. Updates to existing incidents in Superna Data Security Edition will not generate duplicate Incidents in FortiAnalyzer 
  4. Updates are not appended as comments since no api support exists to update with comments.


Configuration in FortiAnalyzer

  1. Login to the console
    1. Click the Settings administrators view
    2. Create an administrator profile with read write permissions to Incident & Events.  This is outside the scope of this guide.  Consult Fortinet documentation. Example below.

      1. image-20260602-195229.png
      2. Create an api admin and assign the profile above 
        1.  
        2. Create the trusted host ip section and enter the ip address of the Eyeglass VM, Set the admin profile to the one created above and set JSON API Access to Read-Write. NOTE Enter the dame of the Administrative domain you configured and select from the specify list.  Example below it is named PROD.

        3. Record the API token that is generated.
      3. If the GUI returns ipv6 error then use the CLI to create the user account available within the GUI where the trusthost ip and netmask is the ip address of the eyeglass VM.  This assumes the admin profile has already be created and named Superna-Zero-Trust. 

config system admin user
edit "superna"
set user_type api
set profileid "Superna-Zero-Trust"
set trusthost1 172.31.1.102 255.255.255.255
next
end
execute api-user generate-key superna

                            Record the api key generated from the last command


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

Configuration Step by Step

  1. Login to the eyeglass VM as admin user
  2. Follow the steps below
  3. From the support site download the integration run file
  4. scp or winscp copy the integration file to the eyeglass vm
  5. Login as admin over ssh
  6. sudo -s #enter admin password)
  7. chmod 777 /path to run file
  8. ./<integrationname>.run
  9. Input the configuration values into the TUI (Text User Interface)
  10. Press V to validate the inputs
  11. Press I to install
  12. The installation process should complete, review any errors for support.   The last question asks to start the service answer yes
  13. Complete

    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 FortiAnalyzer

    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 FortiAnalyzer.
      5. The output of a successfully processed webhook test will return this text in the ssh terminal
        1. done sending event to abssiem 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 fortianalyzer 
        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 fortianalyzer > /tmp/ztwebhook.log 
        6. nano /tmp/.log
        7. In the log below the response code from the FortiAnalyzer api call should show http 200 status code and successCount 1 to indicate the Finding was successfully created.
        8.   You can also view .log for specific error messages.
      7. Login to the FortiAnalyzer 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


    FortiAnalyzer SecOps administrators Integration Experience


    1. Exported Incident pdf


    FortiAnalyzer Playbook Integration



    Configuration of Connector

    1. Click Automations
      1. Create New
      2.  
      3. Select Generic
        1. Fill in the fields as per below and replace the ip address with the IP of your eyeglass VM,
          1. Click add custom http header and enter api_key and paste an API token created from Eyeglass Integrations Icon for the value.
            1.  
            2. The url to copy and paste and edit is here https://x.x.x.x/sera/v2/ransomware/criticalpaths 
    2.  
    3. Click OK to create.
    4. Click Playbooks and Create new playbook
      1.  
      2. Select above option and then select on demand
        1. Then Click Save
      3. Now drag an arrow of the on demand block to add an action
        1. Select Generic webhook and fill in the fields as shown
        2.  
    © Superna Inc