LMS-Anbieter Uteach mildert DDoS-Angriffe mit AWS

Uteach, ein Anbieter von SaaS-LMS, verbesserte die Plattformzuverlässigkeit und milderte gezielte DDoS-Angriffe mit Aland Clouds AWS WAF, EKS-Autoskalierung und einer Cloud-Architektur auf Karpenter-Basis.

Projektübersicht.


Kunde

Uteach ist ein Online-LMS, das Pädagogen, Lehrkräften und Unternehmen hilft, Kurse, Sitzungen oder andere Bildungs- und Schulungsprogramme anzubieten. Es bietet eine umfassende All-in-One-Plattform zum Erstellen, Verkaufen, Anbieten und Verwalten von Schulungsinhalten und automatisiert gleichzeitig viele Lernaufgaben, um Zeit zu sparen und den operativen Aufwand für die Führung eines Online-Lehrbetriebs zu reduzieren.

Uteach ist ein Cloud-basiertes SaaS-LMS, das den Wartungsaufwand für On-Premise-LMS-Lösungen überflüssig macht. Sie kümmern sich um die zugrundeliegenden technischen Komplexitäten, damit sich Lehrende und Content-Ersteller auf den Aufbau ihrer Trainingsinhalte konzentrieren können.

 

Infrastrukturübersicht

Die zugrunde liegende Infrastruktur von Uteach wird auf AWS gehostet. Sie verwendet EKS für die Ausführung der Anwendungs-Workloads und ELB für die Ermöglichung des Netzwerkzugangs. Zusätzlich nutzen sie Cloudflare CDN für das Caching von Inhalten an Edge-Standorten näher an den Benutzern zur Leistungsoptimierung. Jeder Mieter hat seine eigene DNS-gehostete Zone in Cloudflare.

 

Uteach ist eine Multi-Tenant-Plattform, auf der sich verschiedene Ersteller registrieren und anmelden können. Jeder Ersteller auf der Plattform kann seine eigene Website aufbauen, die von Uteach gehostet wird und seine Kursinhalte und andere Daten enthält. Ersteller erhalten außerdem eine separate, dedizierte URL, damit Schüler und Lernende auf die Inhalte des Erstellers zugreifen können. Diese URL kann automatisch von Uteach als Subdomain unter der Uteach-Domain bereitgestellt werden, oder es gibt auch die Möglichkeit, Ihre eigene benutzerdefinierte Domain zu verbinden und diese über die CloudFlare DNS-Zone zu nutzen.

 

 

Herausforderung

Nun, obwohl jeder Mandant (Erzieher auf der Plattform) isoliert ist, handelt es sich hierbei nur um eine logische Isolation auf Anwendungsebene, aber die zugrunde liegende Infrastruktur wird zwischen den Mandanten geteilt. Dies ist ein gängiges Design beim Aufbau von Multi-Tenant-SaaS-Lösungen, bei denen dedizierte Ressourcen für jeden Mandanten aufgrund extrem hoher Kosten oder anderer Einschränkungen bei der Ressourcenverwaltung nicht möglich sind.

Die Herausforderung bei diesem Design besteht darin, dass eine Ressourcenüberlastung bei einem der Benutzer die gesamte Infrastruktur beeinträchtigen und zu Störungen auf der gesamten Plattform führen kann. Ein wiederkehrendes Szenario, das bei Uteach häufig vorkam, war das Auftreten gezielter DDoS-Angriffe, die einen der Clients auf einer bestimmten URL überlasteten. Wenn dies geschah, traf der überflutende Netzwerkverkehr tatsächlich die zugrundeliegenden Cluster-Knoten, die auch andere Clients beherbergten, so dass alle Clients betroffen waren und Serviceunterbrechungen erlebten.

Diese Serviceunterbrechungen verschlechtern die Leistung und Zuverlässigkeit der Anwendung, schädigen den Geschäftsruf und gefährden die Geschäftskontinuität.

 

Ziele

Uteach wollte die Zuverlässigkeit der Plattform verbessern und solche Serviceunterbrechungen vermeiden. Dies erforderte eine Lösung, die Folgendes leisten kann:

Schutz vor gezielten DDoS-Angriffen, die das System überlasten. Verbesserung der Skalierbarkeit der Infrastruktur, um plötzliche Lastspitzen automatisch bewältigen zu können.

 

Lösung

