Naar de inhoud
PEERYXNETWORK
PEERYX NETWORK4 min

Memcached-DDoS: herkennen en tegengaan

Gereflecteerde Memcached-antwoorden herkennen, filtering bij het slachtoffer onderscheiden van cachebeveiliging en legitiem verkeer behouden bij de keuze van de filterlocatie.

Op deze pagina

Kernpunten

  • UDP staat tegenwoordig standaard uitSinds Memcached 1.5.6 is UDP standaard uitgeschakeld. Controleer het actieve proces en de werkelijke pakketconfiguratie.
  • Controleer de richtingGereflecteerde antwoorden gebruiken vaak bronpoort 11211. Een regel voor alleen de doelpoort selecteert ander verkeer.
  • Bescherm de beperkende verbindingFiltering achter een verzadigde overdracht herstelt de eerder verbruikte capaciteit niet.

Hoe Memcached-reflectie een onafhankelijke dienst bereikt

Een bereikbare Memcached-instantie met ingeschakelde UDP kan antwoorden naar een vervalst bronadres in een verzoek sturen. Hoort dat adres bij uw dienst, dan ontvangt uw netwerk de antwoorden, ook zonder eigen openbare cache. Reflectie is die omleiding; versterking betekent dat het antwoord groter is dan het verzoek.

Niet iedere Memcached-installatie is een reflector. UDP staat standaard uit sinds versie 1.5.6 uit februari 2018. Een ouder pakket of een expliciete instelling kan anders werken. Alleen het versienummer vertelt niet welke sockets werkelijk luisteren.

Pad van Memcached-reflectie

  1. Vervalst bronadres

    Het verzoek noemt het slachtoffer als afzender.

  2. Bereikbare UDP-cache

    Een bereikbare reflector maakt het antwoord.

  3. Netwerk van het slachtoffer

    Antwoorden passeren de upstreamverbindingen en het afleverpad.

Principeweergave zonder gemeten versterkingsfactor. Bronadresvalidatie voorkomt spoofing bij de oorsprong; het slachtoffer heeft daarnaast een passend filterpad nodig.

Bevestig het verkeer voordat u een blokkade kiest

  1. Bepaal het meetpunt

    Noteer interface, richting, tijdvak en samplingfrequentie. Vergelijk ingangstellers met exporterschattingen en fouten van de getroffen dienst. Een verzadigde upstreamverbinding kan verhinderen dat de host de volledige aanval ziet.

  2. Onderscheid bron- en doelpoort

    Onderzoek inkomende UDP-antwoorden met bronpoort 11211, hun bestemmingen en pakketgroottes. Verzoeken aan een cache gebruiken doorgaans doelpoort 11211. Geen van beide poorten bewijst op zichzelf een aanval: vergelijk met daadwerkelijk toegestane diensten en clients.

  3. Controleer fragmenten en zichtbaarheid van verzoeken

    Latere IPv4-fragmenten bevatten geen UDP-header. Een filter op alleen poorten of een gesampled flowrecord kan daardoor verkeer missen. Geen verzoeken zien in een opname van één richting bewijst niet dat ze ontbreken: asymmetrische routing en sampling kunnen ze verbergen.

  4. Meet het effect op de dienst

    Houd bandbreedte, pakketsnelheid, verliezen, wachtrijen en geslaagde applicatiehandelingen apart. Veel PPS bij beschikbare bandbreedte kan een verwerkingslimiet tonen; een hoge bitrate kan de overdracht verzadigen voordat de lokale CPU zwaar belast raakt.

Als u een Memcached-server beheert

Bind de cache aan het bedoelde private of loopbackadres en beperk toegang tot de echte clients. Is UDP niet nodig, dan schakelt Memcached-startoptie -U 0 het uit. Controleer de effectieve dienstconfiguratie in plaats van op distributiestandaarden te vertrouwen.

Plan de wijziging rond de applicatie: identificeer TCP- en UDP-clients, controleer luisterende sockets en houd een terugvalmogelijkheid. Verifieer na de ingreep binnen een geschikt onderhoudsvenster cachehandelingen en applicatiefouten. Uw blootgestelde cache sluiten verwijdert een mogelijke reflector; het stopt geen externe servers die verkeer naar u reflecteren.

