Programeri platforme za zajednički rad SourceHut objavili su izvještaj o incidentu koji je rezultirao prekidom rada usluge tijekom 7 dana zbog dugotrajne DDoS napada na koji infrastruktura projekta nije bila spremna. Osnovne usluge su uspjele biti vraćene trećeg dana, ali su neke usluge ostale nedostupne od 10. do 17. siječnja. U početnoj fazi napada, programeri nisu uspjeli reagirati i pokušati se suprotstaviti problemu na svojoj strani servera, jer je sav promet prema serverima SourceHut bio potpuno blokiran na strani višeg pružatelja usluga.
Za rad SourceHut korišteni su servere u tri data centra. Prvi je imao radnu konfiguraciju, drugi se koristio za rezervnu kopiju, a treći je bio namijenjen eksperimentima s migracijom infrastrukture na skalabilniju i otporniju implementaciju usluge (razvijala se verzija SourceHut nove generacije).
Za rješavanje pitanja pristupa svojim serverima u glavnom data centru nakon blokade bilo je potrebno oko 9 sati, ali programeri nisu uspjeli ništa učiniti jer je ujutro napad pojačan i obuhvatio cijelu podmrežu, nakon čega je pružatelj ponovno preusmjerio promet na null sučelje. Programeri su bili prisiljeni hitno početi s radom na postavljanju infrastrukture SourceHut u drugom data centru iz rezervnih kopija (privremena podmreža za pristup glavnim serverima mogla je biti dobivena tek nakon 2 dana).
Za zaštitu od DDoS napada na mrežnoj razini, optimalno je bilo smjestiti posrednički poslužitelja u mreži oblaka OVH, koji pruža DDoS zaštitu. Svi zahtjevi su upućeni na ovaj server, a zatim proslijeđeni u radnu infrastrukturu. Tijekom migracije nisu se mogle izbjeći greške, koje su oduzele dodatno vrijeme, poput neispravnog vraćanja pomoću alata rsync, a došlo je do grešaka u konfiguraciji mreže i moglo se riješiti problema s preusmjeravanjem prometa (prije nego što je DDoS zaštita u OVH-u počela djelovati, na radne servere je bio preusmjeren i DDoS promet, na što je sustav DDoS zaštite reagirao i prepoznao server koji prima zahtjeve kao izvor napada).
Razvijači su se također obratili Cloudflare-u i nekim drugim servisima za zaštitu od DDoS-a, ali je cijena zaštite bila neprihvatljivo visoka. Kasnije su zaposlenici Cloudflare-a uspjeli dogovoriti s upravom pružanje zaštite projektu SourceHut besplatno kao sponzorsku pomoć, no razvijači SourceHut-a su odbili ovu ponudu jer su do tog trenutka već značajno napredovali u rješavanju problema vlastitim snagama.
Implementacija nove infrastrukture SourceHut i premještaj projekta na servere u drugom data centru planirana je postupno tijekom najmanje jedne godine, ali su, u trenutnim okolnostima, migraciju morali izvršiti hitno u roku od 7 dana. Trenutno su svi servisi SourceHut premješteni u drugi data centar i rad platforme je potpuno obnovljen.
Platforma SourceHut se razlikuje po jedinstvenom korisničkom sučelju, koje nije slično GitHub-u i GitLab-u, ali je jednostavno, vrlo brzo i radi bez JavaScripta. SourceHut pruža mogućnosti kao što su rad s javnim i privatnim Git i Mercurial repozitorijima, fleksibilan sustav upravljanja pristupom, wiki, primanje izvještaja o greškama, ugrađenu infrastrukturu za kontinuiranu integraciju, chat, rasprave putem emaila, hijerarhijski pregled arhiva mailing lista, pregled promjena putem weba, dodavanje bilješki u kod (prikazivanje linkova i dokumentacije). Kada su aktivirane odgovarajuće postavke, omogućena je sudjelovanje u razvoju korisnicima bez lokalnih računa (autentifikacija putem OAuth-a ili sudjelovanje putem emaila). Kod je napisan na jezicima Python i Go, i distribuira se pod licencom GPLv3.
Izvor: opennet.ru
