• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Logs Lesen/Auswerten und per Mail verschicken

Hallo

ich habe folgende Situation:
Ich habe ne Firewall mit iptables am Laufen, nun möchte ich gerne wenn in meiner /var/log/firewall sachen auflaufen die gedroppt wurden, gerne ne Mail.
Ich hab mir gedacht vlt gibts ne Syslog funktion die das merkt, und dann ggf sendmail ne Mail generiert und mir schickt.

Mir Sendmail hatte ich mich schon bei meinem IDS mit Snort beschäftigt, lief dann auch mit Snortnotify aber nach 1 Woche und nach "keine ahnung wiso das nun geht" :)


Oder kennt jemand eine andere Lösung für das "Problem"?

Vielen Dank

edit: BS openSUSE11

ps. ich hab das Fred auch hier gepostet, und werde die Vorschläge immer rüberposten
http://www.linuxforen.de/forums/showthread.php?t=265457
 

framp

Moderator
Teammitglied
Mit
Code:
man syslog-ng.conf
erhälst Du die Syntax wie Du /etc/syslog-ng/syslog-ng.conf ändern musst, damit du automatisch eine eMail bekommst. Allerdings rate ich Dir dabei vorsichtig zu sein. Wenn jemand Deine FW absichtlich stresst erhälst Du für jeden DROP eine eMail - und das kann je nach Dauer des Angriffs eine Menge Holz sein :roll:Also solltest Du einen Mengenfilter im Script, welches die eMail schreibt, einbauen.
 
OP
C

calimero1986

Newbie
Danke Framp

hast dus vielleicht schonmal realisiert?

Muss ich Sendmail dazu noch konfigurieren?

Oder kennt jemand nen howto?

Vielen Dank
 

framp

Moderator
Teammitglied
calimero1986 schrieb:
...hast dus vielleicht schonmal realisiert?...
Ja, leider habe ich das System nicht mehr am Laufen, aber die Config und das Script existieren noch ;)
Code:
#!/usr/bin/perl -n
# strip the priority
s/^<[\d]{1,2}>//;
# mail the cleaned up message
system("echo \"$_\" | /usr/bin/mail -s \"SSHD request alert $_\" root\@framp.home");
Das sind die notwendigen Enfügungen in /etc/syslog-ng/syslog-ng.conf. Danach ist ein Restart des syslogs notwendig.
Code:
filter f_sshd      { facility(auth,authpriv) and match ("Failed password") and match("sshd"); };
destination sshcrit { file("/var/log/sshd/sshd.log"); program("/usr/local/sbin/mail_sshd_events"); };
log { source(src); filter(f_sshd); destination(sshcrit); };
...Muss ich Sendmail dazu noch konfigurieren?...
Ja
...Oder kennt jemand nen howto?...
Hatte das damals mit googeln und man hinbekommen. Aber vielleicht kennt ja jemand anderes ein HowTo :roll:
 

/dev/null

Moderator
Teammitglied
Hi calimero1986,

das kleine Tool "fail2ban" ist (natürlich auch unter Nutzung von sendmail/postfix) von Hause aus in der Lage, bestimmte Informationen automatisiert per Mail zu verschicken. Zumindest kannst du dir die dazu verwendeten Mechanismen als Grundlage eigener Scripte verwenden.
Vielleicht ist fail2ban überhaupt schon als Problemlösung geeignet?

Das Argument von framp mit dem "vielen Holz" kann ich nur bekräftigen ... .

MfG Peter
 
OP
C

calimero1986

Newbie
Hallo,

Danke schonmal für die große Hilfe, fail2ban werd ich mir auch mal anschauen, hatte letzte Woche noch ein paar andere Probleme und werd mir heute Syslog wieder zur Brust nehmen :)

MfG
 
Oben