Veeami tugimeeskonna kĂŒbermĂ€ng

Sel talvel, tĂ€psemalt katoliku jĂ”ulude ja uue aasta vahelisel ajal, olid Veeami tehnilise toe insenerid hĂ”ivatud ĂŒsna ebatavaliste ĂŒlesannetega: nad jahtisid hĂ€kkerigruppi nimega „Veeamonymous”.

Veeami tugimeeskonna kĂŒbermĂ€ng

Kuidas poisid suutsid oma töökohal korraldada tĂ”elise reaalsuse quest'i, ĂŒlesannetega, mis olid „lĂ€hedased lahingule”, jutustab Kirill Stetsko, Escalation Engineer.

— Miks te seda ĂŒldse korraldasite?

— Umbes nii, nagu inimesed kunagi lĂ”id Linuxi – just for fun, enda lĂ”buks.

Soovisime mingit elevust ja samas teha midagi kasulikku, midagi huvitavat. Pealegi oli vaja anda inseneridele emotsionaalset laadimist nende igapÀevasest tööst.

— Kes seda ette pani? Kellest oli idee?

— Idee oli meie juht Kati Jegorova oma, kuid seejĂ€rel sĂŒndis kontseptsioon ja kĂ”ik jĂ€rgmised ideed ĂŒhiste pingutuste kaudu. Alguses mĂ”tlesime teha hackatoni. Kuid kontsepti arendamise kĂ€igus kasvas idee kvestiks, sest tehnilise toe insener on ikkagi teistsugune amet, kui programmeerimine.

Nii et me kutsusime sĂ”pru, tuttavaid, erinevaid inimesi, kes aitasid meil ideed vĂ€lja mĂ”elda - ĂŒks inimene T2-st (teise taseme tugi - toimetaja mĂ€rkus), ĂŒks inimene T3-st, mĂ”ned inimesed SWAT-meeskonnast (hĂ€daolukordadele kiiresti reageerimise meeskond - toimetaja mĂ€rkus). Kogunesime kĂ”ik koos, istusime maha ja proovisin vĂ€lja mĂ”elda ĂŒlesandeid meie mĂ€ngu jaoks.

— Oli vĂ€ga ootamatu sellest kĂ”igest teada saada, sest niipalju kui mina tean, töötavad tavaliselt mĂ€ngumehaanikat vĂ€lja stsenaristid, see tĂ€hendab, et te mitte ainult ei tegelenud nii keerulise asjaga, vaid ka oma töö ja professionaalse valdkonna kontekstis.

— Jah, me soovisime teha mitte lihtsalt meelelahutust, vaid "arendada" inseneride tehnilisi oskusi. Meie osakonna ĂŒks eesmĂ€rk on teadmiste vahetamine ja koolitus, ja selline mĂ€ng on suurepĂ€rane vĂ”imalus anda inimestele vĂ”imalus "kogeda" elusaid tehnikatehnikaid.

— Kuidas te ĂŒlesandeid vĂ€lja mĂ”tlesite?

— Korraldasime ajurĂŒnnaku. Meil oli selge, et peame looma mingid tehnilised katsed, mis oleksid huvitavad ja samal ajal tooksid uusi teadmisi.
NĂ€iteks arutasime, et inimestele oleks kasulik proovida liiklust sniffida, kasutada hex-redaktoreid, midagi Linuxi jaoks teha, mĂ”ned sĂŒgavamad tegevused, mis on seotud meie toodetega (Veeam Backup & Replication ja teised).

Samuti oli oluline osa kontseptsioon. Otsustasime lĂ€htuda hĂ€kkerite teemast, anonĂŒĂŒmsest juurdepÀÀsust ja saladuse atmosfÀÀrist. SĂŒmboliks sai Guy Fawkesi mask ja nimi tuli iseenesest — Veeamonymous.

„Alguses oli sĂ”na“

Et huvi ĂŒles kerkida, otsustasime enne ĂŒrituse algust korraldada PR-kampaania, mis jĂ€rgneb mĂ€ngu temaatikale: riputasime oma kontorisse plakateid teadetega. MĂ”ne pĂ€eva pĂ€rast vĂ€rvisime neid ise salaja spray-purkidega ja lansseerisime „kuuldusi“, nagu oleksid mingid kurikaelad plakateid rikkunud, isegi fotod tĂ”estuseks lisasime....

