Brute-Force attack

Hallo und erste mal ein dickes Dankeschön für das gute Stück Arbeit die in Schopware steckt.

Zum Thema:

Es ist nicht neues das Shops via Brute-Force angegriffen werden. Aktuell rennen erfolgreiche Attacken gegen den Shop Magneto. Mir stellt nicht die Frage ob, sondern wann so ein Angriff auf Shopware gefahren wird.

Meines Wissens kann sich durch folgende Arten gegen Brute-Force Attacke geschützt werden:

  • Zwei-Faktor-Authentisierung, einer im Server hinterlegt Addresse wird der Einzuloggenden Person eine Nachricht zugestellt, in der ein Login Link / Zugangscode steht.
  • Captchas um Automatiesierte Eingaben abzufangen.
  • Den Adminzugang nur über eine Feste zugewiesene IP zulassen.
  • Logdatei / Protokolierung der Fehlgschlagene Loginversuche, bei Überschreitung von einem festgelegten Limit von Fehlschlägen sendet Shopware eine Benachrichtigung an den Datenschutzbeauftragten.

Für keine der der oben genannten Schutzfunktionen kann in der Administration oder Dokumentation was finden.

Dafür das hier:

Ganz unten steht:

„Eine Bruteforce-Attacke ist ebenfalls nicht möglich, da der Account nach einer gewissen Anzahl von falsch eingaben für kurze Zeit gesperrt ist.“

Auf der Shopware Backend Login Seite habe ich händisch etliche falsche Namen & Passwörter Eingetragen, eine Zeitverzögerung habe ich nicht feststellen können.

Es kann auch sein das mir etwas entgangen ist, dann bitte ich um Aufklärung. Hab ich was übersehen?

Danke für das Interesse und eine schöne Woche.

 

Hier noch ein paar Dinge die ich zum Thema gefunden habe.

( Magento: Tausende Online-Shops greifen heimlich Kreditkarten-Informationen ab | heise online )

Wer sich für das Thema Brute-Force & Shopware interessiert:

https://forum.shopware.com/discussion/21993/password-recovery-funktion-mangelhaft

Shopware Issuetracker Fixed

Schutz via Feste IP September 2012

https://forum.shopware.com/discussion/3918/backend-absichern

@deBugger schrieb:

Auf der Shopware Backend Login Seite habe ich händisch etliche falsche Namen & Passwörter Eingetragen, eine Zeitverzögerung habe ich nicht feststellen können.

Es kann auch sein das mir etwas entgangen ist, dann bitte ich um Aufklärung. Hab ich was übersehen?

Das funktioniert, wenn du einen bestehenden Benutzer einloggen willst. Irgendwas kannst du da immer eingeben - die Meldung ist immer „Dein Login war nicht erfolgreich. Bitte überprüfe deine Eingabe und probiere es erneut.“, wenn der Benutzername jedoch existiert, werden die failedlogins hochgezählt und nach 5 versuchen wird der Account gesperrt. Der Zeitraum der Sperre verlängert sich mit jedem weiteren falschen login.

Captchas: https://community.shopware.com/Captcha-Integration\_detail\_2021.html

Zudem braucht der Bot/Angreifer natürlich auch einen CSRF-Token um überhaupt Post-Requests an den Server zu schicken.

Alles weitere kann man über die Serverkonfiguration (bspw. IP-Sperren für bestimmte Routen) konfigurieren. 2-Faktor ginge über ein Plugin, wenn man das haben will.

@Moritz Naczenski schrieb:

Zudem braucht der Bot/Angreifer natürlich auch einen CSRF-Token um überhaupt Post-Requests an den Server zu schicken. […]

Naja, das sollte das kleinste Problem für jemanden mit Ahnung und krimineller Energie sein…

@deBugger‍:

@Murmeltier schrieb:

@Moritz Naczenski schrieb:

Zudem braucht der Bot/Angreifer natürlich auch einen CSRF-Token um überhaupt Post-Requests an den Server zu schicken. […]

Naja, das sollte das kleinste Problem für jemanden mit Ahnung und krimineller Energie sein…

In wie fern? Gibt es dazu etwas im Internet? Ich ging bisher davon aus, dass  CSRF-Token ein valides Mitteln sind, um sicherzustellen, dass Request korrekt sind. Es kann sicherlich mittels einer anderen Lücke auf der Seite der CSRF Token ggf. ausgelesen werden. Das bedeutet ja aber nicht, dass CSRF-Tokens unsicher sind.  