Als uw adres het slachtoffer is

Zoek de eerste capaciteitsgrens: providerpoort, gedeelde uplink, tunnelunderlay, overdracht of server-NIC. Lokaal filteren kan applicatieresources beschermen zolang capaciteit resteert, maar geen vóór het filter verloren pakketten herstellen. Bij een verzadigde inkomende verbinding moet de ingreep vóór dat knelpunt plaatsvinden.

Richt de regel op de beschermde bestemming en het bevestigde verkeerspatroon. Behoud noodzakelijke cachecommunicatie en andere UDP-diensten. Een algemene UDP-blokkade kan de aanvalsgrafiek laten dalen en tegelijk games, VPN’s of DNS stilleggen. Controleer bronpoortselectie, fragmentafhandeling en beschikbare acties op het werkelijke filterapparaat.

Controleer bij omleiding de prefixautorisatie, geïnstalleerde routes, ontvangende endpoint, MTU en retourverkeer. Spreek af wie verantwoordelijk is voor regelverval en route-intrekking. Een tunnel transporteert pakketten; hij herkent aanvalspakketten niet zelf.

Voorbeeld: filteren vóór een overdracht van 1 Gbit/s

Neem als voorbeeld een afleververbinding van 1 Gbit/s met 100 Mbit/s legitiem verkeer. Als daarvoor 2 Gbit/s gereflecteerde antwoorden wordt aangeboden, kan een firewall erachter de verbinding niet alle benodigde pakketten laten verwerken. Dit is een capaciteitsvoorbeeld, geen klantmeting of filterbenchmark.

Een bruikbare validatie legt het aanvalspatroon vóór filtering, de restbelasting erna en geslaagde legitieme transacties over de overdracht vast. Overblijvende ontvangstcapaciteit telt: een lagere aanvalsgrafiek bewijst op zichzelf geen herstelde dienst.

Veelgemaakte fouten tijdens het incident

  • Doelpoort 11211 blokkeren terwijl de relevante inkomende pakketten antwoorden vanaf bronpoort 11211 zijn.
  • Ontbrekende verzoeken in één opname zien als bewijs van ongevraagd verkeer in het hele netwerk.
  • Niet-eerste fragmenten negeren of een ongeteste fragmentregel op legitieme diensten toepassen.
  • Een gecorrigeerde cacheconfiguratie gelijkstellen aan bescherming tegen onafhankelijke externe reflectoren.
  • Een noodregel actief laten zonder eigenaar, vervalvoorwaarde of herstelcontrole.

Bewijs voor provider en herstel bewaren

Bewaar de getroffen bestemming, precieze tijden met tijdzone, ingangsinterface, tellerveranderingen, samplinginstellingen en een beperkte pakketsteekproef van uw eigen verkeer. Scheid aangeboden aanvalsverkeer van aflevering na filtering. Vertrouw niet op één piek of op een opname achter al opgetreden pakketverlies.

Controleer na mitigatie de klantapplicatie en verwachte cachetoegang, daarna resterende PPS, verliezen en wachtrijen. Verwijder tijdelijke regels volgens afspraak en bevestig dat het normale pad werkt. Bewaar incidentgegevens voor drempelherziening, zonder het patroon van één incident tot permanente universele handtekening te maken.

Vragen en antwoorden

Kan ik worden getroffen zonder Memcached te gebruiken?

Ja. Reflectie gebruikt servers elders. Uw adres staat in vervalste verzoeken, waardoor hun antwoorden uw netwerk bereiken.

Bewijst bronpoort 11211 dat verkeer kwaadaardig is?

Nee. Het is een nuttig protocolkenmerk. Controleer bestemmingsrol, toegestane clients, context van de inhoud en verkeersrichting voordat u filtering kiest.

Lost een cache-upgrade een aanval op mijn openbare IP op?

Dat kan een door u beheerde blootgestelde reflector verwijderen, maar geen externe servers herstellen of een al verzadigd upstreamtraject ontlasten.

Bronnen en documentatie

De aanpak afstemmen op de beperking.

Als de aansluiting verzadigd is, herstelt filtering erachter de verloren capaciteit niet. Vergelijk beschermde netwerklevering met lokale filtering en toets zowel pakket- als bitrate.

Meer gidsen over dit onderwerp ↗