Moin, Christoph
Machen wir hier auch. Hat diverse Vorteile. Wenn mal eine Platte abraucht oder man einen Einbruch vermutet und man noch die letzte Logfiles sehen möchte, ist das nützlich. Oder wenn man Logfiles zur möglichen Strafverfolgung für eine Weile aufbewahren muss.
Aus diesem Grunde und zur zentralen Auswertung der Logs wollte ich diesen log Server benutzen.
Postfix loggt über Syslog. Das schiebst du einfach an den syslog-ng und machst dort einen Filter-Eintrag. Wir sichern jeden Host einzeln. Mit file("/home/log/$HOST/mail.log")
Genau so wollte ich es auf dem log Server auch haben, dass für jeden überwachten Server ein eigenes Verzeichnis für die logs existiert.
kannst du dann automatisch ein Verzeichnis pro Server anlegen und schiebst die Postfix-Logs da rein. Firewall-Logs (sofern du iptables benutzt) ist auch kein Problem - hier schiebst du einfach die Daten des kern.log an den zentralen Syslog-Server
Ok. das kann ich in der Firewall über das Webinterface angeben.
Apache-Logs würde ich nicht über Syslog schieben, denn Syslog ist UDP und die Größe der Zeilen ist begrenzt, so dass erfahrungsmäßig gerne mal Daten abgeschnitten werden. Dann mounte dir lieber über NFS die /var/log-Verzeichnisse und schreibe eine kleine Shell-Datei, um die Dateien runterzukopieren. Die kannst du dann auch genauso automatisiert mit awstats analysieren. mailgraph musst du vermutlich beibringen, dass er nicht /var/log/mail.log auswerten soll, sondern andere Logfiles.
Ist NFS nicht ein potentielles Sicherheitsrisiko? Kann man nicht die logs per Skript vom Apache oder anderen Diensten, die nicht über syslog laufen, über ssh/scp auf den log Server übertragen? Wäre das nicht sicherer? Ich habe da noch nicht so viel Erfahrung, wie man das am besten in Produktivumgebungen realisiert. Die Server, von denen ich die logs auf den zentralen log Server schieben möchte, stehen in einer DMZ, wobei für jeden Dienst, der nach außen angeboten wird, ein eigener Server benutzt wird.
Gruß Stefan