Uteach hat sich an Aland Cloud um die möglichen Lösungen zur Bewältigung dieser Herausforderungen und zur Erreichung der gewünschten Ziele zu untersuchen und zu bewerten. Wir konnten diese Anforderungen durch die Umsetzung der folgenden Maßnahmen effizient erfüllen:

 

Blockieren Sie störenden Traffic mit WAF

Um die DDoS-Angriffe zu mildern, haben wir AWS WAF Zu Design und Konfiguration der entsprechenden Regeln zum Blockieren verdächtigen Traffics und Anwenden von Rate-Limiting. Die WAF sitzt vor dem Loadbalancer, um unerwünschten Traffic daran zu hindern, die Origin-Server zu erreichen.

 

Wir haben eine Web ACL konfiguriert und sie mit den Uteach-Webanwendungsressourcen auf AWS WAF verknüpft. Diese Web ACL enthält eine Reihe von Regeln zum Zulassen oder Blockieren spezifischen Datenverkehrs. Wenn WAF eine eingehende Anfrage empfängt, überprüft sie die Anfrage und wertet deren Inhalt anhand der festgelegten Regeln aus. Wenn sie eine passende Regel findet, wendet sie die erforderliche Aktion an, die der Regel entspricht, indem sie den Datenverkehr blockiert oder zulässt. Es gibt auch einen Standardregel-Satz für Datenverkehr, der nicht mit den expliziten Blockierungs- oder Zulassungsregeln übereinstimmt.

Auto-Scaling für EKS konfigurieren

Um die Infrastruktur dynamisch an schwankende Lasten anzupassen, haben wir Autoscaling für den EKS-Cluster implementiert. Dieses Autoscaling fügt dem Cluster automatisch weitere Knoten hinzu, wenn zusätzliche Ressourcen für den Weiterbetrieb der Pods benötigt werden. Wir haben Karpenter Als Autoscaling-Dienst überwacht er den Cluster und erkennt, wenn ein Ressourcenmangel besteht. Anschließend stellt er automatisch weitere Knoten bereit, um die Last zu bewältigen.

Autoscaling verbesserte die Leistung und Zuverlässigkeit des Systems, indem es serviceunterbrechungen durch Lastspitzen vermied. Es bot auch eine kosteneffiziente Lösung, da es die Knoten wieder herunterfährt, wenn die Clusterlast sinkt, und passt die Ressourcen somit automatisch an die optimale Balance zwischen Leistung und Kosten an.

 

Ergebnisse & Vorteile

Zusammenfassend berichtet Uteach, dass die Implementierung dieser Verbesserungen mit WAF und Autoskalierung viele Vorteile mit sich gebracht hat, darunter:

  • Erhöhte Verfügbarkeit und Betriebszeit der Plattform: 99,991 %
  • Keine Serviceunterbrechungen mehr durch DDoS-Angriffe, die das Geschäft von SaaS-Plattformen und deren Umsätze beeinträchtigten. Viele Unternehmen meldeten Verluste während anhaltender DDoS-Angriffe.
  • Optimierte Systemleistung mit weniger manuellem Eingriff und geringerem Betriebsaufwand

 

Schlussfolgerung

Wir konnten die Anforderungen des Kunden erfüllen, indem wir die Cloud-Architektur verbessert und kritische Infrastrukturkomponenten hinzugefügt haben, die die Sicherheit, Leistung und Zuverlässigkeit des Systems verbessern. Wir haben AWS WAF mit den entsprechenden Regeln implementiert, um bösartigen Datenverkehr zu blockieren und DDoS-Angriffe zu mildern, wodurch eine Überlastung der Backend-Infrastruktur verhindert und Dienstunterbrechungen vermieden werden.

Wir haben die Lösung noch weiter optimiert, indem wir automatische Skalierungsfunktionen für den EKS-Cluster konfiguriert haben, um die automatische Bereitstellung zusätzlicher Knoten bei steigender Ressourcenauslastung und die automatische Entfernung von Knoten bei wieder sinkender Auslastung zu ermöglichen. So wird auf automatisierte Weise ein optimales Gleichgewicht zwischen Kosteneffizienz und Leistung erzielt.

Diese Verbesserungen adressierten die Herausforderungen des Kunden und stärkten die allgemeine Systemzuverlässigkeit, wodurch mehr Vertrauen und eine positive Erfahrung für die Plattformnutzer geschaffen wurden.