— Nii et te ise tegite, see tĂ€hendab, korraldajatest meeskond?!

— Jah, reedel kell 9, kui kĂ”ik olid juba lĂ€inud, kĂ€isime ja joonistasime suruĂ”hupĂŒstolitest roheline tĂ€ht 'V'.) Paljud seikluse osalejad ei saanudki aru, kes seda tegi – inimesed tulid meie juurde ja kĂŒsisid, kes plakatid rikkus? Keegi lĂ€henes sellele kĂŒsimusele vĂ€ga tĂ”siselt ja korraldas tĂ”elise uurimise selle teema ĂŒmber.

MĂ€ngu jaoks salvestasime audiofaile, 'vĂ€ljavĂ”tsime' helisid: nĂ€iteks, kui insener logib meie [tootmis-CRM] sĂŒsteemi, siis seal on robot-sisestaja, kes ĂŒtleb igasuguseid fraase, numbreid
 Nii et me koostasime tema salvestatud sĂ”nadest kĂ”igi mĂ”tetega fraase, noh, vĂ”ib-olla veidi kĂ”veraid – nĂ€iteks saime 'Ükski sĂ”ber ei aita sind' audiofailis.

IP-aadressi, nĂ€iteks, kujutasime ette kahendsĂŒsteemis, jĂ€lle, kĂ”ik nende numbritega [robotist rÀÀkides], lisasime igasuguseid hirmutavaid helisid. Me filmisime video: videos istub meil musta kapuutsiga inimene ja Guy Fawkes'i maskis, aga tegelikult ei ole seal mitte ĂŒks inimene, vaid kolm, sest kaks seisavad tema taga ja hoiavad 'tausta' tekist :)).

— Te olete kĂŒll vaeva nĂ€htud, otse öeldes.

— Jah, meeldisime vĂ€ga. Alustasime meie tehniliste ĂŒlesannete vĂ€ljamĂ”tlemisest ja seejĂ€rel koostasime kirjandus-mĂ€ngulise loo sellest, mis justkui toimus. Skripti kohaselt jahtisid osalejad hĂ€kkeride gruppi nimega "Veeamonymous". Idee oli ka selles, et me vĂ”iksime "murdma neljandat seina", kandes sĂŒndmused reaalsusesse – nĂ€iteks joonistasime spray-purgist.

Teksti kirjalikku vormi aitas vormida meie osakonna ĂŒks inglise keele rÀÀkija.

— Oota, miks rÀÀkija? Te tegite seda ka inglise keeles?!

— Jah, me korraldasime seda Peterburi ja Bukaresti kontoritele, seetĂ”ttu oli kĂ”ik inglise keeles.

Esimese kogemuse jaoks ĂŒritasime teha nii, et kĂ”ik lihtsalt toimiks, seetĂ”ttu oli stsenaarium lineaarne ja piisavalt lihtne. Lisatasime rohkem atmosfÀÀri: salajased tekstid, koodid, pildid.

Veeami tugimeeskonna kĂŒbermĂ€ng

Kasutagem ka meme: oli palju pilte uurimiste, UFO-de, mĂ”ningate populaarsete Ă”uduslugude teemadel – mĂ”ned meeskonnad segasid end sellega, ĂŒritasid leida mĂ”ningaid varjatud sĂ”numeid, rakendada oma teadmisi steganograafia kohta
 aga loomulikult ei olnud seal midagi sellist.

Tehnilistest probleemidest

Kuid ettevalmistamise kĂ€igus seisime silmitsi enesestmĂ”istetavate ĂŒlesannetega.

Me olime nende kallal palju vaeva nĂ€inud ja lahendanud erinevaid ootamatult tekkivaid kĂŒsimusi, ning nĂ€dal enne mĂ€ngu mĂ”tlesime, et kĂ”ik on kadunud.

TÔenÀoliselt on tahtmine rÀÀkida veidi mÀngu tehnilisest pÔhialusest.

KĂ”ik toimus meie sise-ESXi laboris. Meil oli 6 meeskonda, mis tĂ€hendas, et pidime eraldama 6 ressursipoolt. Nii et igale meeskonnale kĂ€ivitasime eraldi ala vajalike virtuaalmasinate (samad IP-d) jaoks. Kuid kuna kĂ”ik need asusid serverites, mis olid ĂŒhes vĂ”rgus, ei vĂ”imaldanud meie VLANide praegune konfiguratsioon eraldada masinaid erinevatesse basseinidesse. NĂ€iteks testimise ajal saime olukordi, kus masina ĂŒks bassein ĂŒhendas masina teisega.

