Az YRoNS projekt (3. rész) – A tűzben edzett programozók

A kibertámadás után fokozottan ügyeltünk mindenre: mit, hogyan és kivel osztunk meg, ugyanis feltehető volt, hogy valakinek az otthoni gépéről került ki egy belső dokumentum a jelszavakkal. A Cloudflare-védelem implementációja után a “támadások” (automatizált bejelentkezési kísérletek) száma 0-ra csökkent, mivel a scraperek és botok nem tudtak túljutni az előzetes szűrőkön.

De ezzel csak egy problémát oldottunk meg, rögtön jött is a helyére két másik kérdés…

Indul a fejlesztés

Az alkalmazás fejlesztését már korábban megkezdtem, de ezen a ponton látszott, hogy egyedül ez nem fog menni, így az alkalmazást modulokra bontva, egy kedves (és hozzáértő) társammal vágtunk neki a feladatoknak.

Az alkalmazás nagyon sok elemből áll, többek között:

  1. “Virtuális névjegy” szolgáltatás (QR-kóddal)
  2. Eseménynaptár
  3. Kérdésfeltevő rendszer (Mentimeter-szerű)
  4. Interaktív Budapest-térkép és helymeghatározás alapú városi “rally” (innentől csak CityFun)
  5. Üzenetküldő szolgáltatás
  6. Zenekérő rendszer a záróbulihoz

Ezt persze úgy kell mind leprogramozni, hogy bírja a folyamatos, kb. 120-150 ember általi használatot és esetleges infrastruktúra-elem kiesés esetén is működni tudjon. Az igazi nehézséget inkább az utóbbi paraméter megvalósítása okozta.

Hogyan oldottuk meg mindezt?

Itt lehetne azt mondani, hogy ez kiváló alkalom egy felhőszolgáltatás vagy edge alapú rendszer bevetésére, de mivel ekkor már nagyjából megvolt a büdzsé a technikai rendszerekre, így úgy döntöttünk, hogy mindent az eddig meglévő VPS-re, infrastruktúrára és szolgáltatóra építünk fel.

Az alábbi ábra viszonylag friss, az eddigi fejlesztések és infrastruktúra-elemek jó részét tartalmazza.

Persze az IP címeket kicenzúráztam

Ezen az ábrán jól látszik, hogy a rendszer központi eleme (és egyik gyenge pontja) az yrons.org fő VPS, ami az adatbázist és a reverse proxyt működteti. Ezen kívül van még két sor docker konténer, amelyek egymástól függeltenül kommunikálnak az első részben leírt proxysetekkel, amik dynamic health checkkel biztosítják a szolgáltatás folytonosságát. A prometheus minden elemet monitoroz, valós időben látható a forgalom, illetve a konténerek és szerver állapota.

Ennek a rendszernek az előnye, hogy minden eleme könnyen bővíthető nagyobb terhelés esetén. A proxyzást valószínűleg egy másik számítógép fogja végezni a konferencia ideje alatt, mivel akkor sokkal nagyobb lesz a terhelés. Konténereket meg nagyon olcsón vehetünk és pillanatok alatt munkába is lehet állítani őket.


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *