Discovering Sources Not Emitting Logs to SIEM

Some time ago, I became concerned about unnoticed sources that had stopped sending logs to our SIEM system. This issue can have serious consequences, ranging from undetected attacks to compliance violations, so I began searching for a reliable solution.

The primary challenge is that different log sources have different expected activity levels. For example, an enterprise firewall is unlikely to go a single second without generating connection logs. However, for an IPS, the situation is different; if we’re fortunate, we might go hours without a single alert. Similarly, a Domain Controller is likely to generate security or DNS logs frequently, but a DHCP server might not produce any logs for hours. The conclusion is that we can’t rely on a simple mechanism that just detects when a source stops emitting logs. Instead, we need a method that categorizes different sources and assigns acceptable time thresholds for each.

At that time, our enterprise SIEM was Splunk. I must say, this is one of the best systems I’ve ever worked with – very reliable and easy to learn. The interface is intuitive, so I was able to get up to speed quickly. Although the SIEM was managed by our SOC team, I decided to delve deeper into how it works to ensure that my company gets maximum value from it.

I categorized our log sources by index and by their acceptable non-emitting time. Here’s how it looked based on my previous examples:

SourceIndexAlert Threshold (Hours)
Firewall01traffic1
Firewall01ips8
Firewall01operations48
DC01eventlog1
DC01dns1
Server01dhcp24
SQL01mssql24

After categorizing the sources, I requested our SOC team to create separate Splunk Alerts for each threshold. For example, the Splunk search query for a log source not reporting for more than 1 hour might look like this:

A separate use case was created for each threshold.

Was this enough? Not for me. It’s possible that an alert could be missed by the SOC team or generated only once. To address this, I implemented a backup solution: a daily report that searches the last 14 days, and a weekly report checking the last 90 days, for all required sources. These reports show when logs were last emitted. The dashboard source might look like this:

Both the use case alerts and the reports assured me that all our logs were being emitted as expected.

If you have any questions or want to leave a comment, please feel free to do so.

Share Us

Leave a Reply

Your email address will not be published. Required fields are marked *