<!DOCTYPE html>
<html><head>
    <meta charset="UTF-8">
</head><body><p>As we all know Suricata is an IDS engine and not an IDSystem. I generally refer to it as IDE. It's all about what you feed it and how you manage the information that it generates which determines real usage abilities.</p><p>My answer to the original question will be yes, there are many ways to have Suricata create heartbeat alerts. Most of them will require some add-ons to Suricata's ability to do its own task. One thing to remember is that Suricata by itself doesn't do any alerts....it needs signatures to alert on. It's really a case of can you either create a rule or manage the regular IDS events in a manner that will alert you to a "dead" system. The answer to that is yes and in the commercial world IDS systems that rely on Suricata as an IDE, deliver this in many ways.<br></p><p>You could setup a rule to alert on all TCP traffic between two nodes, but only raise an "alert" every hour or whatever time interval you choose. The alert I refer to is not an IDS event but an email for example. You could also setup alerts based on minimum or maximum false positives or many other factors. All of these will require some scripting/coding/manipulation of events generated by Suricata.<br></p><p>Actually the simplest way could be to create an icmp rule, create a script to do a ping request, and then run the script as a cron job every so often. Of course you will still need to deliver the event to yourself somehow. <br></p><p><br></p><blockquote><p>On August 1, 2017 at 7:13 AM Kerry Milestone <Kerry.Milestone@ed.ac.uk> wrote:</p><p>In many ways, I believe the heartbeat for something like an IDS must be<br>out-of-band which tests the entire service platform and not just the<br>application itself.</p><p>Something which has gone through as many as possible pathways, for<br>instance from IP -> ICMP|TCP|UDP -> stream -> app etc. Done by sending<br>some novel payloads or maybe an odd flag set on a DNS lookup, or<br>requesting a HTTP resource with something specific in the middle of it,<br>hosting a URL with a slightly bent SSL signature, maybe something which<br>is fragmented or is a long file, forcing suri to do some LUA (or Rust)<br>if adventurous.</p><p>This way an agent, which sends the packets, will report ensuring that<br>the expected alert was raised within n amount of time. It works to just<br>graph the stats and alert on unexpected deltas, but this does not give<br>you the safe business reliance of the heartbeat originally intended,<br>especially so if deployed in-line. This reporting latency can be very<br>quick and a useful measure of the system such as when using redis (1)<br>and eve flow output.</p><p>Other than the fairly comprehensive stats output, I'm not sure Suricata<br>should support a special heartbeat output (thus is internally slightly<br>'different' to real traffic) apart from one day as part of an in-line HA<br>instance to keep state and session(stream) databases consistent with the<br>running peer.</p><p>On 31/07/17 23:22, Jason Ish wrote:</p><blockquote><p>Or, if using eve, just look for the stats event record that is published<br>periodically. Its presence alone could be used to tell you that Suricata<br>is alive. Values within it can be used to see if packets are actually<br>being read.</p></blockquote><p>On 28/07/17 15:38, Jason Ish wrote:</p><blockquote><p>No, Suricata does not support this. I know others have accomplished this<br>by using a custom rule and periodically injecting a special packet into<br>their network as a heartbeat. This is more a complete test as it tests<br>the actual packet reception by the monitoring system as well.</p></blockquote><p>(1) <a href="https://redis.io/topics/latency-monitor">https://redis.io/topics/latency-monitor</a><br></p><p>--<br>The University of Edinburgh is a charitable body, registered in<br>Scotland, with registration number SC005336.</p><p>_______________________________________________<br>Suricata IDS Users mailing list: oisf-users@openinfosecfoundation.org<br>Site: <a href="http://suricata-ids.org">http://suricata-ids.org</a> | Support: <a href="http://suricata-ids.org/support/">http://suricata-ids.org/support/</a><br>List: <a href="https://lists.openinfosecfoundation.org/mailman/listinfo/oisf-users">https://lists.openinfosecfoundation.org/mailman/listinfo/oisf-users</a><br></p><p>Conference: <a href="https://suricon.net">https://suricon.net</a><br>Trainings: <a href="https://suricata-ids.org/training/">https://suricata-ids.org/training/</a><br></p></blockquote><p><br></p><div class="io-ox-signature"><p>Kind regards<br></p><p>Amar Rathore</p><p>CounterSnipe Systems LLC <br>Tel: +1 617 701 7213 <br>Mobile: +44 (0) 7876 233333 <br>Skype ID: amarrathore <br>Web: www.countersnipe.com <http://www.countersnipe.com/> <br><br></p><p><span style="font-size: 8pt;">This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from your system.</span></p><p><span style="font-size: 8pt;">E-mail transmission cannot be guaranteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions.</span> <br></p></div></body></html>