Syslog Server für ESXi

Nach dem ich entdeckt hatte, dass der ESX so intelligent ist und seine Logs standardmässig auf einer RAM-Disk speichert, musste natürlich eine andere Lösung her. Kann ja nicht sein, dass die Logs nach einem Ausfall einfach nicht mehr vorhanden sind.
Somit habe ich mich für eine zentrale Logspeicherung mit Syslog entschieden.

Da ich sowas noch nie eingerichtet hatte, war ich mir nicht ganz sicher, was auf mich zu kommen würde. Nun aber kann ich sagen, schreckt nicht davor zurück! Das Einrichten geht schnell und einfach und der Gewinn daraus ist enorm.

Auf meinem Ubuntu Server habe ich mich für syslog-ng entschieden, welches problemlos über die Paketquellen installiert werden kann:

apt-get install syslog-ng

Nun muss die Konfiguration unter /etc/syslog-ng/syslog-ng.conf angepasst werden.
Eingefügt habe ich die folgenden Punkte für jeweils einen ESX und einen normalen Ubuntu-Server:

source s_udp
{
        udp(port(514));
};

destination d_server1 {
        file("/var/log/server1.log");
};

filter f_server1 {
        host("192.168.1.45");
};

log {
        source(s_udp);
        filter(f_server1);
        destination(d_server1);
};

destination d_server2 {
        file ("/var/log/server2.log");
};

filter f_server2 {
        host("192.168.1.23");
};

log {
        source(s_udp);
        filter(f_server2);
        destination(d_server2);
};

Somit sei es den beiden Hosts mit der Adresse 192.168.1.23 und 192.168.1.45 über den Port UDP/514 erlaubt, Daten an den Syslog-Server zu senden, welche jeweils unter /var/log/server1.log und server2.log abgelegt werden.

Noch neustarten und gut ist:

/etc/init.d/syslog-ng restart

Nun geht es weiter auf den zu überwachenden Servern!
Hier fügt man folgende Zeile in die Konfiguration unter /etc/syslog.conf ein:

*.* @192.168.1.25

192.168.1.25 ist dabei natürlich die IP des Syslog-Servers. Aktuell wird hier alles geloggt, was so auf der Maschine abgeht. Wer das ganze noch genauer spezifizieren will, der findet entsprechende Parameter bei Google.
Auch hier ist noch ein Neustart nötig und schon sind die entsprechenden Infos auf dem Syslog-Server ersichtlich:

/etc/init.d/sysklogd restart

Auf dem ESX Server kann der Syslog-Server über den vSpehre-Client gesetzt werden. Einfach unter „Configuration“ > „Advanced Settings“ > „Syslog“ > „remote“ IP und Port eintragen.

Und nun dürft ihr auch schon all die Kiddies und Bots bewundern, welche versuchen euer SSH-Passwort zu knacken 😉

Nov 30 12:17:17 server1 sshd[11775]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=180.227.218.245  user=root
Nov 30 12:17:19 server1 sshd[11775]: Failed password for root from 180.227.218.245 port 34035 ssh2
Nov 30 12:17:22 server1 sshd[11777]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=180.227.218.245  user=root
Nov 30 12:17:23 server1 sshd[11777]: Failed password for root from 180.227.218.245 port 34311 ssh2
Nov 30 12:17:26 server1 sshd[11779]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=180.227.218.245  user=root
Nov 30 12:17:28 server1 sshd[11779]: Failed password for root from 180.227.218.245 port 34525 ssh2
Nov 30 12:17:30 server1 sshd[11784]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=180.227.218.245  user=root
Nov 30 12:17:33 server1 sshd[11784]: Failed password for root from 180.227.218.245 port 34770 ssh2
Nov 30 12:17:35 server1 sshd[11795]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=180.227.218.245  user=root
Nov 30 12:17:37 server1 sshd[11795]: Failed password for root from 180.227.218.245 port 35037 ssh2
Nov 30 12:17:39 server1 sshd[11800]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=180.227.218.245  user=root
Nov 30 12:17:42 server1 sshd[11800]: Failed password for root from 180.227.218.245 port 35313 ssh2
Nov 30 12:17:44 server1 sshd[11805]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=180.227.218.245  user=root
Nov 30 12:17:47 server1 sshd[11805]: Failed password for root from 180.227.218.245 port 35591 ssh2
Nov 30 12:17:49 server1 sshd[11807]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=180.227.218.245  user=root
Nov 30 12:17:51 server1 sshd[11807]: Failed password for root from 180.227.218.245 port 35809 ssh2
Nov 30 12:17:54 server1 sshd[11842]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=180.227.218.245  user=root
Nov 30 12:17:56 server1 sshd[11842]: Failed password for root from 180.227.218.245 port 36091 ssh2
Nov 30 12:17:58 server1 sshd[11848]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=180.227.218.245  user=root
Nov 30 12:18:00 server1 sshd[11848]: Failed password for root from 180.227.218.245 port 36361 ssh2
Nov 30 12:18:02 server1 sshd[11850]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=180.227.218.245  user=root

Wer auch dem Abhelfen will, der soll sich mal das Tool denyhosts ansehen! Ansonsten ein sicheres Passwort, Zertifikate oder was ihr gerade lustig seid. Ideen gibts genug!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.