160 likes | 266 Views
Der Syslog Server. Praktikum zu System- und Netzwerkmanagement. Gruppe B1: Steffen Hartmann 11029647 Sabrina Josellis 11028408 Hans – Peter Krüger 11027679 Amir Shartari 11027333.
E N D
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 • 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 • 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 Syslog Server
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 $ 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 Crontab
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 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 • Man-Pages • Vorlesungsskript Internet-Quellen • http://www.selflinux.org/selflinux/html/Syslog03.html#d33e556 • http://www.aboutdebian.com/lan.htm • http://www.tecchannel.de/betriebssysteme/751