{"id":3028,"date":"2021-12-20T07:00:00","date_gmt":"2021-12-20T06:00:00","guid":{"rendered":"https:\/\/www.my-it-brain.de\/wordpress\/?p=3028"},"modified":"2022-11-04T23:44:03","modified_gmt":"2022-11-04T21:44:03","slug":"wordpress-mit-fail2ban-vor-brute-force-angriffen-schuetzen","status":"publish","type":"post","link":"https:\/\/www.my-it-brain.de\/wordpress\/wordpress-mit-fail2ban-vor-brute-force-angriffen-schuetzen\/","title":{"rendered":"WordPress mit Fail2Ban vor Brute-Force-Angriffen sch\u00fctzen"},"content":{"rendered":"\n<p>Laut <a href=\"https:\/\/w3techs.com\/technologies\/overview\/content_management\">W\u00b3Techs<\/a> basieren 43 % aller Webseiten auf WordPress (Stand: 05.12.2021). Damit erreicht es einen Marktanteil von ca. 65&nbsp;% bei den Content-Management-Systemen. Ein so weit verbreitetes System stellt ein beliebtes Angriffsziel f\u00fcr Skript-Kiddies und Internet-Schurken dar. Es ist also nicht die Frage, ob die eigene WordPress-Instanz Ziel eines Angriffs wird, sondern wann dies der Fall ist. So verzeichnete dieser Blog allein im letzten Monat 190.492 erfolglose Anmeldeversuche.<\/p>\n\n\n\n<p>Gegen das Ausnutzen von Sicherheitsl\u00fccken hilft nur patchen, patchen und nochmals patchen. Doch geht es hier nicht um Updatestrategien. Dieser Artikel setzt auf dem Text unter [<a href=\"#quellen-links\">1<\/a>] auf und dokumentiert in K\u00fcrze, wie man sich mit Fail2Ban gegen Brute-Force-Angriffe sch\u00fctzen kann. Dabei geht dieser Artikel davon aus, dass auf dem System bereits eine lauff\u00e4hige Version von Fail2Ban vorhanden ist. Wer Unterst\u00fctzung bei der Installation ben\u00f6tigt wird unter [<a href=\"#quellen-links\">3<\/a>] f\u00fcndig.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Installation des Plugins WP fail2ban<\/h2>\n\n\n\n<p><a href=\"https:\/\/de.wordpress.org\/plugins\/wp-fail2ban\/\">WP fail2ban \u2013 Advanced Security Plugin<\/a> von Charles Lecklider sorgt daf\u00fcr, dass s\u00e4mtliche Loginversuche (erfolglose wie erfolgreiche) in Syslog bzw. <code>\/var\/log\/auth.log<\/code> protokolliert werden.<\/p>\n\n\n\n<p>Das Plugin muss lediglich installiert und aktiviert werden. Es ist Voraussetzung, um den Filter aus dem folgenden Abschnitt nutzen zu k\u00f6nnen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Konfiguration des Fail2Ban-Filters und -Jails<\/h2>\n\n\n\n<p><strong>Update 12.05.2022:<\/strong> Danke an Jens f\u00fcr seinen Hinweis in den Kommentaren. Ich habe den Artikel entsprechend aktualisiert.<\/p>\n\n\n\n<p>Im ersten Schritt werden vorkonfigurierte Filter-Datein heruntergeladen:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ wget https:\/\/plugins.svn.wordpress.org\/wp-fail2ban\/trunk\/filters.d\/wordpress-hard.conf\n$ wget https:\/\/plugins.svn.wordpress.org\/wp-fail2ban\/trunk\/filters.d\/wordpress-soft.conf\n$ sudo mv wordpress-*.conf \/etc\/fail2ban\/filter.d\/<\/code><\/pre>\n\n\n\n<p>Aktiviert wird die Filter-Regel, indem die Datei <code>\/etc\/fail2ban\/jail.d\/wordpress.conf<\/code> mit folgendem Inhalt erstellt wird:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;wordpress-hard]\nenabled = true\nfilter = wordpress-hard\nlogpath = \/var\/log\/auth.log\nmaxretry = 3\nport = http,https\nfindtime = 10800 # 3h\nbantime = 86400 # 24h\n\n&#91;wordpress-soft]\nenabled = true\nfilter = wordpress-soft\nlogpath = \/var\/log\/auth.log\nmaxretry = 3\nport = http,https\nfindtime = 10800 # 3h\nbantime = 86400 # 24h<\/code><\/pre>\n\n\n\n<p>Die dargestellte Konfiguration f\u00fchrt dazu, dass IP-Adressen bei mehr als 3 fehlgeschlagenen Anmeldeversuchen innerhalb von 3 Stunden f\u00fcr 24 Stunden gebannt werden.<\/p>\n\n\n\n<p>Den Status,  die Anzahl der fehlgeschlagenen Anmeldeversuche sowie die gebannten IP-Adressen, k\u00f6nnen mit folgendem Kommando abgerufen werden:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ sudo fail2ban-client status wordpress-hard\nStatus for the jail: wordpress-hard\n|- Filter\n|  |- Currently failed:\t18\n|  |- Total failed:\t19\n|  `- File list:\t\/var\/log\/auth.log\n`- Actions\n   |- Currently banned:\t0\n   |- Total banned:\t0\n   `- Banned IP list:<\/code><\/pre>\n\n\n\n<p>Der Status des Jail f\u00fcr wordpress-soft wird dementsprechend mit <code>sudo fail2ban-client status wordpress-soft<\/code> abgefragt.<\/p>\n\n\n\n<p>Damit ist dieser Artikel auch schon am Ende angekommen. Der folgende Abschnitt bietet noch ein paar Links zu weiterf\u00fchrenden Informationen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"quellen-links\">Quellen und weiterf\u00fchrende Links<\/h2>\n\n\n\n<ol class=\"wp-block-list\"><li><a href=\"https:\/\/www.datamate.org\/fail2ban-schutz-vor-brute-force-angriffen\/\">Fail2Ban \u2013 Schutz vor Brute-Force-Angriffen<\/a>. Christoph Dyllick-Brenzinger. 3. Juni 2015.<\/li><li>Wikipedia-Artikel Fail2ban &#8212;  <a href=\"https:\/\/de.wikipedia.org\/wiki\/Fail2ban\">https:\/\/de.wikipedia.org\/wiki\/Fail2ban<\/a><\/li><li>fail2ban im Ubuntuusers-Wiki &#8212; <a href=\"https:\/\/wiki.ubuntuusers.de\/fail2ban\/\">https:\/\/wiki.ubuntuusers.de\/fail2ban\/<\/a><\/li><li>WordPress-Plugin Seite zu WP fail2ban \u2013 Advanced Security Plugin &#8212; <a href=\"https:\/\/de.wordpress.org\/plugins\/wp-fail2ban\/\">https:\/\/de.wordpress.org\/plugins\/wp-fail2ban\/<\/a><\/li><li>Projektseite WP fail2ban &#8212; <a href=\"https:\/\/wp-fail2ban.com\/\">https:\/\/wp-fail2ban.com\/<\/a><\/li><li><a href=\"https:\/\/docs.wp-fail2ban.com\/en\/4.4\/configuration\/fail2ban.html\">https:\/\/docs.wp-fail2ban.com\/en\/4.4\/configuration\/fail2ban.html<\/a><\/li><\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Laut W\u00b3Techs basieren 43 % aller Webseiten auf WordPress (Stand: 05.12.2021). Damit erreicht es einen Marktanteil von ca. 65&nbsp;% bei den Content-Management-Systemen. Ein so weit verbreitetes System stellt ein beliebtes Angriffsziel f\u00fcr Skript-Kiddies und Internet-Schurken dar. Es ist also nicht die Frage, ob die eigene WordPress-Instanz Ziel eines Angriffs wird, sondern wann dies der Fall<span class=\"continue-reading\"> <a href=\"https:\/\/www.my-it-brain.de\/wordpress\/wordpress-mit-fail2ban-vor-brute-force-angriffen-schuetzen\/\">[Weiterlesen&#8230;]<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_metis_text_type":"","_metis_text_length":0,"_post_count":0,"footnotes":""},"categories":[67],"tags":[669,338,668],"class_list":["post-3028","post","type-post","status-publish","format-standard","hentry","category-wordpress","tag-fail2ban","tag-wordpress","tag-wp-fail2ban"],"_links":{"self":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts\/3028","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/comments?post=3028"}],"version-history":[{"count":8,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts\/3028\/revisions"}],"predecessor-version":[{"id":3326,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts\/3028\/revisions\/3326"}],"wp:attachment":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/media?parent=3028"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/categories?post=3028"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/tags?post=3028"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}