Shopware auf der Überholspur - Sicherer Betrieb durch Modsecurity mit Elastic und Kubernetes

Lernen Sie in diesem Artikel, wie Ihre Daten und die Ihrer Kunden sicher mit einer internen Web Application Firewall (WAF) geschützt werden können und warum dies sinnvoll ist. Wir zeigen Ihnen Codeauszüge innerhalb einer kurzen Anleitung mit Tipps und Tricks.

Setup

In unserem hier dargestellten Szenario haben wir folgende Komponenten im Einsatz:

  • Shopware
  • NGINX Webserver
  • ModSecurity v3
  • Managed Kubernetes (Openstack by OVHcloud)
  • ELK Stack

Die spezielle Herausforderung hierbei liegt bei der Trennung der Logs, da das Standardlogging rein über stdout funktioniert.

Warum eine Web Application Firewall sinnvoll ist und was sie genau macht

Das Open Web Application Security Project (OWASP) kategorisiert jährlich die größten Gefahren im Internet mit dem Ziel für mehr Sicherheit in Anwendungen und Diensten des World Wide Webs zu sorgen

Die aktuellen OWSAP TOP 10 besteht aus folgenden Gefahrenquellen:

  • Injektion
  • Defekte Authentifizierung
  • Offenlegung sensibler Daten
  • Externe XML Entitäten (XXE)
  • Defekte Zugriffskontrolle
  • Fehlkonfiguration
  • Cross-site-Scripting
  • Unsichere Deserialisierung
  • Verwendung von Komponenten mit bekannten Schwachstellen
  • Unzureichende Protokollierung und Überwachung

Eine Studie von Verizon verdeutlicht einen Anstieg von Angriffen auf Webanwendungen von 48 % auf 80 % innerhalb von 2020 auf 2021. Die Tendenz für 2022 ist steigend.

Aus diesem Grund ist eine Absicherung Ihrer E-Commerce-Plattform essenziell für die Datensicherheit. Folgende Abbildung veranschaulicht diese Absicherung mit einer zweistufigen WAF. Die Abbildung veranschaulicht exemplarisch den Datenverkehr von echten Usern und Angriffszenarien und den Schutz durch eine Web Application Firewall.

Ein echter User geht über ihre Domain zum Shopsystem. Ein Hackangriff kann wahlweise über die Domain URL oder der IP Range vom Hostingprovider stattfinden. Daher ist es ratsam ein zweistufiges WAF-Konzept zu betreiben. Eine externe (bspw. mit Cloudflare) und eine interne, innerhalb des LAN vor der Anwendung (mit modsecurity).  

Wir nutzen in diesem Fall ModSecurity als interne WAF. ModSecurity ist eine regelbasierte Engine, die Webanfragen mit ein Regelwerk filtert. Wenn die Prüfung erfolgreich ist, wird die HTTP-Anfrage an den Shop weitergeleitet. Wenn sie fehlschlägt, blockiert sie die Anfrage.

Über das Regelwerk lassen sich folgende Schwachstellen überwachen: 

  • SQL injection and Blind SQL injection.
  • Cross Site Scripting (XSS).
  • OS Command Injection and remote command access.
  • File name injection.
  • ColdFusion, PHP and ASP injection.
  • E-Mail Injection
  • HTTP Response Splitting.
  • Universal PDF XSS.
  • Trojans & Backdoors Detection

Die externe WAF, welche in der Regel von einem Anbieter gemanaged wird, würde zudem einen erweiterten Schutz bedeuten, mit dem auch beispielsweise Zero-Day Attacken frühzeitig geblockt werden können.

Doch was ist notwendig, um die interne Web Application Firewall aufzusetzen? Im Folgenden zeigen wir dir, wie du es umsetzen kannst!

Konfiguration Modsecurity

Für eine einfache Übermittlung wurde die ModSecurity so eingestellt, dass die Einträge im JSON Format gespeichert werden. Hierdurch wird im weiteren Verlauf die Transformation in die ELK Stack Objekte sehr vereinfacht.

Folgende Annotations müssen am Ingress hinzugefügt werden, damit Modsecurity aktiviert ist:

ModSecurity Config:

Weiterhin muss der Ingress Controller so angepasst werden, dass er zwischen reinen NGINX Logs und denen von Modsecurity unterscheidet. Hierfür muss folgender Auszug integriert werden.