— Kuidas suutsite olukorda parandada?

— Esiteks mĂ”tlesime kaua, testisime erinevaid variante lubadustega, eraldi VLAN-ide jaoks seadmetele. LĂ”puks tegime nii — iga meeskond nĂ€eb ainult Veeam Backup serverit, mille kaudu toimub kogu edasine töö, kuid ei nĂ€e varjatud alam-basseini, kus asuvad:

  • mĂ”ned Windows masinad
  • Windows core server
  • masin Linuxiga
  • VTL (Virtual Tape Library) paar

KĂ”igile rĂŒhmadele on mÀÀratud eraldi portide grupp vDS lĂŒlitile ja oma Private VLAN. Selline kahekordne isolatsioon on vajalik, et tĂ€ielikult vĂ€listada vĂ”rguvahetus.

Julgetest

— Kas kes iganes vĂ”is osaleda seiklusmĂ€ngus? Kuidas meeskonnad moodustati?

— See oli meie esimene kogemus sellise ĂŒrituse korraldamisel, ja meie laboratooriumi vĂ”imalused olid piiratud 6 meeskonnaga.

Esmalt korraldasime, nagu ma juba ĂŒtlesin, PR-kampaania: plakatite ja e-kirjade abil teatasime, et seiklusmĂ€ng toimub. Meil olid isegi mingid vihjed – plakateid kaunistatud koodis binaarsed fraasid. Sel viisil köitsime inimesi ja nemad omakorda leppisid omavahel kokku, sidudes end sĂ”pradega. Tulemusena oli rohkem soovijaid, kui meil oli gruppe, seega tuli valik teha: mĂ”tlesime vĂ€lja lihtsa testĂŒlesande ja saatsime selle kĂ”igile, kes vastasid. See oli loogiline ĂŒlesanne, mida tuli lahendada kiirusel.

Meeskonnas tohtis olla kuni 5 inimest. Kaptenit seal ei nĂ”utud, idee oli kooperatsioonis ja omavahelises suhtlemises. Keegi on tugev Linuxis, keegi teine tugevas tagasi kirjutamises (bĂ€kkapide puhul), ja igaĂŒhel, nĂ€hes ĂŒlesannet, oli vĂ”imalus panustada oma jĂ”ud ĂŒhisesse lahendusse. KĂ”ik suhtlesid omavahel ja leidsid lahenduse.

Veeami tugimeeskonna kĂŒbermĂ€ng

— Millal see ĂŒritus algas? Kas teil oli mingi 'X tund'?

— Jah, meil oli rangelt mÀÀratud pĂ€ev, valisime selle nii, et osakonnas oleks vĂ€hem koormust. Loomulikult teavitati ette timeliid paikades, et sellised meeskonnad kutsutakse mĂ€ngu osalema ja neile tuleb anda teatud leevendus [koormuse suhtes] sellel pĂ€eval. KĂ”ik nĂ€itas, et see peab olema aasta lĂ”pp, 28. detsember, reede. Arvutasime, et see peaks vĂ”tma umbes 5 tundi, kuid kĂ”ik meeskonnad said hakkama kiiremini.

— Kas kĂ”ik olid vĂ”rdses seisus, kĂ”igil olid samad ĂŒlesanded, mis pĂ”hinesid reaalsetel juhtudel?

— Jah, iga koostaja jagas oma isiklikest kogemustest mĂ”ningaid lugusid. Teatud asjadest olime teadlikud, et need vĂ”ivad reaalses elus juhtuda ning see oleks huvitav, et inimene saaks seda "kĂ€sitseda", vaadata ja uurida. VĂ”tsime lisaks ka mĂ”ned spetsiifilisemad asjad — nĂ€iteks andmete taastamine kahjustatud lintidelt. Keegi andis nĂ”u, kuid enamik meeskondi lahendasid probleemid iseseisvalt.

