syslog-ng Filter erzeugt Schleife
Hallo!
Im Zuge meiner Abschlussarbeit, bin ich dabei ein IDS mittels Snort zu installieren. Es läuft alles Prima. Viele Probleme wurden gelöst...bis auf eins.
Snort loggt alle Alarme im unified-Format auf die Platte. Dort werden diese von 2 unterschiedlichen Barnyard Prozessen entgegengenommen und einmal in eine MySQL Datenbank geschrieben und einmal in Syslog Meldungen umgewandelt. Dies funktioniert wunderbar!
Nun will ich Priorität 1 Alarme mittels einem Filter in syslog-ng per mail an den zuständigen Admin schicken. Doch mein Filter erzeugt eines Schleife und bombardiert die mailq, obwohl ich mittels Nessus nur ca. 3-4 Priorität 1 Alarme auslöse, die ich auch alle mittels BASE sehe! D.h. selbst wenn der Nessus Scan vorbei ist, wird die mailq trotzdem durch syslog-ng zubombardiert. Irgendwie entsteht eine Schleife...?
Ich habe nun die syslog-ng.conf etwas gekürzt und trotzdem sehe ich den Fehler nicht.
Sensor1:/usr/local/bin# cat /etc/syslog-ng/syslog-ng.conf
source src {unix-stream("/dev/log"); internal();};
destination email{program("/usr/local/bin/alert_mail.sh");};
filter high {match("\[Priority: 1\]");};
log {source(src);filter(high); destination(email);};
Ich habs auch schon mit folgendem Filter versucht:
#Quelle
source snort_auth {
internal();
unix-stream("/dev/log");
};
#Ziel = alert_mail
destination df_e_mail {program ("/usr/local/bin/alert_mail.sh "); };
Falls es hilft, alert_mail.sh:
Sensor1:/usr/local/bin# cat /usr/local/bin/alert_mail.sh
#!/bin/sh
cat << EOF | mail -s "High Priority Snort Alert" Sub-Zero@xxx.de
Alarm der Prioritaet 1
EOF
Die erste Meldung wird korrekt ausgeführt. Mache ich ein ps -ef so sehe ich das ausgeführte skript. Führe ich ne Sekunden später ps -ef aus, so ist das Skript nicht mehr da und 1 Sekunde später läuft es wieder. top zeigt diesen Prozess als Zombie an. Es entsteht so eine Schleife, die ich nur anhalten kann wenn ich syslog-ng stoppe. Starte ich syslog-ng wieder so tut er nichts, bis er wieder neue Alarme mit Priorität 1 erhält --> neue Schleife, obwohl es nur 4 Meldungen der Priorität 1 sind, die durch Nessus erzeugt werden.
Irgend eine Idee?
Danke und Gruß
Sub-Zero
Im Zuge meiner Abschlussarbeit, bin ich dabei ein IDS mittels Snort zu installieren. Es läuft alles Prima. Viele Probleme wurden gelöst...bis auf eins.
Snort loggt alle Alarme im unified-Format auf die Platte. Dort werden diese von 2 unterschiedlichen Barnyard Prozessen entgegengenommen und einmal in eine MySQL Datenbank geschrieben und einmal in Syslog Meldungen umgewandelt. Dies funktioniert wunderbar!
Nun will ich Priorität 1 Alarme mittels einem Filter in syslog-ng per mail an den zuständigen Admin schicken. Doch mein Filter erzeugt eines Schleife und bombardiert die mailq, obwohl ich mittels Nessus nur ca. 3-4 Priorität 1 Alarme auslöse, die ich auch alle mittels BASE sehe! D.h. selbst wenn der Nessus Scan vorbei ist, wird die mailq trotzdem durch syslog-ng zubombardiert. Irgendwie entsteht eine Schleife...?
Ich habe nun die syslog-ng.conf etwas gekürzt und trotzdem sehe ich den Fehler nicht.
Sensor1:/usr/local/bin# cat /etc/syslog-ng/syslog-ng.conf
source src {unix-stream("/dev/log"); internal();};
destination email{program("/usr/local/bin/alert_mail.sh");};
filter high {match("\[Priority: 1\]");};
log {source(src);filter(high); destination(email);};
Ich habs auch schon mit folgendem Filter versucht:
#Quelle
source snort_auth {
internal();
unix-stream("/dev/log");
};
#Ziel = alert_mail
destination df_e_mail {program ("/usr/local/bin/alert_mail.sh "); };
- Filter für Priorität 1 Alarme
- Alarmmeldungen verschicken
Falls es hilft, alert_mail.sh:
Sensor1:/usr/local/bin# cat /usr/local/bin/alert_mail.sh
#!/bin/sh
cat << EOF | mail -s "High Priority Snort Alert" Sub-Zero@xxx.de
Alarm der Prioritaet 1
EOF
Die erste Meldung wird korrekt ausgeführt. Mache ich ein ps -ef so sehe ich das ausgeführte skript. Führe ich ne Sekunden später ps -ef aus, so ist das Skript nicht mehr da und 1 Sekunde später läuft es wieder. top zeigt diesen Prozess als Zombie an. Es entsteht so eine Schleife, die ich nur anhalten kann wenn ich syslog-ng stoppe. Starte ich syslog-ng wieder so tut er nichts, bis er wieder neue Alarme mit Priorität 1 erhält --> neue Schleife, obwohl es nur 4 Meldungen der Priorität 1 sind, die durch Nessus erzeugt werden.
Irgend eine Idee?
Danke und Gruß
Sub-Zero
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 83503
Url: https://administrator.de/contentid/83503
Ausgedruckt am: 22.11.2024 um 20:11 Uhr