/
/

How to Send NinjaOne Webhooks Via SIEM

N1-0921 How to Send NinjaOne Webhooks to a SIEM Blog image_v1

While NinjaOne tracks historical actions taken within the platform, many organizations need to aggregate these logs in a Security Information and Event Management tool – commonly known as a SIEM. This blog discusses how to set up the process of relaying data from NinjaOne into a SIEM using webhooks that are delivered as the activities occur. You can also retrieve this information via the API.

Before getting started

  • Webhooks enable real-time event transmission from NinjaOne to your SIEM.
  • You can configure webhooks for specific events like device alerts, policy conditions, or integration-specific notifications.
  • In our example, we’re using Splunk, but any SIEM tool that ingests webhooks should work with this methodology.
  • Different integrations (ServiceNow, Zendesk, etc.) have unique webhook configuration methods.

Synchronize activity messages

NinjaOne is configured to stream webhooks into a Splunk HTTP Event Collector (HEC).

    1. Create an HTTP Event Collector (HEC) in Splunk as detailed here. This is the mechanism that will receive the webhooks being sent from NinjaOne. As part of the process of creating the HEC, a token will be generated. Take note of this token because NinjaOne will need it to authenticate when sending webhooks to Splunk.
    2. Log in to NinjaOne (user must have the “system administrator” role to perform this action) and navigate to Administration -> Apps -> API.
      1. Hover the question mark next to the API title bar, and click on “API Documentation.”
    3. In the same browser, navigate to this API endpoint.
      1. By completing step 2, you should be authenticated into the API docs webpage and be able to make API calls.
    4. Read the documentation for the endpoint here, and decide which activityTypes should convey over to Splunk.
      1. Activities in NinjaOne are categorized based on the type of action they relate to – for example, “CONDITION” would retrieve only logs related to triggered alerts and resets, “ACTIONSET” would be any automation being executed or action taken by a technician.
      2. Not every activityType may be relevant to your data collection needs, so only select the ones that need to be logged in Splunk. Additionally, you may append additional information by utilizing the “EXPAND” parameters.

 

    1. Customize this example payload
      1. Insert the URL of the Splunk HEC that was created in step 1 – ensure that your URL ends in /services/collector/raw in order for the webhooks from NinjaOne to be successfully parsed.
      2. Customize the activityTypes you want to relay to Splunk. Note that each activityType key uses a “*” as the value in the JSON payload.
      3. Customize desired expand parameters
      4. Insert token that was created for Splunk HEC in step 1 into the “value” under “headers” in the JSON payload – “Splunk” must precede the token, i.e. Splunk 123456
    2. Back in the tab you open in step 3, click “Try it out” and paste the example payload that was customized into the “request body” box. Click the execute button and a 204 response should be visible upon completion.

In conclusion

Once this process is complete, NinjaOne activities will be sent as webhooks to the SIEM where they can be ingested. Under the Notification Channels menu in NinjaOne, you’ll notice a webhook entry with no name. It’s important that this entry not be modified in any way to ensure webhooks are continually streamed to your SIEM. Under General -> Activities, there is an activity that can notify you if there have been issues with webhooks failing, or if the webhook becomes disabled. It’s recommended to enable those activities so that any interruptions in webhook activity can be identified and remediated quickly.

You might also like

Ready to simplify the hardest parts of IT?
×

See NinjaOne in action!

By submitting this form, I accept NinjaOne's privacy policy.

NinjaOne Terms & Conditions

By clicking the “I Accept” button below, you indicate your acceptance of the following legal terms as well as our Terms of Use:

  • Ownership Rights: NinjaOne owns and will continue to own all right, title, and interest in and to the script (including the copyright). NinjaOne is giving you a limited license to use the script in accordance with these legal terms.
  • Use Limitation: You may only use the script for your legitimate personal or internal business purposes, and you may not share the script with another party.
  • Republication Prohibition: Under no circumstances are you permitted to re-publish the script in any script library belonging to or under the control of any other software provider.
  • Warranty Disclaimer: The script is provided “as is” and “as available”, without warranty of any kind. NinjaOne makes no promise or guarantee that the script will be free from defects or that it will meet your specific needs or expectations.
  • Assumption of Risk: Your use of the script is at your own risk. You acknowledge that there are certain inherent risks in using the script, and you understand and assume each of those risks.
  • Waiver and Release: You will not hold NinjaOne responsible for any adverse or unintended consequences resulting from your use of the script, and you waive any legal or equitable rights or remedies you may have against NinjaOne relating to your use of the script.
  • EULA: If you are a NinjaOne customer, your use of the script is subject to the End User License Agreement applicable to you (EULA).