Dem Pod wird ein weiterer Container hinzugefügt, welcher die ModSecurity Logs seperiert:

Konfiguration Filebeat

Für die Überführung der Log Einträge aus dem modsecurity Audit log gibt es 2 Varianten.

  • Elastic Agent: ModSecurity Audit log
  • File Beat

Da die Realisierung über File Beat für Kubernetes besser geeignet ist, gehen wir im weiteren Verlauf auf diese Variante ein.

Um die zuvor seperierten Logs in den ELK Stack zu übertragen, verwenden wir die filebeat.autodiscover Funktion. 

Wir trennen die Logs über das Label "kubernetes.container.name". Dies ist notwendig, da das Audit File ansonsten mit dem aktuellen Standard NGINX Pipeline von elastic verarbeitet werden würde und dieses mit jedem neuen Release automatisch überschrieben wird. Damit wir die Nachrichten besser von einander trennen können, haben wir zudem, wie oben beschrieben, Modsecurity die Erweiterung "mod-security-logger" in Kubernetes angefügt.

Konfiguration Elastic Pipeline

Da wir, wie oben beschrieben, JSON Formate übermitteln, ist die Pipeline in Elastic rein auf die Transformation dieses Objektes beschränkt. Hierfür bietet elastic eine vordefinierte Methode "json" an. Diese muss zweimal hintereinander ausgeführt werden, um eine automatische Transformation durchzuführen. Warum das so ist, fragen Sie bitte nicht ;).

Folgend dargestellt ein beispielhafter Angriff, der die ".env" Datei versucht zu öffnen.

{"transaction":{"client_ip":"5.147.64.XXX","time_stamp":"Tue Jun 28 20:47:07 2022","server_id":"ffbd70bb61277107b0608c3d2be5824751fecdce","client_port":58758,"host_ip":"10.2.0.XXX","host_port":443,"unique_id":"70b0ae977efcb4521a4795c94bc87c9b","request":{"method":"GET","http_version":2.0,"uri":"/Products/RNA-Extraction/.env"},"response":{"http_code":403},"producer":{"modsecurity":"ModSecurity v3.0.5 (Linux)","connector":"ModSecurity-nginx v1.0.2","secrules_engine":"Enabled","components":["OWASP_CRS/3.3.2\""]},"messages":[{"message":"Restricted File Access Attempt","details":{"match":"Matched \"Operator `PmFromFile' with parameter `restricted-files.data' against variable `REQUEST_FILENAME' (Value: `/Products/RNA-Extraction/.env' )","reference":"o24,5v4,29t:utf8toUnicode,t:urlDecodeUni,t:normalizePathWin,t:lowercase","ruleId":"930130","file":"/etc/nginx/owasp-modsecurity-crs/rules/REQUEST-930-APPLICATION-ATTACK-LFI.conf","lineNumber":"105","data":"Matched Data: /.env found within REQUEST_FILENAME: /products/rna-extraction/.env","severity":"2","ver":"OWASP_CRS/3.3.2","rev":"","tags":["application-multi","language-multi","platform-multi","attack-lfi","paranoia-level/1","OWASP_CRS","capec/1000/255/153/126","PCI/6.5.4"],"maturity":"0","accuracy":"0"}},{"message":"Inbound Anomaly Score Exceeded (Total Score: 5)","details":{"match":"Matched \"Operator `Ge' with parameter `5' against variable `TX:ANOMALY_SCORE' (Value: `5' )","reference":"","ruleId":"949110","file":"/etc/nginx/owasp-modsecurity-crs/rules/REQUEST-949-BLOCKING-EVALUATION.conf","lineNumber":"80","data":"","severity":"2","ver":"OWASP_CRS/3.3.2","rev":"","tags":["application-multi","language-multi","platform-multi","attack-generic"],"maturity":"0","accuracy":"0"}}]}}

Aus diesem JSON Array sind für die weitere Analyse folgende Attribute besonders wichtig:

  • modsecurity.transaction.client_ip - Angreifer ip
  • modsecurity.transaction.messages.details.file - Angreifer Name
  • modsecurity.transaction.messages.details.ruleId <- modsecurity regel
  • modsecurity.transaction.messages.details.match: Detailinformationen
  • modsecurity.transaction.request.uri - URL Aufruf

Ausnahmen hinzufügen

