Zum Inhalt
PEERYXNETWORK
PEERYX NETWORK4 min

Memcached-DDoS erkennen und abwehren

Reflektierte Memcached-Antworten erkennen, den Schutz des Opfers von der Absicherung eines Caches unterscheiden und legitimen Verkehr am richtigen Filterpunkt erhalten.

Auf dieser Seite

Das Wichtigste

  • UDP ist heute nicht standardmäßig aktivSeit Memcached 1.5.6 ist UDP standardmäßig deaktiviert. Prüfen Sie den laufenden Prozess und die tatsächliche Paketkonfiguration.
  • Die Richtung prüfenReflektierte Antworten verwenden häufig Quellport 11211. Eine Regel nur für den Zielport erfasst anderen Verkehr.
  • Den begrenzenden Link schützenEin Filter hinter einer gesättigten Übergabe stellt die davor verbrauchte Kapazität nicht wieder her.

Wie Memcached-Reflection einen unbeteiligten Dienst trifft

Eine erreichbare Memcached-Instanz mit aktiviertem UDP kann an eine im Request gefälschte Quelladresse antworten. Gehört diese Adresse zu Ihrem Dienst, erhält Ihr Netz die Antworten, obwohl Sie keinen öffentlichen Cache betreiben. Reflection bezeichnet diese Umleitung; Amplification eine Antwort, die größer als die Anfrage ist.

Nicht jede Memcached-Installation ist ein Reflektor. Seit Version 1.5.6 vom Februar 2018 ist UDP standardmäßig abgeschaltet. Ältere Pakete oder eine ausdrücklich geänderte Konfiguration können sich anders verhalten. Die Versionsnummer allein zeigt nicht, welche Sockets tatsächlich lauschen.

Weg einer Memcached-Reflection

  1. Gefälschte Quelladresse

    Die Anfrage nennt das Opfer als Absender.

  2. Erreichbarer UDP-Cache

    Der erreichbare Reflektor erzeugt eine Antwort.

  3. Netz des Opfers

    Antworten durchlaufen dessen Upstream- und Zustellpfad.

Prinzipdarstellung ohne gemessenen Verstärkungsfaktor. Quelladressvalidierung verhindert Spoofing am Ursprung; das Opfer benötigt zusätzlich einen geeigneten Filterpfad.

Verkehr bestätigen, bevor Sie eine Sperre festlegen

  1. Beobachtungspunkt bestimmen

    Erfassen Sie Interface, Richtung, Zeitraum und Samplingrate. Vergleichen Sie Eingangszähler mit Exporterschätzungen und Fehlern des betroffenen Dienstes. Ein gesättigter Upstream kann verhindern, dass der Host den gesamten Angriff beobachtet.

  2. Quell- und Zielport unterscheiden

    Untersuchen Sie eingehende UDP-Antworten mit Quellport 11211, ihre Ziele und Paketgrößen. Anfragen an einen Cache betreffen üblicherweise Zielport 11211. Keiner der Ports beweist allein einen Angriff: Vergleichen Sie mit den tatsächlich zugelassenen Diensten und Clients.

  3. Fragmente und Sichtbarkeit der Anfragen prüfen

    Spätere IPv4-Fragmente enthalten keinen UDP-Header. Ein reiner Portfilter oder gesampelter Flow-Datensatz kann daher Verkehr übersehen. Fehlende Anfragen in einem Mitschnitt nur einer Richtung beweisen nicht, dass keine gesendet wurden: Asymmetrisches Routing und Sampling können sie verbergen.

  4. Auswirkungen auf den Dienst messen

    Trennen Sie Bandbreite, Paketrate, Verluste, Warteschlangen und erfolgreiche Anwendungsvorgänge. Hohe PPS bei freier Bandbreite können eine Verarbeitungslimitierung zeigen; hohes Volumen kann die Übergabe schon vor einer hohen lokalen CPU-Auslastung sättigen.

Wenn Sie einen Memcached-Server betreiben

Binden Sie den Cache an die vorgesehene private oder Loopback-Adresse und beschränken Sie den Zugriff auf seine tatsächlichen Clients. Wird UDP nicht benötigt, deaktiviert die Memcached-Startoption -U 0 das Protokoll. Prüfen Sie die wirksame Dienstkonfiguration, statt sich auf Distributionsvorgaben zu verlassen.

Planen Sie die Änderung anhand der Anwendung: TCP- und UDP-Clients identifizieren, lauschende Sockets prüfen und einen Rückweg vorsehen. Kontrollieren Sie nach einer Änderung im passenden Wartungsfenster den Cachebetrieb und Anwendungsfehler. Das Schließen Ihres exponierten Caches entfernt einen möglichen Reflektor; es stoppt keine fremden Server, die Verkehr zu Ihnen reflektieren.

Wenn Ihre Adresse das Opfer ist

