Tips für das Monit Plugin

Started by maverickunna, December 22, 2023, 01:57:06 PM

Previous topic - Next topic
Ich habe auf meiner Opnsense das Monitplugin installiert um mir Email-Benachrichtungen zukommen zu lassen. Ich würde gern, wenn eine bestimmte Firewall-Regel triggert eine Mail benachrichtigung erhalten. Dazu kam mir folgende Idee:

Die Block-matches sind in der /var/log/pf.today zu finden. Da drin würde ich gern einen bestimmten Text filtern als Alert-Auslöser.

Der Inhalt der Datei ist:
block drop in log quick on bge1 reply-to (bge1 192.168.101.20) inet from <testregel> to any label "a213d82fe0c4d091b2effce069a0a038" [ Evaluations: 99096 Packets: 25117 Bytes: 1492494 States: 0 ]

Dazu habe ich in der Weboberfläche bereits den Mailserver eingerichtet, ein Service setting erstellt und eine service Testregel deffiniert.

Der Servicetyp ist hier "file" der Pfad ist /var/log/pf.today und der Test ist die folgende Testregel:

Condition content = "testregel"
Action alert

Ich habe es auch schonmal mit einer selbstgeschriebenen Testdatei Probiert. Mein Problem ist, dass ich keine Matches der Fileprüfung erhalte. Weiss jemand wie ich die Condition schreiben muss, damit ich die Expression aus der Datei filtern kann?

Hallo maverickunna,
gehe mal zu "Firewall -> Diagnostics -> Statistics" dort auf "rules". Dort findest Du "filter rules". Wenn Du diese Liste öffnest, findest Du eine Liste, in der jede angelegte Firewallrule angezeigt wird. In dieser liste suchst Du deine Rule aus, mit der du in Monit arbeiten möchtest. In dieser Rule gibt es einen eindeutigen Zeichensatz hinter label. Z.B. "42e9d787749713a849d8e92432efdfaa". Diesen Zeichensatz fügst Du folgendermaßen in die Condition in Monit ein:
content = "42e9d787749713a849d8e92432efdfaa"

Das sollte es gewesen sein.
Gruß