Nach Aktivierung der WAF kann es vorkommen, dass einige gewollte Zugriffe blockiert werden.
Diese unterscheiden sich je nach Applikation und eingesetzten Erweiterungen und müssen daher individuell ermittelt werden.
Will man Ausnahmen für diese Zugriffe hinzufügen, ist folgendes zu tun:

  1. modsecurity.transaction.messages.details.ruleId - aus diesem Feld kann die ID der Regel entnommen werden. Beispiel: "932115"

Nun folgenden Eintrag unterhalb von "nginx.ingress.kubernetes.io/modsecurity-snippet: |" hinzufügen:

SecRuleRemoveById 932115

Konfiguration Elastic Kibana Dashboard

Für die Aufbereitung der Log im ELK Stack stellen wir euch folgendes von uns definiertes Dashboard zur Verfügung: Dieses zeigt eine Gruppierung der Angreifer nach Uhrzeit, Angriffstyp , Angriffsregion sowie die eigentlichen Angriffe.

Marc Achsnich
Team Leadsynaigy GmbHKontakt

Vertiefe dein Wissen mit uns

Blog 29.02.24
Blog 29.02.24

Mit KI-Suche zu personalisierten Sucherlebnissen

In der heutigen digitalen Welt ist Zeit kostbar und Auswahl überwältigend. Deshalb ist eine intelligente Suchfunktion im E-Commerce entscheidend! In der aktuellen insights!-Folge hatte ich das Vergnügen, Christina Schönfeld von Algolia zu Gast zu haben. Sie erläutert uns, warum die SaaS-Such- und Entdeckungs-Plattform den Unterschied macht und welche Auswirkungen AI Driven Search in der Customer Journey hat.

Blog 27.06.24
Blog 27.06.24

E-Commerce, KI und Personalisierung im Schäfer Shop

In der neuesten insights!-Folge spreche ich mit Andreas Reuter, dem CEO von Schäfer Shop, über die Erfolge von E-Commerce-Strategien, die Zukunft der Arbeit mit hybriden Arbeitsmodellen sowie die Auswirkungen innovativer Technologien wie Live-Übersetzungen und Deepfake auf die globale Zusammenarbeit, um Sprachbarrieren zu überwinden und innovative Wege der Kommunikation zu schaffen. Trotz der faszinierenden Möglichkeiten betonen wir auch die damit verbundenen Herausforderungen und ethischen Bedenken.

Blog 03.07.24
Blog 03.07.24

Wie sicher sind deine Systeme?

Gerade in den letzten Jahren wächst der E-Commerce Markt immer weiter und damit einhergehend werden auch die Angriffe auf E-Commerce Systeme häufiger. Cyberbedrohungen stehen mittlerweile an der Tagesordnung. Dabei ist es entscheidend, die verschiedenen Angriffsvektoren zu verstehen und geeignete Maßnahmen zu ergreifen, um deine Plattform zu schützen. So gilt es Sicherheitslücken zu schließen und den reibungslosen Betrieb sicherzustellen.

Blog 04.07.24
Blog 04.07.24

So personalisiert KI mit Datenanalyse deinen Onlineshop

In der neuesten insights!-Folge hatten wir das Vergnügen, Ralph Hünermann, Gründer und Geschäftsführer der ODOSCOPE GmbH, im Studio zu begrüßen. Das Gespräch drehte sich um die Ansätze, die ODOSCOPE im Bereich der E-Commerce-Personalisierung, künstlicher Intelligenz und Datenanalyse verfolgt.

Blog 14.06.24
Blog 14.06.24

Vom Gästeerlebnis zur Kundenbindung: CX-Strategien im Okura

Wie schafft es ein Hotel, seine Gäste jeden Tag aufs Neue zu beeindrucken? In dieser insights!-Folge ist Niek Hammer, GM des Hotels Okura in Bangkok, zu Gast. Er teilt seine Erfahrungen, wie man im Hotelgewerbe mit Herz und Hingabe herausragenden Kundenservice bietet und eine Kultur der kontinuierlichen Verbesserung schafft. Du erfährst, wie man mit Fehlern umgeht und warum ein menschlicher Führungsstil den Unterschied macht. Dabei beleuchtet Niek, wie das Okura-Team täglich Exzellenz anstrebt, was hinter ihrem kontinuierlichen Verbesserungsprozess steckt und welche Rolle die Mitarbeiterführung dabei spielt.

Blog 23.05.24
Blog 23.05.24