VĂ”i tuli rakendada kiirete skriptide maagiat – nĂ€iteks oli meil lugu, kus mingisugune "loogiline pomm" "rebis" mitmeosalise arhiivi juhuslikesse kaustadesse puu struktuuris ja andmeid tuli koguda. Seda saab teha kĂ€sitsi – leida ja kopeerida [failid] ĂŒksikult, vĂ”i on vĂ”imalik kirjutada skript mustri jĂ€rgi.

Üldiselt ĂŒritasime jÀÀda seisukohale, et ĂŒhte ĂŒlesannet saab lahendada erinevate viisidega. NĂ€iteks, kui oled natuke kogenum vĂ”i soovid 'tuunida', saad selle kiiremini lahendada, kuid on otse lahendus, mis on 'frontaalne' – aga sel juhul kulutad ĂŒlesandele rohkem aega. Seega oli peaaegu igaĂŒhel ĂŒlesandel mitu lahendusvarianti ja oli huvitav, milliseid teid meeskonnad valivad. Seega, mitte-lineaarsus seisnes just lahenduse valikus.

Muide, kĂ”ige raskem ĂŒlesanne oli Linuxi ĂŒlesanne — ainult ĂŒks meeskond lahendas selle iseseisvalt, ilma vihjeteta.

— Kas vihjeid sai vĂ”tta? Nagu pĂ€ris questis??

— Jah, vĂ”is vĂ”tta, sest me mĂ”istsime, et inimesed on erinevad ja ĂŒhte meeskonda vĂ”ivad sattuda need, kellel puuduvad teatud teadmised, seetĂ”ttu, et mitte venitada ĂŒleminekute aega ja mitte kaotada vĂ”istlusliku huvi, otsustasime, et vihjed on olemas. Selleks jĂ€lgis igat meeskonda ĂŒks korraldajatest. Ja me jĂ€lgisime, et keegi ei petaks.

Veeami tugimeeskonna kĂŒbermĂ€ng

TĂ€htede kohta

— Kas vĂ”itjatele olid auhinnad?

— Jah, me pĂŒĂŒdsime teha maksimaalselt meeldivaid auhindu nii kĂ”igile osalejatele kui ka vĂ”itjatele: vĂ”itjad said disainitud kapuutsiga sĂ€rgid Veeami logoga ja fraasiga, mis on kodeeritud 16-realiseks koodiks, mustas vĂ€rvuses). KĂ”ik osalejad said Gaio Fokksi maski ja firmakoti logoga ja sama koodiga.

— Nii et teil oli kĂ”ik nagu tĂ”eliselt seiklusmĂ€ngus!

— No, me tahtsime luua Ă€geda, tĂ€iskasvanutele mĂ”eldud asja, ja mulle tundub, et meil Ă”nnestus.

— TĂ€pselt nii! Milline oli lĂ”puks osalejate reaktsioon? Kas saavutasite oma eesmĂ€rgid?

— Jah, paljud tulid hiljem juurde, ĂŒtlesid, et nad nĂ€gid kindlalt oma nĂ”rku kohti ja soovisid neid parandada. MĂ”ned lakusid muret teatud tehnoloogiate ees – nĂ€iteks, kui nad hakkasid ketaste koode purki panema ja proovides seal midagi kĂ€tte saada
 MĂ”ned mĂ”istsid, et nad peavad Linuxit paremini oskama, ja nii edasi. Me pĂŒĂŒdsime anda piisavalt laia ĂŒlesannete ringi, kuid mitte tĂ€iesti triviaalsete.

Veeami tugimeeskonna kĂŒbermĂ€ng
VÔitjate meeskond

„Kes tahab, see saavutab!”

— Kas see nĂ”udis palju pingutust nende kĂ€est, kes mĂ€ngu valmistasid?

— Jah, ĂŒldiselt. Kuid see oli tĂ”enĂ€oliselt tingitud sellest, et meil ei olnud mingit kogemust selliste ĂŒlesannete ettevalmistamisel ja selle tĂŒĂŒpi infrastruktuuril. (Teeme selgeks, et see ei olnud meie reaalne infrastruktuur – see pidi lihtsalt tĂ€itma teatud mĂ€ngu funktsioone.)

See oli meie jaoks vÀga huvitav kogemus. Alguses olin skeptiline, sest idee nÀis isegi liiga Àge, arvasin, et see on vÀga keeruline ellu viia. Aga hakkasime tegema, hakkasime vaeva nÀgema ja lÔpuks saime hakkama. Ja see Ônnestus peaaegu ilma probleemideta.

