Utvecklarna av plattformen för gemensamt arbete SourceHut publicerade en incidentrapport där det framgår att tjänsten var nere i sju dagar på grund av en långvarig DDoS-attack, som infrastrukturen inte var beredd på. De grundläggande tjänsterna återställdes på den tredje dagen, men vissa tjänster var otillgängliga från den 10 till den 17 januari. Under den initiala fasen av attacken hann inte utvecklarna reagera och försöka motverka problemet på sina servrar, då all trafik mot SourceHuts servrar helt blockerades av den överordnade leverantören.
För att säkerställa driften av SourceHut användes servrar i tre datacenter. Det första hade en aktiv konfiguration, det andra användes för backup, medan det tredje användes för experiment med att migrera infrastrukturen till en mer skalbar och redundanta tjänst (en nästa generations variant av SourceHut utvecklades).
Att lösa frågan om åtkomst till sina servrar i det huvudsakliga datacentret efter blockeringen tog omkring 9 timmar, men utvecklarna hann inte göra något, eftersom attacken på morgonen intensifierades och började omfatta hela subnettet, varefter leverantören återigen omdirigerade trafik till en null-gränssnitt. Utvecklarna tvingades akut börja arbeta med att distribuera SourceHuts infrastruktur i ett annat datacenter från backup (en temporär subnet för åtkomst till huvudservrarna kunde endast erhållas efter två dagar).
För att skydda mot DDoS-attacker som genomfördes på nätverksnivå ansågs det optimalt att placera en mellanliggande servern i det molnleverantören OVH-nätverket, som tillhandahåller DDoS-skydd. Alla förfrågningar dirigerades till denna server och vidarebefordrades sedan till den aktiva infrastrukturen. Under migreringen kunde inte fel undvikas, vilket tog extra tid, till exempel utfördes återställningen med hjälp av verktyget rsync felaktigt, nätverksinställningar innehöll misstag, och problem med trafikomdirigering fick lösas (innan DDoS-skyddet i OVH trädde i kraft, dirigerades även DDoS-attackens trafik till de aktiva servrarna, vilket ledde till att DDoS-skyddssystemet reagerade och identifierade den server som tog emot förfrågningarna som en attackkälla).
Utvecklarna kontaktade även Cloudflare och andra DDoS-skyddstjänster, men kostnaden för skyddet visade sig vara orimligt hög. Senare lyckades Cloudflares anställda förhandla med ledningen för att erbjuda skydd för SourceHut-projektet gratis som sponsorhjälp, men utvecklarna av SourceHut avböjde erbjudandet eftersom de vid den tidpunkten redan hade gjort betydande framsteg med att lösa problemet på egen hand.
Implementeringen av den nya SourceHut-infrastrukturen och migreringen av projektet till servrar i ett annat datacenter var planerad att ske gradvis under minst ett år, men på grund av de rådande omständigheterna tvingades migreringen att genomföras akut inom 7 dagar. För närvarande har alla SourceHut-tjänster flyttats till ett annat datacenter och plattformens funktionalitet har återställts helt.
SourceHut-plattformen har ett unikt gränssnitt som inte liknar GitHub eller GitLab, men som är enkelt, mycket snabbt och fungerar utan JavaScript. SourceHut erbjuder funktioner som arbete med offentliga och privata Git- och Mercurial-repositorier, ett flexibelt behörighetshanteringssystem, wiki, rapportering av felmeddelanden, inbyggd infrastruktur för kontinuerlig integration, chatt, diskussioner via e-post, trädformad granskning av e-postlistor, granskning av förändringar via webben, och att lägga till anteckningar till koden (bifoga länkar och dokumentation). Med rätt inställningar är det tillåtet för användare utan lokala konton att delta i utvecklingen (autentisering via OAuth eller deltagande via e-post). Koden är skriven i Python och Go och distribueras under GPLv3-licensen.
Källa: opennet.ru