E-Commerce-Strategie: Augmented Reality für bessere CX

Möbelstücke virtuell im Wohnzimmer platzieren? Outfits anprobieren, ohne das Haus zu verlassen? Mit Augmented Reality wird Onlineshopping zum Erlebnis! Durch diese Technologie wird das Shoppen immer interaktiver und spannender und hat zur Folge, dass es zu weniger Unsicherheit und mehr Spaß beim Einkaufen führt!

Blog 16.05.24
Blog 16.05.24

Zukunft:Omnichannel-Strategien für ROI und Kundenzentrierung

Omnichannel ist nicht nur ein Buzzword – es ist unumgänglich für Unternehmen, die wettbewerbsfähig bleiben wollen. Verzahnte Verkaufskanäle sind essentiell für ein reibungsloses Kundenerlebnis, das wiederum zu mehr Umsatz führt. Genau das ist das Thema der heutigen insights!-Folge. Dieses Mal kitzelt Sonja Fuhrmann, freie Journalistin, die insights aus mir heraus.

Blog 04.04.24
Blog 04.04.24

Digitaler Erfolg durch gemeinsame Unternehmenswerte

In dieser insights!-Folge beleuchten Laura Ludwig und Jan Stassen, die Gründer vom Museum für Werte, die Bedeutung von Werten und Organisationskultur in Zeiten des digitalen Wandels. Sie betonen die Notwendigkeit, nicht nur nach außen zu schauen, sondern auch nach innen zu reflektieren und die eigenen Werte in Technologie und Produktentwicklung zu integrieren.

Blog 21.03.24
Blog 21.03.24

Effizienzmaximierung durch KI, Personalisierung & Daten

In dieser insights!-Folge haben wir Philipp Krüger, Vice President Marketing & Consulting von Pimcore zu Gast. Gemeinsam diskutieren wir über die Zukunft der digitalen Technologie und nehmen dabei die Auswirkungen generativer KI, Hyper-Personalisierung und fortschrittlicher Datenmanagementlösungen auf das Marketing und E-Commerce ins Visier.

Blog 11.03.24
Blog 11.03.24

Personalisierung als Herzstück der Sales& Marketing-Strategy

In dieser insights!-Folge teilt Ali Saffari, Managing Partner von Voyage8 Group, Einblicke in effektive Führungsstrategien innerhalb des Vertriebs, Marketings und Customer Success. Ali diskutiert den Aufbau und die Anpassung von Vertriebsteams an sich wandelnde Marktdynamiken sowie die Nutzung von Daten zur Optimierung der Kundenansprache.

Blog 11.04.24
Blog 11.04.24

Überwindung der Kreativitätsblockade

In unserem Alltag tendieren wir oft dazu, auf bekannten und bewährten Wegen zu verharren. Diese Vorliebe für Vertrautes, die uns ein Gefühl von Sicherheit gibt, hindert uns jedoch daran, unsere kreative Ader voll auszuschöpfen – eine essentielle Fähigkeit, wenn es darum geht, innovative Lösungen für unsere Kunden zu entwickeln. Diese Lösungen sollen nicht nur deren Arbeitsalltag erleichtern, sondern auch beschleunigen und bereichern.

Blog 14.03.24
Blog 14.03.24

Diese Top 5 Superkräfte machen Product Owner unverzichtbar

In der sich ständig wandelnden digitalen Landschaft von heute ist der Product Owner nicht einfach nur eine Rolle – es ist eine Berufung. Du trägst die Vision deines Produkts wie ein Banner vor dir her und hast die Mission, das bestmögliche Erlebnis und Ergebnis für deine Nutzerer und Nutzerinne zu schaffen. Dabei geht es um so viel mehr als nur Planung und Verwaltung; es geht darum, eine Brücke zwischen dem, was ist, und dem, was sein könnte, zu bauen.

Blog 15.02.24
Blog 15.02.24

Erfolg im E-Commerce: UNGER setzt auf digitale Innovation

Im digitalen Zeitalter hat UNGER Fashion eine Vorreiterrolle im Luxusmodemarkt eingenommen. Durch die Integration von KI und einem unübertroffenen Kundenservice hebt sich das Unternehmen deutlich von Marktbegleitern ab. Fabian Haustein, CDO von UNGER Fashion, teilt exklusive Einblicke, wie Personalisierung und Technologie genutzt werden, um einzigartige Einkaufserlebnisse zu schaffen.