KokkuvĂ”ttes kulus meil 3 kuud. Peamiselt mĂ”tlesime vĂ€lja kontseptsiooni, arutasime, mida me saame ellu viia. Loomulikult muutus protsessi kĂ€igus mĂ”ni asi, kuna me saime aru, et meil pole tehnilisi vĂ”imalusi teatud asjade teostamiseks. Oli vaja jooksvalt midagi ĂŒmber teha, kuid niimoodi, et kogu narratiiv, lugu ja loogika ei laguneks. Proovisime mitte lihtsalt esitada tehniliste ĂŒlesannete loendit, vaid et see mahuks narratiivi, et see oleks sidus ja loogiline. Peamine töö toimus viimasel kuul, st 3–4 nĂ€dalat enne pĂ€ev X.

— See, in addition to your main activity, did you allocate time for preparation?

— We worked on this alongside our main job, yes.

— Are you being asked to do this again?

— Yes, we have many requests to repeat it.

— And what about you?

— We have new ideas, new concepts; we want to engage more people and stretch this over time – both the selection process and the game itself. Overall, we are inspired by the project 'Cicada', it's something you can Google – it's a really cool IT topic, where people from all over the world unite, creating threads on Reddit, on forums, using cipher translations and solving puzzles, and all that.

— The idea was excellent; just respect for the idea and execution, because that really costs a lot. I sincerely wish that you don't lose this enthusiasm, and that all your new projects are equally successful. Thank you!

Veeami tugimeeskonna kĂŒbermĂ€ng

— Yes, can we see an example of a task that you definitely won't be reusing?

— I suspect that we won't reuse any of them. So I can talk about the course of the entire quest.

Bonus trackAlguses saavad mĂ€ngijad endale virtuaalse masina nime ja sisenemise andmed vCenterisse. Kui nad logivad sisse, nĂ€evad nad seda masinat, kuid see ei kĂ€ivitu. Siin tuleb mĂ”ista, et .vmx faili puhul on midagi valesti. Kui nad selle alla laadivad, nĂ€evad nad vihjet, mis on vajalik teiseks sammuks. Sisuliselt on seal kirjutatud, et Veeam Backup & Replication'i kasutatav andmebaas on krĂŒpteeritud.
Vihje eemaldades, laadides .vmx faili uuesti ĂŒles ja masinat edukalt kĂ€ivitades, nĂ€evad nad, et ĂŒhel ketastest on tĂ”epoolest andmebaas, mis on base64 vormingus krĂŒpteeritud. Seega on ĂŒlesanne dekrĂŒpteerida see ja saada tĂ€isfunktsionaalne Veeam server.

Veidi virtuaalsest masinast, kus see kĂ”ik toimub. Kuidas me mĂ€letame, on peategelane, keskse stsenaariumi kohaselt, ĂŒsna tumeda iseloomuga ja tegeleb millegagi, mis on ilmselgelt mitte eriti seaduslik. SeetĂ”ttu peab tema tööarvuti nĂ€gema vĂ€lja tĂ”eliselt hĂ€kkeri moodi, mida pidime looma, hoolimata sellest, et see on Windows. Esmalt lisasime hulga rekvisiite, nagu teave suurte hĂ€kkimiste, DDoS rĂŒnnakute ja sarnaste kohta. Siis installisime erinevat tĂŒĂŒpi tarkvara ja laotasime igal pool erinevaid dump'e, faile hash'idega jne. Just nagu filmis. Sealhulgas olid ka kaustad, nimega closed-case*** ja open-case***.
Edasi liikuda saamiseks peavad mÀngijad taastama vihjed failidest varukoopiatest.

Siinkohal tuleb öelda, et alguses anti mĂ€ngijatele ĂŒsna vĂ€he teavet, ja enamik andmeid (nagu IP, sisse logimise ja paroolide kohta) saavad nad kvesti kĂ€igus, leidnud vihjeid varukoopiatest vĂ”i failidest, mis on hajutatud masinatesse. Alguses asuvad varukoopiate failid Linuxi hoidlas, kuid kaust on serveril mountitud (mounted) koos lipuga noexec, seetĂ”ttu ei saa failide taastamise eest vastutav agent kĂ€ivituda.