Ermitteln Sie die erste Kapazitätsgrenze: Providerport, gemeinsamer Uplink, Tunnel-Underlay, Übergabe oder Server-NIC. Lokales Filtern kann Anwendungsressourcen schützen, solange Kapazität bleibt, aber keine vor dem Filter verlorenen Pakete zurückholen. Bei gesättigtem Eingang muss die Maßnahme vor diesem Engpass greifen.

Begrenzen Sie die Regel auf das geschützte Ziel und das bestätigte Verkehrsmuster. Erhalten Sie erforderlichen Cacheverkehr und andere UDP-Dienste. Eine pauschale UDP-Sperre kann die Angriffskurve senken und gleichzeitig Spiele, VPNs oder DNS abschalten. Prüfen Sie Quellportabgleich, Fragmentbehandlung und verfügbare Aktionen am verwendeten Filtergerät.

Bei einer Umleitung prüfen Sie Präfixberechtigung, installierte Routen, Empfangsendpunkt, MTU und Rückverkehr. Klären Sie die Verantwortung für Regelablauf und Routenrücknahme. Ein Tunnel transportiert Pakete; er erkennt Angriffsdaten nicht selbst.

Beispiel: Filtern vor einer Übergabe mit 1 Gbit/s

Betrachten wir eine beispielhafte Übergabe mit 1 Gbit/s und 100 Mbit/s legitimen Verkehr. Liegen davor 2 Gbit/s reflektierte Antworten an, kann eine nachgelagerte Firewall den Link nicht alle benötigten Pakete transportieren lassen. Dies ist ein Kapazitätsbeispiel, keine Kundenmessung und kein Filterbenchmark.

Eine aussagekräftige Prüfung erfasst das Angriffsmuster vor dem Filter, die Restlast danach und erfolgreiche legitime Transaktionen über die Übergabe. Verbleibende Empfangskapazität zählt: Eine niedrigere Angriffskurve beweist allein keine Wiederherstellung des Dienstes.

Häufige Fehler während des Vorfalls

  • Zielport 11211 sperren, obwohl die betreffenden eingehenden Pakete Antworten von Quellport 11211 sind.
  • Aus fehlenden Anfragen in einem Mitschnitt auf ausschließlich unaufgeforderten Verkehr im gesamten Netz schließen.
  • Nicht initiale Fragmente ignorieren oder eine ungeprüfte Fragmentregel auf legitime Dienste anwenden.
  • Eine korrigierte Cachekonfiguration mit Schutz gegen unabhängige externe Reflektoren gleichsetzen.
  • Eine Notfallregel ohne Verantwortlichen, Ablaufbedingung oder Wiederherstellungsprüfung aktiv lassen.

Nachweise für Provider und Wiederherstellung aufbewahren

Bewahren Sie betroffenes Ziel, genaue Zeiten mit Zeitzone, Eingangsinterface, Zählerdifferenzen, Samplingparameter und eine begrenzte Paketprobe Ihres eigenen Verkehrs auf. Trennen Sie angebotenen Angriffsverkehr von der Zustellung nach dem Filter. Verlassen Sie sich nicht auf einen einzelnen Spitzenwert oder einen Mitschnitt hinter bereits entstandenen Verlusten.

Prüfen Sie nach der Abwehr Kundenanwendung und erwarteten Cachezugriff, danach verbleibende PPS, Verluste und Warteschlangen. Entfernen Sie temporäre Regeln nach dem vereinbarten Verfahren und bestätigen Sie den normalen Pfad. Nutzen Sie die Nachweise zur Schwellenwertprüfung, statt das Muster eines Vorfalls zur dauerhaften universellen Signatur zu erklären.

Fragen und Antworten

Kann ich ohne eigenen Memcached-Betrieb betroffen sein?

Ja. Reflection nutzt entfernte Server. Ihre Adresse steht in gefälschten Anfragen; die Antworten erreichen dadurch Ihr Netz.

Beweist Quellport 11211 bösartigen Verkehr?

Nein. Er liefert ein nützliches Protokollmerkmal. Prüfen Sie Zielrolle, erlaubte Clients, Nutzdatenkontext und Verkehrsrichtung vor der Filterentscheidung.

Behebt ein Cache-Upgrade einen Angriff auf meine öffentliche IP?

Es kann einen von Ihnen betriebenen exponierten Reflektor entfernen, repariert aber weder fremde Server noch einen bereits gesättigten Upstream-Pfad.

Referenzen und Dokumentation

Die Maßnahme an den Engpass anpassen.

Ist die Anbindung gesättigt, stellt eine dahinterliegende Filterung die verlorene Kapazität nicht wieder her. Vergleichen Sie geschützte Netzzuführung und lokale Filterung und prüfen Sie Paket- wie Bitrate.

Weitere Leitfäden zu diesem Thema ↗