{"id":6485,"date":"2012-03-20T01:24:49","date_gmt":"2012-03-20T00:24:49","guid":{"rendered":"https:\/\/www.gambaru.de\/blog\/?p=6485"},"modified":"2019-10-12T00:01:40","modified_gmt":"2019-10-11T22:01:40","slug":"debian-server-mit-der-unkomplizierten-firewall-ufw-absichern","status":"publish","type":"post","link":"https:\/\/gambaru.de\/blog\/2012\/03\/20\/debian-server-mit-der-unkomplizierten-firewall-ufw-absichern\/","title":{"rendered":"Debian-Server mit der unkomplizierten Firewall ufw absichern"},"content":{"rendered":"<p>Zwischen dem Sperren des Root-Zugangs f\u00fcr SSH und dem Installieren des ersten Spieleservers musste ich eine Firewall einrichten. Ich bin noch kein Firewall-Experte, weswegen ihr genau \u00fcberlegen solltet, ob die folgende Anleitung euren Anspr\u00fcchen gen\u00fcgt. Fakt ist aber, dass ich damit momentan meinen Spieleserver mit Debian sch\u00fctze und ich damit bisher zufrieden sein kann. \ud83d\ude09<br \/>\nDie Errichtung einer Barriere mit Hilfe von <a href=\"http:\/\/www.netfilter.org\/\">netfilter<\/a> und iptables unterst\u00fctzen heute viele Werkzeuge. Ich hatte mir <a href=\"https:\/\/help.ubuntu.com\/community\/UFW\">ufw<\/a> und <a href=\"http:\/\/rocky.eld.leidenuniv.nl\/html\/\">arno-iptables-firewall<\/a> als m\u00f6gliche Kandidaten ausgesucht und mich dann f\u00fcr die \"unkomplizierte Firewall\" entschieden.<br \/>\nUrspr\u00fcnglich von Ubuntu entwickelt bietet ufw eine einfache M\u00f6glichkeit nur die Dienste freizugeben, die tats\u00e4chlich \u00f6ffentlich verf\u00fcgbar sein sollen.<\/p>\n<h2>Installation<\/h2>\n<p><code>aptitude install ufw<\/code><\/p>\n<h2>Konfiguration<\/h2>\n<p><code>ufw enable<\/code><\/p>\n<p><code><\/code><br \/>\nAktiviert die Firewall. Bestehende SSH-Verbindungen k\u00f6nnen unter Umst\u00e4nden getrennt werden. Standardm\u00e4\u00dfig werden eingehende Verbindungen geblockt und ausgehende Verbindungen erlaubt. Bevor man die Firewall aktiviert, kann man z.B. mit<\/p>\n<p><code> ufw allow proto tcp from any to any port 22<\/code><\/p>\n<p><code><\/code><br \/>\nexplizit Port 22 f\u00fcr den SSH-Zugang freigeben.<\/p>\n<p><code>ufw allow 44443\/tcp<\/code><\/p>\n<p><code><\/code><br \/>\nIn der vergangenen Erkl\u00e4rung konnte man sich \u00fcber Port 44443 per SSH einloggen, also muss zuerst dieser Port mit <strong>allow<\/strong> freigeschaltet werden. Dabei l\u00e4sst sich mit \/udp oder \/tcp die Erlaubnis auf bestimmte Protokolle eingrenzen oder ohne auf beide ausdehnen.<\/p>\n<p><code>ufw limit 44443\/tcp<\/code><\/p>\n<p><code><\/code><br \/>\nNoch mehr Sicherheit bietet die Limit-Funktion von ufw, mit der die Anzahl von eingehenden Verbindungen pro IP begrenzt wird, wodurch Brute-Force-Attacken deutlich erschwert werden.<\/p>\n<p><code>ufw default deny<\/code><\/p>\n<p><code><\/code><br \/>\nIm Prinzip der wichtigste Schritt, da dadurch standardm\u00e4\u00dfig alle eingehenden Verbindungen abgewiesen werden. (Genauer, jedes eingehende Packet wird kommentarlos verworfen. DROP)<\/p>\n<p><code>ufw status verbose<\/code><\/p>\n<p><code><\/code><br \/>\nZeigt den Status der Firewall an. Oder einfach nur <em>ufw status<\/em>.<\/p>\n<p><code>ufw allow 27960\/udp<\/code><\/p>\n<p><code><\/code><br \/>\nGibt den UDP Port 27960 f\u00fcr OpenArena frei.<\/p>\n<p><code>ufw allow 40000:40009\/udp<\/code><\/p>\n<p><code><\/code><br \/>\nGibt die Ports von 40000 bis 40009 f\u00fcr UDP frei (XPilot-ng)<\/p>\n<p><code>ufw allow http<\/code><\/p>\n<p><code><\/code><br \/>\nEine andere Schreibweise um Standard-Port 80 f\u00fcr den Webserver freizugeben<\/p>\n<p><code>ufw logging on und ufw logging medium<\/code><\/p>\n<p><code><\/code><br \/>\nDer erste Befehl schaltet die Logfunktion der Firewall ein (standardm\u00e4\u00dfig auf niedrig). Weiterhin gibt es noch medium, high und full.<\/p>\n<p><code>ufw delete allow 44443\/tcp<\/code><\/p>\n<p><code><\/code><br \/>\nMit der Delete-Funktion lassen sich Regeln im laufenden Betrieb auch wieder l\u00f6schen.<\/p>\n<h2>Ausgehende Verbindungen<\/h2>\n<p>Ausgehende Verbindungen werden standardm\u00e4\u00dfig erlaubt. Im meinem Fall bin ich der einzige Benutzer mit Shellzugriff auf meinem Server und es gibt bisher weder CGI noch PHP-Anwendungen, die man manipulieren k\u00f6nnte um diese Einstellung zu missbrauchen. An dieser Stelle scheiden sich die Geister. Tatsache ist, man kann sein System so fest zuschn\u00fcren, dass nicht einmal ausgehende Verbindungen erlaubt sind oder einen Mittelweg finden.<\/p>\n<p><code>ufw deny out to any<\/code><\/p>\n<p><code><\/code><br \/>\nBlockiert alle ausgehenden Verbindungen<\/p>\n<p><code>ufw allow out 80,443\/tcp<\/code><\/p>\n<p><code><\/code><br \/>\nErlaubt ausgehende TCP-Verbindungen f\u00fcr Port 80 und 443.<\/p>\n<h2>IPv6<\/h2>\n<p>UFW blockt standardm\u00e4\u00dfig alle Anfragen mit IPv6. Damit ufw mit IPv6 zusammenarbeitet muss in <em>\/etc\/default\/ufw<\/em> die Variable IPV6 auf <em>Yes<\/em> gesetzt und die Firewall einmal mit <strong>ufw reload<\/strong> neu gestartet werden.<\/p>\n<h2>Fazit<\/h2>\n<p>Die unkomplizierte Firewall macht ihrem Namen alle Ehre. Das Prinzip ist immer das gleiche. Alle eingehenden Verbindungen verwerfen und nur die tats\u00e4chlichen Dienste freigeben, die man wirklich braucht. Wie restriktiv man ausgehende Verbindungen behandelt, h\u00e4ngt vom eigenen Benutzerszenario ab. Die Regeln lassen sich noch deutlich verfeinern. Mehr Informationen verr\u00e4t <strong>man ufw<\/strong> oder die folgenden Links.<\/p>\n<h2>Links<\/h2>\n<p><a href=\"https:\/\/help.ubuntu.com\/community\/UFW\">Ubuntu ufw Documentation<\/a><br \/>\n<a href=\"http:\/\/blog.bodhizazen.net\/linux\/firewall-ubuntu-servers\/\">Firewall Ubuntu Servers<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Zwischen dem Sperren des Root-Zugangs f\u00fcr SSH und dem Installieren des ersten Spieleservers musste ich eine Firewall einrichten. Ich bin noch kein Firewall-Experte, weswegen ihr genau \u00fcberlegen solltet, ob die folgende Anleitung euren Anspr\u00fcchen gen\u00fcgt. Fakt ist aber, dass ich damit momentan meinen Spieleserver mit Debian sch\u00fctze und ich damit bisher zufrieden sein kann. \ud83d\ude09 &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/gambaru.de\/blog\/2012\/03\/20\/debian-server-mit-der-unkomplizierten-firewall-ufw-absichern\/\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eDebian-Server mit der unkomplizierten Firewall ufw absichern\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,108,178,202,205],"_links":{"self":[{"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/posts\/6485"}],"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=6485"}],"version-history":[{"count":1,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/posts\/6485\/revisions"}],"predecessor-version":[{"id":10849,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/posts\/6485\/revisions\/10849"}],"wp:attachment":[{"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/media?parent=6485"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/categories?post=6485"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/tags?post=6485"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}