{"id":7709,"date":"2012-05-20T02:59:12","date_gmt":"2012-05-20T00:59:12","guid":{"rendered":"https:\/\/www.gambaru.de\/blog\/?p=7709"},"modified":"2019-10-06T01:29:29","modified_gmt":"2019-10-05T23:29:29","slug":"logwatch-der-loganalysierer-ein-beispiel-mit-lighttpd","status":"publish","type":"post","link":"https:\/\/gambaru.de\/blog\/2012\/05\/20\/logwatch-der-loganalysierer-ein-beispiel-mit-lighttpd\/","title":{"rendered":"Logwatch der Loganalysierer: Ein Beispiel mit Lighttpd"},"content":{"rendered":"<p>Zum Thema Monitoring, Server\u00fcberwachung und Intrusion Detection System (IDS) habe ich mir in den letzten Wochen ein paar Gedanken gemacht und neue Software ausprobiert. Ich habe das Thema noch nicht abgeschlossen und teste von Zeit zu Zeit noch das ein oder andere Programm an, was mir bei dieser Aufgabe f\u00fcr meinen Server helfen k\u00f6nnte. Heute stelle ich Logwatch n\u00e4her vor.<\/p>\n<p>Zur Zeit <a href=\"https:\/\/www.gambaru.de\/blog\/2012\/03\/31\/monit-der-wachhund-fur-deinen-server\/\">benutze ich Monit<\/a> zur \u00dcberwachung von Prozessen wie Lighttpd oder den Spieleservern. Es kam in der Vergangenheit bei OpenArena z.B vor, dass der Server wegen eines <a href=\"http:\/\/bugs.debian.org\/cgi-bin\/bugreport.cgi?bug=664637\">unbekannten Fehlers<\/a> unregelm\u00e4\u00dfig gecrasht ist. Dank Monit wird der Server automatisch neugestartet.<br \/>\nF\u00fcr den langfristigen Trendverlauf bei Systemressourcen oder Benutzung der Spieleserver verwende ich <a href=\"http:\/\/munin-monitoring.org\/\">Munin<\/a>, womit die Werte grafisch anschaulich aufbereitet werden.<br \/>\nDie Mehrzahl der Daten wird nat\u00fcrlich in Logdateien gespeichert. Da die Menge an Informationen manuell nicht in annehmbarer Zeit zu \u00fcberpr\u00fcfen ist, braucht es einen Loganalysierer, der die Daten f\u00fcr Menschen lesbar aufbereitet und im Idealfall nur die \"wichtigen\" Informationen herausfiltert.<br \/>\nEin bekannter Loganalysierer hei\u00dft Logwatch, den ich am l\u00e4ngsten kenne und seit Anfang an f\u00fcr den Server benutze. Speziell f\u00fcr Berichte \u00fcber die Vorg\u00e4nge mit der Firewall gibt es aber auch noch <a href=\"http:\/\/fwlogwatch.inside-security.de\/\">FwLogwatch<\/a>. Ebenfalls angeschaut habe ich mir <a href=\"http:\/\/packages.debian.org\/logcheck\">Logcheck<\/a>, <a href=\"http:\/\/packages.debian.org\/swatch\">Swatch<\/a> und <a href=\"http:\/\/packages.debian.org\/tenshi\">Tenshi<\/a>. <a href=\"http:\/\/packages.debian.org\/snort\">Snort<\/a> steht auf jeden Fall noch auf der Todo-Liste und mit <a href=\"http:\/\/www.nongnu.org\/tiger\/\">Tiger<\/a> als Auditor habe ich auch schon gute Erfahrungen gemacht.<\/p>\n<h2><a href=\"http:\/\/packages.debian.org\/logwatch\">Logwatch<\/a><\/h2>\n<p><code>aptitude install logwatch<\/code><\/p>\n<p><code><\/code>Ein gro\u00dfer Pluspunkt von Logwatch ist, dass es direkt nach der Installation einfach funktioniert und t\u00e4glich eine Zusammenfassung als Textmail an Root und die externe Adresse schickt, sofern man zuvor einen <a href=\"https:\/\/www.gambaru.de\/blog\/2012\/03\/21\/nur-versenden-mailserver-mit-debian-und-exim\/\">Mailserver<\/a> eingerichtet hat.<br \/>\nLogwatch ist in der Standardeinstellung auf einen niedrigen Detaillevel eingestellt. Die Werte reichen von 0 (low) \u00fcber 5 (medium) bis 10 (high). Grunds\u00e4tzlich werden die Logs der letzten 24 Stunden analysiert, wozu der Cronjob in <em>\/etc\/cron.daily\/00logwatch<\/em> aufgerufen wird. Diese Zeitsteuerung l\u00e4sst sich <a href=\"https:\/\/www.gambaru.de\/blog\/2012\/04\/22\/cron-und-logrotate-ein-beispiel-anhand-eines-spieleservers\/\">wie schon beschrieben<\/a> \u00fcber das Verschieben von 00logwatch in den entsprechenden Cron-Ordner oder durch die Bearbeitung der Crontabs \u00e4ndern.<br \/>\nDie Reichweite der Loganalyse kann auch per Option direkt an Logwatch \u00fcbergeben werden. Weitere Hinweise dazu finden sich mit <strong>logwatch --range Help<\/strong>.<\/p>\n<h2>Konfigurationsbeispiel mit Lighttpd<\/h2>\n<p>F\u00fcr einen tiefergehenden Einblick in die Materie empfehle ich einen Blick in Howto-Customize-Logwatch.gz und Readme.Debian in <em>\/usr\/share\/doc\/logwatch\/<\/em> zu werfen. Das Konzept der Konfiguration ist dort ausf\u00fchrlich beschrieben.<br \/>\nPrinzipiell finden sich in den Unterverzeichnissen logfiles und services in <em>\/usr\/share\/logwatch\/default.conf<\/em> die Regeln, welche Logdateien analysiert werden sollen und Parameter, die den Output n\u00e4her bestimmen. Die tats\u00e4chliche Arbeit verrichten aber die Skripte in <em>\/usr\/share\/logwatch\/scripts<\/em>.<br \/>\nDie zentrale Konfigurationsdatei ist <strong>logwatch.conf<\/strong> und befindet sich zusammen mit <em>ignore.conf<\/em> in <em>\/usr\/share\/logwatch\/default.conf<\/em>. Schon rein aus formalen Gr\u00fcnden habe ich aber alle Dateien dort unangetastet gelassen, da Debian selbst die Werte im Verzeichnis <em>\/usr\/share\/logwatch\/dist.conf\/<\/em> \u00fcberschreibt und jede individuelle Einstellungen wie gewohnt in <em>\/etc\/logwatch\/<\/em> festgelegt wird.<br \/>\nDie Unterverzeichnisse in <em>\/etc\/logwatch\/<\/em> spiegeln die Verzeichnisstruktur in <em>\/usr\/share\/logwatch<\/em> wider. Man muss also nur die modifizierten Dateien f\u00fcr Logfiles und Services dort ablegen.<br \/>\nIn meinem Fall habe ich den Service http angepasst, der standardm\u00e4\u00dfig auf die Analyse von Apache ausgerichtet ist. Mit wenigen Handgriffen funktioniert er aber auch f\u00fcr Lighttpd.<\/p>\n<h3>Kopieren<\/h3>\n<p>\/usr\/share\/logwatch\/default.conf\/logfiles\/http.conf <strong>--&gt;<\/strong> \/etc\/logwatch\/conf\/logfiles\/<br \/>\n\/usr\/share\/logwatch\/default.conf\/services\/http.conf <strong>--&gt;<\/strong> \/etc\/logwatch\/conf\/services\/<\/p>\n<h3>Anpassen<\/h3>\n<p>Meine <a href=\"https:\/\/www.gambaru.de\/blog\/wp-content\/uploads\/2012\/05\/http_logfiles.txt\">http.conf<\/a> f\u00fcr logfiles.<br \/>\nMeine <a href=\"https:\/\/www.gambaru.de\/blog\/wp-content\/uploads\/2012\/05\/http_services.txt\">http.conf<\/a> f\u00fcr services.<br \/>\nDie Logdateien f\u00fcr meinen Lighttpd-Webserver liegen immer in <em>\/var\/log\/lighttpd\/linuxiuvat.de\/<\/em>. Mit<\/p>\n<blockquote><p>LogFile = lighttpd\/linuxiuvat.de\/*access.log.1<\/p><\/blockquote>\n<p>wird der relative Pfad zu \/var\/log und meinen Logdateien festgelegt, wobei es noch drei weitere Zeilen in dieser Form gibt, die auf die anderen Logdateien verweisen.<br \/>\nDie zweite http.conf Datei ist der sogenannte Filter oder Service, der auf die Logdateien angewendet wird. Ich habe den Titel auf \"Lighttpd\" gesetzt und den Detaillevel auf 10 erh\u00f6ht. Dadurch wird der Standard von 0 \u00fcberschrieben und die Ausgabe von Lighttpd deutlich \"lauter\". Der Rest beschr\u00e4nkt sich darauf Parameter auszukommentieren, die n\u00fctzlich sein k\u00f6nnen, z.B.<\/p>\n<blockquote><p>$HTTP_USER_DISPLAY = \"$field{http_rc} &gt;= 400\"<\/p><\/blockquote>\n<p>womit alle HTTP-Fehlermeldungen &gt;= 400 angezeigt werden.<\/p>\n<h3>override.conf<\/h3>\n<p>In <em>\/etc\/logwatch\/conf<\/em> kann man die Datei override.conf anlegen, womit sich die globalen Einstellungen aus logwatch.conf \u00fcberschreiben lassen. Ich brauchte z.B. nicht den Output des Service Iptables.<\/p>\n<blockquote><p>logwatch: Service = \"-iptables\"<\/p><\/blockquote>\n<p>Mit dem Schl\u00fcsselbegriff logwatch: wird die Ver\u00e4nderung eingeleitet, danach folgt der Name der Variable und der Wert. Weitere Ideen, was sich manipulieren l\u00e4sst, finden sich in logwatch.conf.<\/p>\n<h2>Fazit<\/h2>\n<p>Das Kopieren und Editieren der Konfiguration ist bei Logwatch erst einmal Gew\u00f6hnungssache. Der Vorteil liegt darin, dass die Originaldateien unangetastet bleiben und man alles ordentlich dort hat, wo es hingeh\u00f6rt, in \/etc. Wer viele Ver\u00e4nderungen vornehmen muss und diese auf mehrere Server anwendet, sollte besser \u00fcber eine Neukompilierung des Pakets nachdenken.<br \/>\nMir gef\u00e4llt Logwatch sehr gut, da es bisher die anderen Methoden gut erg\u00e4nzt. Logwatch ist ein Teil der L\u00f6sung aber eben nicht alles. F\u00fcr mich ist eine t\u00e4gliche E-Mail-Benachrichtigung ausreichend. Au\u00dferdem ist die Standardkonfiguration sehr gut. Wer noch mehr Kontrolle und andere Voreinstellungen bevorzugt, sollte sich Logcheck anschauen. Dort wird man anfangs sogar st\u00fcndlich informiert und kann durch Regul\u00e4re Ausdr\u00fccke festlegen, was man sehen m\u00f6chte oder eben nicht.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Zum Thema Monitoring, Server\u00fcberwachung und Intrusion Detection System (IDS) habe ich mir in den letzten Wochen ein paar Gedanken gemacht und neue Software ausprobiert. Ich habe das Thema noch nicht abgeschlossen und teste von Zeit zu Zeit noch das ein oder andere Programm an, was mir bei dieser Aufgabe f\u00fcr meinen Server helfen k\u00f6nnte. Heute &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/gambaru.de\/blog\/2012\/05\/20\/logwatch-der-loganalysierer-ein-beispiel-mit-lighttpd\/\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eLogwatch der Loganalysierer: Ein Beispiel mit Lighttpd\u201c<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[6],"tags":[53,107,108,113],"_links":{"self":[{"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/posts\/7709"}],"collection":[{"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/comments?post=7709"}],"version-history":[{"count":1,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/posts\/7709\/revisions"}],"predecessor-version":[{"id":10687,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/posts\/7709\/revisions\/10687"}],"wp:attachment":[{"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/media?parent=7709"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/categories?post=7709"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/tags?post=7709"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}