{"id":8601,"date":"2012-07-20T04:00:35","date_gmt":"2012-07-20T02:00:35","guid":{"rendered":"https:\/\/www.gambaru.de\/blog\/?p=8601"},"modified":"2019-09-27T00:08:28","modified_gmt":"2019-09-26T22:08:28","slug":"fwlogwatch-ein-firewall-loganalysierer-und-sicherheitswerkzeug","status":"publish","type":"post","link":"https:\/\/gambaru.de\/blog\/2012\/07\/20\/fwlogwatch-ein-firewall-loganalysierer-und-sicherheitswerkzeug\/","title":{"rendered":"Fwlogwatch: Ein Firewall-Loganalysierer und Sicherheitswerkzeug"},"content":{"rendered":"<p>Eine der ersten Amtshandlungen auf dem neuen vServer war es, <a href=\"https:\/\/www.gambaru.de\/blog\/2012\/03\/20\/debian-server-mit-der-unkomplizierten-firewall-ufw-absichern\/\">eine Firewall aufzusetzen<\/a>. Das stellte sich Dank ufw als gar nicht so schwierig heraus. Ich experimentierte dann mit verschiedenen Logleveln und stellte schnell fest, dass ich ohne einen Loganalysierer f\u00fcr die Firewall schnell den \u00dcberblick verlieren w\u00fcrde.<br \/>\nIch installierte daraufhin <a href=\"http:\/\/fwlogwatch.inside-security.de\/\">Fwlogwatch<\/a>, ein Sicherheitswerkzeug, dass schon seit einem Jahrzehnt als Freie Software vorliegt. An dieser Stelle wollte ich es kurz vorstellen, da ich nicht wirklich viele Erfahrungsberichte dazu gefunden habe, die sich mit Fwlogwatch auseinander gesetzt haben. Mit Sicherheit gibt es noch andere Loganalysierer f\u00fcr Firewalls. Welche kennt und benutzt ihr davon und wie geht ihr generell mit dieser Thematik um?<\/p>\n<h2>Installation und Konfiguration<\/h2>\n<p><code>aptitude install fwlogwatch<\/code><\/p>\n<p><code><\/code><br \/>\nFwlogwatch kann sowohl per Konfigurationsdatei als auch \u00fcber die Kommandozeile konfiguriert werden. Nur die Optionen, die nicht ausdr\u00fccklich in <em>fwlogwatch.config<\/em> definiert wurden, k\u00f6nnen per Kommandozeilenparameter ge\u00e4ndert werden. Im Folgenden konzentriere ich mich auf die Beschreibung der Konfigurationsdatei.<br \/>\nBei Debian und Ubuntu ist es am sinnvollsten zuerst die Standardeinstellungen mit<\/p>\n<p><code>dpkg-reconfigure fwlogwatch<\/code><\/p>\n<p><code><\/code><br \/>\nfestzuschreiben. Die Einstellungen befinden sich danach in <em>\/etc\/default\/fwlogwatch<\/em>. Die Screenshots zeigen die sechs M\u00f6glichkeiten, die zur Auswahl stehen. Ich habe mich daf\u00fcr entschieden Fwlogwatch als Daemon im Echtzeitmodus zu starten und zus\u00e4tzlich einmal t\u00e4glich eine E-Mail-Benachrichtigung mit der Auswertung der vergangenen 24 Stunden zu erhalten. Auf das automatische Anlegen von Firewall-Regeln habe ich verzichtet.<\/p>\n<div id='gallery-1' class='gallery galleryid-8601 gallery-columns-3 gallery-size-thumbnail'><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2012\/07\/fwlogwatch_11-1.png'><img width=\"150\" height=\"150\" src=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2012\/07\/fwlogwatch_11-1-150x150.png\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" decoding=\"async\" loading=\"lazy\" srcset=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2012\/07\/fwlogwatch_11-1-150x150.png 150w, https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2012\/07\/fwlogwatch_11-1-100x100.png 100w\" sizes=\"100vw\" \/><\/a>\n\t\t\t<\/div><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2012\/07\/fwlogwatch_21-1.png'><img width=\"150\" height=\"150\" src=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2012\/07\/fwlogwatch_21-1-150x150.png\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" decoding=\"async\" loading=\"lazy\" srcset=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2012\/07\/fwlogwatch_21-1-150x150.png 150w, https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2012\/07\/fwlogwatch_21-1-100x100.png 100w\" sizes=\"100vw\" \/><\/a>\n\t\t\t<\/div><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2012\/07\/fwlogwatch_31-1.png'><img width=\"150\" height=\"150\" src=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2012\/07\/fwlogwatch_31-1-150x150.png\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" decoding=\"async\" loading=\"lazy\" srcset=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2012\/07\/fwlogwatch_31-1-150x150.png 150w, https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2012\/07\/fwlogwatch_31-1-100x100.png 100w\" sizes=\"100vw\" \/><\/a>\n\t\t\t<\/div><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2012\/07\/fwlogwatch_41-1.png'><img width=\"150\" height=\"150\" src=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2012\/07\/fwlogwatch_41-1-150x150.png\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" decoding=\"async\" loading=\"lazy\" srcset=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2012\/07\/fwlogwatch_41-1-150x150.png 150w, https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2012\/07\/fwlogwatch_41-1-100x100.png 100w\" sizes=\"100vw\" \/><\/a>\n\t\t\t<\/div><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2012\/07\/fwlogwatch_51-1.png'><img width=\"150\" height=\"150\" src=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2012\/07\/fwlogwatch_51-1-150x150.png\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" decoding=\"async\" loading=\"lazy\" srcset=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2012\/07\/fwlogwatch_51-1-150x150.png 150w, https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2012\/07\/fwlogwatch_51-1-100x100.png 100w\" sizes=\"100vw\" \/><\/a>\n\t\t\t<\/div><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2012\/07\/fwlogwatch_61-1.png'><img width=\"150\" height=\"150\" src=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2012\/07\/fwlogwatch_61-1-150x150.png\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" decoding=\"async\" loading=\"lazy\" srcset=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2012\/07\/fwlogwatch_61-1-150x150.png 150w, https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2012\/07\/fwlogwatch_61-1-100x100.png 100w\" sizes=\"100vw\" \/><\/a>\n\t\t\t<\/div><\/figure>\n\t\t<\/div>\n\n<p>Die zentrale Konfigurationsdatei existiert in <em>\/etc\/fwlogwatch\/fwlogwatch.config<\/em>. Die Datei ist sehr gut in Englisch dokumentiert. Hier ist ein Auszug mit den f\u00fcr mich wichtigsten Einstellungen.<\/p>\n<blockquote><p># Input-Datei<br \/>\ninput = \/var\/log\/messages<br \/>\n# Wir analysieren eine Netfilter-Firewall<br \/>\nparser = n<br \/>\n# Angezeigt werden: Quell-IP, Protokoll und Zielport.<br \/>\nsrc_ip = on<br \/>\nprotocol = on<br \/>\ndst_port = on<br \/>\n# Diese Quelle soll ausgeschlossen werden<br \/>\nexclude_src_host = 123.123.123.123<br \/>\n# Sortierungsreihenfolge<br \/>\nsort_order = Sacd<br \/>\n# Anzeige der Paketgr\u00f6\u00dfe<br \/>\ndata_amount = yes<br \/>\n# nur die letzten 24 Stunden anzeigen<br \/>\nrecent = 24h<br \/>\n# Fwlogwatch soll als Benutzer nobody laufen<br \/>\nrun_as = nobody<br \/>\n# Im Echtzeitmodus soll benachrichtigt werden<br \/>\nnotify = yes<\/p><\/blockquote>\n<p>Einmal am Tag erh\u00e4lt man danach eine E-Mail, die alle Vorkommnisse in der vorher festgelegten Sortierreihenfolge auflistet. <a href=\"http:\/\/slackworld.berlios.de\/02\/notes.html\">Dieser \u00e4ltere Artikel<\/a> f\u00fcr die Slackware-Distribution erkl\u00e4rt anhand einiger Beispiele wie man Fwlogwatch von der Kommandozeile bedient und verschiedene Sortierverfahren nutzen kann, um Muster in einem Angriff zu erkennen.<\/p>\n<pre>Jul 18 06:58:29 to - - [9948935.724847] [UFW BLOCK]  1 tcp packet (44 bytes) from xxx.xxx.xxx.xxx port 22\nJul 18 07:05:27 to - - [9949353.404245] [UFW BLOCK]  1 tcp packet (48 bytes) from xxx.xxx.xxx.xxx port 5900\nJul 18 07:30:49 to - - [9950876.155902] [UFW BLOCK]  1 udp packet (23 bytes) from xxx.xxx.xxx.xxx port 27970<\/pre>\n<h2>Echtzeitmodus<\/h2>\n<p>F\u00fcr den Echtzeitmodus existiert noch ein zus\u00e4tzliches Webinterface, welches ebenfalls in <em>fwlogwatch.config<\/em> aktiviert wird. Das Statuspasswort muss verschl\u00fcsselt sein und l\u00e4sst sich mit <code>htpasswd -nb admin meingeheimesPasswort<\/code> erzeugen. Man kann sich dann z.B. \u00fcber einen SSH-Tunnel mit dem Webinterface verbinden.<br \/>\n<code>ssh -p 44444 -L 8888:127.0.0.1:888 meinserver<\/code><\/p>\n<blockquote><p>server_status = yes<br \/>\nlisten_port = 888<br \/>\nstatus_user = admin<br \/>\nstatus_password = Xjswdw\/we3 #Beispiel f\u00fcr ein verschl\u00fcsseltes Passwort<\/p><\/blockquote>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-8664\" title=\"fwlogwatch_status\" src=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2012\/07\/fwlogwatch_status1-1-1.png\" alt=\"Fwlogwatch-Status\" width=\"405\" height=\"366\" \/><\/p>\n<h2>Zum Schluss<\/h2>\n<p>Fwlogwatch bietet in <em>\/usr\/share\/doc\/examples\/<\/em> noch zwei CGI-Skripte, mit denen eine Zusammenfassung im HTML-Format auf einem Webserver pr\u00e4sentiert werden kann. Auch lassen sich alle t\u00e4glichen Berichte per HTML-Mail verschicken, wenn man das m\u00f6chte. Wurde <strong>notify=yes<\/strong> in der Konfigurationsdatei gesetzt wird zus\u00e4tzlich eine Alarmnachricht versandt, wenn ein Schwellenwert an Verbindungen pro Zeitintervall \u00fcberschritten wurde. Der Inhalt der Mail orientiert sich an den Angaben in <em>\/etc\/fwlogwatch\/fwlw_notify<\/em>. Au\u00dferdem lassen sich auch automatisch neue Firewall-Regeln anlegen, wozu das Skript <em>\/etc\/fwlogwatch\/fwlw_respond<\/em> ber\u00fccksichtigt wird und externe CERT-Stellen mit vorgefertigten Templates alarmieren.<br \/>\nIch pers\u00f6nlich finde die vielf\u00e4ltigen Sortierungsm\u00f6glichkeiten von Fwlogwatch n\u00fctzlich, womit sich tats\u00e4chlich \u00fcberhaupt erst eine \u00dcbersicht in die Analyse der Firewall-Logdateien bringen l\u00e4sst. Ich stelle mir nur hin- und wieder die Frage, wie ich am besten auf die Tatsache reagiere, dass mein Server permanent gescant wird.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Eine der ersten Amtshandlungen auf dem neuen vServer war es, eine Firewall aufzusetzen. Das stellte sich Dank ufw als gar nicht so schwierig heraus. Ich experimentierte dann mit verschiedenen Logleveln und stellte schnell fest, dass ich ohne einen Loganalysierer f\u00fcr die Firewall schnell den \u00dcberblick verlieren w\u00fcrde. Ich installierte daraufhin Fwlogwatch, ein Sicherheitswerkzeug, dass schon &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/gambaru.de\/blog\/2012\/07\/20\/fwlogwatch-ein-firewall-loganalysierer-und-sicherheitswerkzeug\/\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eFwlogwatch: Ein Firewall-Loganalysierer und Sicherheitswerkzeug\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,81,108],"_links":{"self":[{"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/posts\/8601"}],"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=8601"}],"version-history":[{"count":1,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/posts\/8601\/revisions"}],"predecessor-version":[{"id":10650,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/posts\/8601\/revisions\/10650"}],"wp:attachment":[{"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/media?parent=8601"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/categories?post=8601"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/tags?post=8601"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}