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

Mit Digital Nudging lenkst du deinen Kunden zum Kauf

brytes-UX Managerin Katja Moritz und mir gehen die Themen rund um E-Commerce nicht aus. Nach den ersten zwei Gesprächsrunden, in denen wir uns mit Nudging und Informationsverarbeitung beschäftigt haben, widmen wir uns heute dem Treffen von Entscheidungen. Welche Strategien führen dazu, dass der Kunde sich für ein Produkt entscheidet und beim Check-out munter mit der Kreditkarte wedelt? So viel sei schon mal verraten: Dem Käufer sollte immer das Gefühl vermittelt werden, dass er bei dem Tausch Bares gegen Ware als Gewinner dasteht.

Blog 12.04.23
Blog 12.04.23

OVHcloud: Schutz vertraulicher Infos für Unternehmen

Die digitale Transformation hat in den letzten Jahren zu einem rasanten Anstieg der Datenmengen geführt, die Unternehmen und Organisationen auf der ganzen Welt verarbeiten und speichern müssen. In diesem Zusammenhang wird die Datensouveränität zu einem immer wichtigeren Thema, insbesondere wenn es darum geht, vertrauliche Informationen sicher und geschützt zu halten. Hier kommt die OVHcloud ins Spiel - ein europäischer Cloud-Service-Anbieter, der sich dem Schutz der Datensouveränität verschrieben hat.

Blog 06.04.23
Blog 06.04.23

Metaverse: B2B und B2C Unternehmen maximieren ihren ROI

Das Metaverse verspricht der Gamechanger für die Zukunft der virtuellen Realität und der digitalen Interaktion zu werden und hat das Potenzial Handel, Arbeitswelt und Freizeit nachhaltig zu verändern. Metaverse-Plattformen können Unternehmen dabei helfen, innovative Geschäftschancen zu schaffen und neue Kundengruppen zu erschließen. In diesem Kontext bieten sie die nächste große Chance für Unternehmen im E-Commerce, um wettbewerbsfähig zu bleiben und dein Geschäft auszubauen. Was es mit Metaverse genau auf sich hat, wie Unternehmen von der Metaverse-Revolution profitieren können und was wir von den Vorreitern lernen können, lernst du in der neuen insights!-Folge mit Christian Gleich.

Blog 30.03.23
Blog 30.03.23

Verbesserung der Customer Experience durch digitale Empathie

Im Gespräch widmen sich Katja Moritz und ich dem Phänomen der digitalen Körpersprache in der Online-Welt. Der technologische Fortschritt hat es inzwischen so weit gebracht, dass der Kunde im wahrsten Sinne des Wortes gläsern ist. Was in der Offline-Welt die Mimik ist, ist im Netz der Mausklick an der entsprechenden Stelle. Wie Shop-Betreiber die Wünsche und Bedürfnisse ihrer Kunden entschlüsseln, darüber gibt die Kölner User Epxerience Managerin heute Auskunft.

Blog 23.03.23
Blog 23.03.23

Managed Services im E-Commerce: Der Weg zu mehr Umsatz?

Recht technisch geht es heute beim Gespräch zwischen mir und dem Teamleiter von Managed Services & Software Development, Marc Achsnich, zu. Die beiden Kenner der E-Commerce-Branche fachsimpeln vor dem Mikrofon darüber, wie sich Onlineshops auf unerwartete Stoßzeiten vorbereiten können, in welchem Umfang die Systeme überwacht werden sollten und wie ein guter Kundensupport auszusehen hat.

Blog 16.03.23
Blog 16.03.23

Wie die MACH-Architektur und API-First helfen können

Heute habe ich Sven Baumgart, Gründer und CEO von Tremaze, zu Gast. Gemeinsam mit Sven tauchen wir in die Welt der App-Entwicklung ein. Tremaze hat zwei Anwendungen, Tremaze und Tagea, entwickelt. In der neuen insights!-Folge verrät Sven, wie sie bei der App-Entwicklung mit nur vier Vollzeitentwicklern vorgehen und wie die MACH-Architektur und der API-First Ansatz helfen können, kostengünstig Apps zu aufzubauen. Außerdem geht Sven auf ihre Herausforderungen und Best Practises ein.

Jetzt Blog abonnieren und keine News mehr verpassen

✔️kostenlos ✔️jede Woche News ✔️Expertenwissen