Blog 09.02.24
Blog 09.02.24

Ein Public Cloud Cheat Sheet der führenden Cloud Provider

Der Blogbeitrag bietet dir einen umfassenden Überblick über die aktuelle Landschaft der Public Cloud, insbesondere im Kontext von OVHcloud als führendem europäischen Cloud-Computing-Unternehmen. Das "Public Cloud Cheat Sheet" ist ein nützlicher Wegweiser durch die komplexe Welt der Public Cloud, unterteilt in acht Disziplinen. Diese Disziplinen reichen von Speicherdiensten über Datenbanken, Rechnersysteme, Orchestrierung, Netzwerk, Data & Analytics, KI bis hin zum Management.

Blog 26.01.24
Blog 26.01.24

Die bevorstehende Let's Encrypt Aktualisierung

Die Welt des Internets ist ständig im Wandel, und als Online-Shopbetreiber ist es unerlässlich, mit den neuesten Entwicklungen in der Webtechnologie Schritt zu halten. In diesem Kontext rückt die bevorstehende Verlängerung der Let's Encrypt-Zertifikate, die am 30. September 2024 ansteht, in den Fokus. Die letzten Jahre waren geprägt von Anpassungen und Sicherheitsmaßnahmen, und es ist an der Zeit, einen Blick auf die bevorstehende Umstellung zu werfen.

Blog 25.01.24
Blog 25.01.24

D2C: Kundenorientierung und Personalisierung im E-Commerce

In dieser insights!-Folge teilt Saskia Roch, Managing Director vom ECC NEXT, Einblicke mit dir, wie digitale Services, D2C-Strategien und eine starke Kundenorientierung die Spielregeln im E-Commerce verändern. Der Haupttrend? Künstliche Intelligenz! Saskia Roch betrachtet KI als eine goldene Gelegenheit für den Mittelstand, um den Fachkräftemangel zu bewältigen und rasch Fortschritte zu erzielen.

Blog 18.01.24
Blog 18.01.24

Mit Digital Nudging die Conversion Rate im Commerce steigen

Heute zu Gast: Denise Rettig. Denise zeigt auf, dass ein maßgeschneidertes Online-Erlebnis kein Luxus, sondern ein Muss ist. Wir erkunden, wie mit Tools wie Brytes selbst subtilste Verhaltensweisen auf der Webseite sichtbar werden - entscheidend für die Personalisierung des Einkaufserlebnisses und die Steigerung der Conversion. Wenn du wissen willst, was es damit auf sich hat und wie du deine Verkaufszahlen durch digitales Nudging um rund 12 % erhöhen kannst, dann schaue dir hier die Folge in voller Länge an.

Blog 11.12.23
Blog 11.12.23

Digitalisierung beginnt mit veränderter Denkweise

In dieser insights!-Folge gibt Karl-Heinz Land Einblicke in Themen wie die Vorstellung seines Buches “Erde 5.0”, die Angst der Menschen vor Neuem, die Unterschiede zwischen den Deutschen und den Amerikanern in Bezug auf Technologie sowie die positiven Veränderungen durch KI.

Blog 26.02.24
Blog 26.02.24

Kann der Hosting-Anbieter OVHcloud überzeugen?

Wenn du dich in der Welt des Cloud-Hostings bewegst, ist die Auswahl des richtigen Servers entscheidend für die Leistung, Zuverlässigkeit und Skalierbarkeit deiner Anwendungen. OVHcloud hat kürzlich eine neue Generation von Servern vorgestellt, doch wie gut sind diese wirklich? Um einen möglichst objektiven Vergleich anzustellen, haben wir uns für Geekbench entschieden. Aber was genau ist Geekbench und warum haben wir es für diesen Test gewählt?

Blog 11.07.24
Blog 11.07.24

Mit modernen Order-Management-Systemen zu zufriedenen Kunden

In dieser Folge von insights! hatte ich das Vergnügen, Linda Kuhr, die Gründerin und Geschäftsführerin von Fulfillmenttools, zu Gast zu haben. Sie teilt ihre Erfahrungen und Einblicke in die Welt des modernen Order Managements und die Herausforderungen, die dabei gemeistert werden müssen.

Jetzt Blog abonnieren und keine News mehr verpassen

✔️kostenlos ✔️jede Woche News ✔️Expertenwissen