- Door
- Arnout Veenman
- geplaatst op
- 4 maart 2013 08:01 uur
Een crash van de edge routers van Cloudflare heeft 800.000 websites één uur lang platgelegd. Doordat ook de nameservers van Cloudflare onbereikbaar waren, waren ook andere diensten zoals mailservers die draaien achter de domeinnamen van de bewuste websites onbereikbaar. Ondanks mooie woorden over het garanderen van 100% uptime en het feit dat de storing onacceptabel is, hebben enkel klanten die minimaal 200 dollar per maand betalen, recht op compensatie en ook die hebben maar recht op maximaal 6,72 dollar.
De storing begon om 10:47 uur (Nederlandse tijd). Het duurde ongeveer een half uur voor dat de oorzaak van probleem die was ontdekt door Cloudflare, zo legt het bedrijf uit in een blogpost. Een groot deel van de routers kon nog op afstand worden hersteld, maar omdat een aantal van de routers helemaal niet meer reageerden moest er een medewerker de datavloer op gaan om de router te herstellen. Hierdoor duurde het volgens het bedrijf nog enige tijd voordat de storing volledig was opgelost en om 11:49 uur alle diensten van het bedrijf weer volledig operationeel waren.
De domeinnamen van de websites die Cloudflare gebruiken, moeten ook gebruik maken van de nameservers van het bedrijf. Doordat ook de nameservers onbereikbaar waren, waren ook diensten zoals e-mailservers en subdomeinen die niet achter de Cloudflare proxy zitten, onbereikbaar. Ook voor uitgaande e-mail kan de storing voor problemen hebben gezorgd, omdat onder meer DKIM-sleutels en SPF-records niet konden worden geraadpleegd. Ook laat Cloudflare met deze storing zien dat het wenselijk is om tenminste één nameserver in een extern netwerk te hosten.
In Nederland zijn er ook verschillende websites getroffen door de Cloudflare storing. Ondermeer NOS.nl maakt gebruikt van de diensten van het bedrijf en was dus tijdelijk onbereikbaar. Ook ISPam.nl zelf maakt gebruik van Cloudflare.
Oorzaak
De crash van de edge routers van het merk Juniper ontstond na dat een rule was toegevoegd aan de edge routers in de 23 datacenters waar Cloudflare een point of presence heeft. De rule die ervoor moest zorgen dat een DDoS-aanval gericht tegen een bepaalde klant werd gestopt, maar zorgde er in plaats daarvan voor dat het RAM-geheugen van de routers volliep als gevolg waarvan deze crashten.
Hoe de storing door de rule die was toegevoegd aan de routers kon leiden tot de storing is nog onbekend. Wel was er iets bijzonders met de rule aan de hand. De rule schreef voor dat alle packets met een grote tussen de 99,971 en 99,985 bytes gedropt worden. Uit de analyse van de DDoS-aanval bleek namelijk dat de packets die grote hadden. Dat kon echter niet kloppen, omdat de maximale packet grote binnen het Cloudflare netwerk 4.470 bytes was.
De rule had dus geen enkel match kunnen opleveren, maar in plaats daarvan liet deze het RAM-geheugen van de routers vollopen. Het is nu de vraag of de crash van de routers veroorzaakt is door een (bekende) bug in de Juniper routers of dat de oorzaak moet worden gezocht in de wijze waarop de routers door Cloudflare zelf geconfigureerd zijn.
SLA: $6,72 vergoeding
Cloudflare laat in een blogpost weten dat de vergoeding voor de downtime pro-actief aan klanten die daar volgens hun SLA recht op hebben uit te betalen. Alleen klanten die een business (200 dollar per website per maand) of enterprise (vanaf 3.000 dollar per website per maand) abonnement bij het bedrijf hebben, hebben recht op compensatie.
De business klanten hebben volgens de SLA recht op een vergoeding die neerkomt op maximaal 25 keer de downtime. In dit geval betekent dat ze precies één dag dienstverlening gratis krijgen (plus het uur dat ze eerder niet hebben gekregen door de downtime). Een klant die dus 200 dollar per maand betaalt en een 100% uptime garantie heeft gekregen, krijgt dus 6,72 dollar aan vergoeding van Cloudflare voor de downtime van een uur.