Remonditud repod, osalejad saavad ligipÀÀsu kÔigile sisule ja saavad lÔpuks taastada igasugust teavet. JÀÀnud on ainult vÀlja selgitada, millist neist. Selleks peavad nad uurima sellel masinal hoitavaid faile, mÀÀrama, millised on 'rikkis' ja mida tuleks taastada.

Sel etapil nihkub stsenaarium ĂŒldistest IT-teadmistest Veeami spetsiifiliste funktsioonide poole.

Antud konkreetses nĂ€ites (kui tead faili nime, aga mitte seda, kust seda otsida) tuleb kasutada Enterprise Manageri otsingu funktsiooni ja nii edasi. LĂ”puks, taastades kogu loogilise ahela, on mĂ€ngijatel kĂ€es veel ĂŒks sisselogimisinfo/ salasĂ”na ja nmap'i vĂ€ljund. See viib nad Windows Core serverisse, kasutades RDP'd (et elu oleks vĂ€hem magus).

Selle serveri peamine joon: lihtsa skripti ja mitme sĂ”nastiku abil on loodud tĂ€iesti mĂ”ttetu kaustade ja failide struktuur. Ja sisselogimisel kuvatakse tervitussĂ”num, mis ĂŒtleb: 'Siin plahvatas loogiline pomm, seetĂ”ttu peate jĂ€rgmiste sammude vihjed kokku koguma. '

JĂ€rgmine vihje oli jagatud mitmeosaliseks arhiviks (40-50 tĂŒkki) ja juhuslikult paigutatud nende kaustade vahel. Meie plaan oli, et mĂ€ngijad peaksid nĂ€itama oma oskusi lihtsate PowerShell skriptide kirjutamises, et kindla mustri jĂ€rgi kokku koguda mitmeosaline arhiv ja saada soovitud andmed. (Aga juhtus nagu selles anekdootis — osa katsealustest osutusid erakordselt fĂŒĂŒsiliselt arenenud.)

Arhivis oli kasseti foto (kirjaga „Viimane Ă”htusöömaaeg — Parimad hetked”), mis vihjas sellele, et peaks kasutama ĂŒhendatud lintbiblioteegi, kus oli kassett sarnase pealkirjaga. Ainult et ĂŒks mure — see osutus nii mittetöötavaks, et isegi ei olnud kataloogitud. Siit algas tĂ”enĂ€oliselt kĂ”ige raskem osa ĂŒlesandest. Me eemaldasime kasseti pealkirja, seega andmete taastamiseks piisab lihtsalt „toores” (raw) blokkide vĂ€lja andmisest ja nende kontrollimisest hex-redaktoris, et leida failide alguse markereid.
Otsime markerit, vaatame offsetit, korrutame ploki selle suurusega, lisame offseti ja proovime sisevahendi abil taastada faili kindlast plokist. Kui kÔik on Ôigesti tehtud ja matemaatika klapib, siis mÀngijatel on kÀes .wav fail.

Selles on hÀÀl genereerija abil muu hulgas dikteeritud binaarkood, mis avatakse veel ĂŒhe IP-ni.

Selgub, et see on uus Windowsi server, kus kĂ”ik viitab Wiresharki kasutamise vajadusele, aga seda pole seal. Peamine fookus on see, et sellesse masinasse on installitud kaks sĂŒsteemi — teise ketas on lihtsalt seadme halduris offline vĂ€lja lĂŒlitatud, ja loogiline ahel viib vajaduseni sĂŒsteemi taaskĂ€ivitamiseks. PĂ€rast seda selgub, et vaikimisi peaks laadima hoopis teise sĂŒsteemi, kus on installitud Wireshark. Ja me olime kogu aeg teisel OS-il.

Siin ei ole eriti midagi teha, piisab, kui aktiveerida pĂŒĂŒdmine ainukesel liidesel. Suhteliselt hoolikat vaatlemist kasutades on dump'is selgelt nĂ€ha vale pakett, mille saadab abimasin regulaarsete ajavahemike jĂ€rel, kus on link youtube-videole, kus mĂ€ngijad paluvad helistada kindlale numbrile. Esimene helistaja kuuleb Ă”nnitlust esikoha puhul, teised — kutse HR-le (nalja pĂ€rast).

Üksipulgi avatud tööpakkumised tehnilise toe inseneridele ja praktikantidele. Tere tulemast meeskonda!

Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster