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 05.07.24
Blog 05.07.24

Die Bedeutung der Datensouveränität

Datensouveränität ist nicht nur ein Marketing-Buzzword, sondern ein Erfolgsfaktor für Unternehmen, die in der globalen Wirtschaft ganz vorne mitspielen wollen. Die jüngste Bitkom-Studie zur Cloudsouveränität unterstreicht die wachsende Bedeutung von Cloud-Lösungen für deutsche Unternehmen und zeigt auf, dass 95 % der befragten Unternehmen Cloud Computing bereits im Einsatz haben oder noch nutzen wollen​.

Blog 02.05.24
Blog 02.05.24

KI & Personalisierung: Zukunft der Softwareentwicklung

In dieser Folge von insights! erläutert Ralf Trapp, CEO von procelo, die Bedeutung von Menschen in der Softwareentwicklung. Dabei teilt er seine Erfahrungen und Erkenntnisse aus seiner langjährigen Tätigkeit im Mittelstandsbereich und gibt wertvolle Einblicke, wie Unternehmen ihre Softwareentwicklungspraktiken optimieren können, um hochwertige und zuverlässige Produkte zu liefern.

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 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.

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 07.12.23
Blog 07.12.23

Shopwares Vision für die digitale Zukunft des E-Commerce

Im Gespräch mit mir erzählt dir Sebastian Hamann, CEO von Shopware, wie KI und innovative Technologien den E-Commerce transformieren können und wie Shopware den Markt für mittelständische Unternehmen mit Lösungen, die wirklich etwas bewegen, aufmischt. Sebastian verrät dir zudem, warum kundenzentrierter Markenaufbau und mutige Entscheidungen das A und O für zukünftigen, digitalen Erfolg sind.

Blog 30.11.23
Blog 30.11.23

HighTouch und HighTech: CoreMedia für optimierte CX

In der neuen insights!-Folge diskutiere ich mit Sören Stamer, CEO von CoreMedia, über Themen, wie Customer Experience, Content-Produktion, persönliche Assistenten sowie die Herausforderungen der Interaktion mit KI. Du erfährst mehr über die wichtige Rolle von "High Touch" und "High Tech" in der Customer Experience und warum der menschliche Touch auch in Zeiten fortschreitender KI-Entwicklungen unersetzlich bleibt.

Blog 17.11.23
Blog 17.11.23

Wie Kölner Stadtanzeiger Medien 80% CTR Boost mit KI erzielt

Heute zu Gast: Robert Zilz, Head of Data vom Kölner Stadtanzeiger Medien. In dieser insights!-Folge gewährt Robert Einblicke wie ein traditionelles Verlagshaus erfolgreich den Wandel zur datengetriebenen Zukunft vollzieht und dabei den Mehrwert von KI im Journalismus realisiert. Dies ist nicht nur ein inspirierendes Beispiel für die Branche, sondern auch ein Zeichen dafür, wie Innovation und Anpassungsfähigkeit den Journalismus vorantreiben können.

Blog 02.11.23
Blog 02.11.23

Intergastro: E-Commerce und Kundenzentrierung für B2B-Erfolg

Stefan Plate, Gründer von "INTERGASTRO", einem führenden Anbieter von Gastronomiebedarf, diskutiert mit Joubin Rahimi über die Entstehung und Entwicklung seines Unternehmens seit dem Jahr 2000. INTERGASTRO hat sich erfolgreich etabliert und beliefert Kunden in ganz Deutschland mit Non-Food-Artikeln für die Gastronomie. Stefan Plate hebt hervor, wie sein Unternehmen auch in unsicheren Zeiten, wie während der Corona-Krise, anpassungsfähig blieb und weiterhin Erfolg verzeichnen konnte.

Blog 10.11.23
Blog 10.11.23

Internen Traffic mit IPv6 Adressen ausschließen

Die Digitalisierung schreitet unaufhörlich voran und mit ihr die Weiterentwicklung von Netzwerktechnologien. IPv6-Adressen gewinnen immer mehr an Bedeutung, da der Adressraum von IPv4 langsam erschöpft ist. Doch wie passt dies in die Welt von Google Analytics 4, das primär für IPv4 konzipiert wurde? Die Verwendung von IPv6 in GA4 birgt sowohl Chancen als auch Herausforderungen. In diesem Blogbeitrag beleuchten wir, wie man IPv6-Adressen in GA4 nutzt, um internen Traffic zu filtern und gehen auf die Hürden ein, die sich durch die Fokussierung von GA4 auf IPv4 ergeben.

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.

Jetzt Blog abonnieren und keine News mehr verpassen

✔️kostenlos ✔️jede Woche News ✔️Expertenwissen