Der Token an sich ist sicherlich nicht unsicher…, klar. Wenn aber der Angreifer den Browser eines Opfers unter Kontrolle hat, dann nützt Dir Dein toller CSRF Token leider auch nichts mehr… Wink

fail2ban, NinjaFirewall on ModSecurity wirken hier Wunder. Ansonsten Yubikey/U2F etc. Implementierungen.

CSRF-Token bringen in Zeiten von headless Chrome usw. nicht viel.

Solche Attacken sind mehr Sache des Servers und nicht von Shopware, oder der Software.

Ne ordentliche Firewall und nen gute konfiguriertes System / Hoster und die Sache ist gegessen - Bei halbwegs normalen Attacken. CloudFlare kann auch eine simple Lösung sein.

Was eine Email an einen Datenschutzbeauftragten bringen soll erschließt sich mir auch nicht. Soll der voll gespammt werden mit nutzlosen Zeug oder wie?

Und Shopware sperrt den Login doch nach drei fehlgeschlagenen Login Versuchen? Da hast du definitiv etwas übersehen.

Und Passwörter wie “111111” … Ganz ehrlich - Der Administrator welcher sich solch ein Passwort anlegt, hätte es nicht anders verdient als auf die Nase zu fallen 

Das Backend kannst du über deine Server Konfig relativ einfach auf eine IP beschränken, easy.

Bzgl. des Magento Links: Speichert Ihr etwa Kreditkartendaten im eigenen Shop ab oder wie? Wohl eher nicht … Ansonsten such dir nen anderen Provider ;)
Bei Stripe bspw. berühren die CC Daten niemals deinen Server und diese werden schon gar nicht im Shop gespeichert.

Magento kann man eh nicht mit Shopware vergleichen. Da existieren Sicherheitslücken auch wesentlich länger und Patchen ist nicht immer so einfach möglich.

Ich denke hier macht es eh Sinn in Bezug auf DSGVO und eCommerce eine ordentliche und vollständige Sicherheits-Strategie zu entwickeln inklusive Riskmanagement, Audits und vielem mehr.

PS: Magento 2 sperrt nach dem 3. fehlgeschlagenen Login den entsprechenden Admin-Account.

Da sind Bruteforce-Angriffe aus eigener Erfahrung am harmlosesten. Wer die entsprechenden Tools in dem Bereich kennt, geht da wesentlich effizienter vor (Magento 1.6 - 1.9 usw. wird noch oft eingesetzt, auch bei sehr großen Unternehmen).

@christiantrade schrieb:

[…]

Ne ordentliche Firewall und nen gute konfiguriertes System / Hoster und die Sache ist gegessen - Bei halbwegs normalen Attacken. CloudFlare kann auch eine simple Lösung sein. […]

Naja, wenn es so einfach wäre…

Firewalls kannst Du getrost in die Tonne klopfen, denn Firewalls filtern den Netzwerkverkehr basierend auf einer Reihe von Regeln. Gerade diese Regeln sind das Problem einer Firewall. Zudem ist heutzutage die Angriffsfläche viel zu komplex geworden und entwickelt sich auch ständig weiter! Gibt es auch nur einen „Hintereingang“, so ist die Firewall so gut wie nutzlos!  Wink

@Murmeltier schrieb:

@christiantrade schrieb:

[…]

Ne ordentliche Firewall und nen gute konfiguriertes System / Hoster und die Sache ist gegessen - Bei halbwegs normalen Attacken. CloudFlare kann auch eine simple Lösung sein. […]

Naja, wenn es so einfach wäre…

Firewalls kannst Du getrost in die Tonne klopfen, denn Firewalls filtern den Netzwerkverkehr basierend auf einer Reihe von Regeln. Gerade diese Regeln sind das Problem einer Firewall. Zudem ist heutzutage die Angriffsfläche viel zu komplex geworden und entwickelt sich auch ständig weiter! Gibt es auch nur einen „Hintereingang“, so ist die Firewall so gut wie nutzlos!  Wink

Deswegen besteht eine ordentliche Strategie aus wesentlich mehr Schutzebenen und etablierten Lösungen. Es gibt zumindest einige neue und gute technische Ansätze. Cloudflare würde ich hier ohne einen der Enterprise-Pläne nicht empfehlen (da geht so manches durch und es ist nur per DNS, hat der Angreifer die Server-IP - und die wird sogar an bestimmten Stellen weiterhin geleakt - dann bringt das auch nicht viel). 

Sag ich doch…, es gibt immer einen, der schlauer ist!  Wink