Der Syslog Server Praktikum zu System- und Netzwerkmanagement Gruppe B1: Steffen Hartmann 11029647 Sabrina Josellis 11028408 Hans – Peter Krüger 11027679 Amir Shartari 11027333 AUFGABE 1.4 SS 2003 Mittwoch, der 18.06.2003
Index Der Dienst syslogd Unsere Aufgaben 1. Bereitstellung des Syslog- Servers 2. Zugriffsschutz 3. Analysieren und Parsen der Log-Einträge 4. Bei Bedarf Senden einer E-Mail Querschnittaufgabe Quellen
Der Dienst syslogd Zentraler Dienst, um Meldungen und Vorkommnisse im System zu protokollieren Empfängt Meldungen von anderen Prozessen und reagiert darauf, je nachdem, welche Herkunft und Priorität eine solche Meldung hat Nützliches Werkzeug, um den Zustand des Systems zu überwachen Wird auf den meisten Unix-Plattformen benutzt UDP Port 514
Nachrichtenquelle Das Netzwerk Wir empfangen die Syslog- Records Das Logging von Nachrichten beschränkt sich nicht nur auf das lokale System, sondern kann auch auf das Netzwerk ausgeweitet werden. Auswertung und Sicherung von Nachrichten kann somit vereinfacht werden Wir empfangen die Syslog- Records ausschließlich über das Labor Netzwerk
Nachrichtenverarbeitung Datenformat der Remote-Messages Anzahl der Prozesse:CPU Auslastung in %:Device:Auslastung in % Logging Kategorie (Facility) „local0“ Log-Level „info“ Remote-Messages werden in Datei var/log/remote.log gespeichert remote.log May 18 15:23:15 dhcppc2 logger: 32:16:/dev/hda3:50:/dev/hda1:20
Nachrichtenziel Wir unterscheiden 2 Ziele - das Ziel, an dem die Syslog- Records in die Log- Datei geschrieben werden - das Ziel für das Ergebnis unseres Shells Scripts falls ein Grenzwert für den belegten Plattenplatz überschritten ist folgt ein e-mail Versand Ausgabe der Nachricht in eine Datei /var/log/remote.log mailaddr=root@localhost
Unsere Aufgaben Syslog Server Erreichbarkeit des Syslog- Servers nur für Rechner im Labor Strukturierung der über das Netzwerk erhaltenen Daten, so dass eine spätere Auswertung gut möglich ist Ermittlung der Rechner, die aufgrund der gelieferten Syslog- Records bestimmte Grenzwerte an belegtem Plattenplatz überschreiten Automatischer Email Versand an den Administrator des Syslog- Netzwerkes im Labor
Lösung der vier Teilprobleme 1. Bereitstellung des Syslog- Servers 2. Zugriffsschutz 3. Analysieren und Parsen der Log-Einträge 4. Bei Bedarf Senden einer E-Mail
1. Bereitstellung des Servers Konfiguration des Syslog- Servers in Datei /etc/services aufnehmen, um den UDP- Port 514 freizuschalten syslog 514/udp Datei /etc/rc2.d/S10syslogkd ändern, um Syslog mit Netzwerkfunktionalität zu starten PARAM="" in PARAM=“-r" Datei /etc/syslog.conf wie folgt erweitern local0.info /var/log/remote.log
2. Zugriffsschutz Verwenden von iptables (Bestandteil des Kernels und muss nicht installiert werden) Hinzufügen einer Firewall-Regel, die auf dem UPD-Port 514 ausschließlich Daten aus dem internen Netzwerk akzeptiert Zugriff für das lokale Netzwerk des Labors wird freigeschaltet $ iptables –A INPUT –s 10.23.0.0 / 255.255.0.0 –p udp –i eth0 –-destination-port 514 –j ACCEPT alle Zugriffe auf den Port 514 sperren, und damit allen Rechnern, die nicht aus dem lokalen Netzwerk, eine Verbindung verbieten $ iptables –A INPUT –p udp –i eth0 –-destination-port 514 –j DROP
3. Analysieren und Parsen der Log-Einträge Crontab $ cron start $ cron stop Shell Skript: /usr/bin/usage-check.sh Log- Datei: remote.log Intervallzeit: 10 Minuten Benutzer: root Plattenbelegung: 90 % (*/) 10 * * * * root /usr/bin/usage-check.sh /var/log/remote.log /var/log/network.log 90
4. Bei Bedarf Senden einer E-Mail Das Shell-Skript untersucht die Log-Datei nach kritischen Einträgen Daraufhin wird eine E-Mail an den Administrators des lokalen Netzes gesendet mailaddr=root@localhost Wir gehen davon aus, dass der Administrator an dem rechner mit der IP 10.23.64.19 arbeitet, auf welchem auch der Syslog- Server konfiguriert ist
/usr/bin/usage-check.sh ... while [ $end -eq 0 ] do j=`expr $j + 2` use=`echo $info | cut -d':' -f$j` if [ -z $use ]; then end=1 else if [ $use -gt $3 ]; then eval device=`echo $info | cut -d: -f\`expr $j - 1\` ` host=`echo $line | cut -d' ' -f4` echo Sending E-Mail echo "Usage: $use device: $device Host:$host" | mail –s "Alert! Maximum harddisk usage has been reached!“ $mailaddr fi done echo $line >> $2 done < $1 sed -e "1,$i d" $1 > $1
Querschnittaufgabe Einigung über ein Datenformat für die Syslog- Records Testen der Verbindung, ob der Server überhaupt erreichbar ist Zugriffsrechte / Firewalleinstellungen konnten getestet werden
Quellen Allgemeine Internet-Quellen Man-Pages Vorlesungsskript http://www.selflinux.org/selflinux/html/Syslog03.html#d33e556 http://www.aboutdebian.com/lan.htm http://www.tecchannel.de/betriebssysteme/751
VIELEN DANK FÜR IHRE AUFMERKSAMKEIT!!! ;-)