Ismerj meg!

Vigyázz, hosszú! :D

A kezdet

Én mindig is eléggé kocka voltam, 7-8 éves lehettem amikor megépítettem az első számítógépemet, és 10-11 éves koromban kezdtem el VBScript-ben programozgatni, majd átváltottam Visual Basicre, és elindítottam az első Minecraft szerveremet Ubuntu 14.04-en!

Ennek köszönhetően 18 éves koromra már szinte fél életemet az IT szakmában töltöttem. Számomra az IT nem csupán egy átlagos szakma, mint másoknak. Inkább egy menekülés a valóságból, egy virtuális világ, amelybe teljesen bele tudok merülni, és amely segít elfelejteni a gondjaimat addig, ameddig benne vagyok.

13 éves koromban kezdtem mélyebben foglalkozni az informatikával. Ennek az indítéka az volt, hogy vettem egy régi szervert. Ezáltal rengeteg új dolgot tanultam meg. Különféle Hypervisorokat próbáltam ki, mint az ESXI, Proxmox, Hyper-V és a XEN. Ez nagyon jó alapokat adott a szerverek működésének megértéséhez. Megismerkedtem például az IDRAC-kal, a szerver hardverek működésével mint például RAID vezérlők és olyan speciálisabb dolgokat is sikerült a kíváncsiságomból fakadóan kipróbálni és megtanulni mint az IOMMU.

Hálózatok

A hálózatismeretek is ezen a ponton léptek be az életembe ugyanis elkezdtem az Untangle nevezetű router és firewall szoftvert virtualizálni. Sajnos gyorsan el is értem az ingyenesen használható licenc korlátait, így muszáj voltam váltani. Az OPNsense-re tettem le a voksom és a mai napig nagyon szívesen használom.

A virtualizált hálózati megoldások után áttértem a Cisco hardverek használatára, amivel szintén rengeteg tapasztalatot szereztem. Beleástam magam olyan megoldásokba, mint a VLAN, VRRP, STP, LACP és még sorolhatnám. Ezáltal egy erős alapot tudtam felépíteni a hálózat ismereteimben. Hobby szinten és a munkám során is foglalkozom már 10, 25, 40 és 100Gbit/s-es hálózatokkal. Ez hatalmas előrelépést jelent számomra, figyelembe véve, hogy egy egyszerű, 8 portos, unmanaged TP-Link switch-el kezdődött minden. :D

A DDOS támadások világa mindig nagyon vonzott, érdekesnek találtam a működési elvüket. Ennek köszönhetően mélyebben elmerültem a különféle protokollok működésében. Legjobban az UDP iránt érdeklődtem, mivel stateless. Viszonylag kis erőfeszítéssel lehet olyan szolgáltatásokat találni, amik UDP-t használnak, ezeket pedig könnyen lehet bekapcsolni egy botnetbe. Ami azt illeti az UDP reflection támadások ma is sok galibát okoznak az interneten. Tekintve, hogy a stateless jellemző miatt egyszerűen lehet IP címeket spoofolni. És akkor ugye ez mellé még jönnek az UDP és NTP amplification támadások… Végtelen a lista. Szerencsére szeretek blogolni és valószínűleg fogok is írni ezekről :)

Viszont itt már elértem azt a szintet, hogy tisztában voltam a működési elvével, és gyakorlatban meg is tudtam valósítani. Hmmm akkor vajon mi érdekesebb még ennél is? Igeen! Hogyan lehet egy ilyen támadást kivédeni? Milyen megoldásokat kell implementálni?

Ebből fakadóan belemásztam a Juniper és Arbor hardverekbe és persze az egyszerűbb Cloud megoldásokba is. Rengeteget tanultam az IDS/IPS rendszerekről és a hálózat monitorozásról. Megismerkedtem az SNMP protokollal és olyan Monitoring toolokkal mint például: Icinga, Cacti, Zabbix, UptimeKuma és Gatus.

Szoftverfejlesztés

Vannak emberek akik leragadnak egy dolognál, valakiből programozó lesz, valakiből pedig hálózatos, na én nem vagyok ilyen. Nem tudok egy témánál leragadni, mert megunom. Én egyébként is úgy tartom, hogy jó mindent ismerni és mindenhez érteni. Nem rossz, ha valamilyen szinten minden dolog működésébe van legalább egy kicsike belátásom.

Igazából vicces, de azért kezdtem el Python-ban programozni mert az a régi szerver amit fentebb emlegettem NAGYON hangos volt, én pedig minden nap mellette aludtam :D Szóval gondoltam csak van valami megoldás, hogy ne legyen olyan hangos. Azt tudni kell, hogy egy 1U szerver volt. Aki dolgozott már szerverekkel az biztos tudja, hogy egy 1U szervernek milyen visítós hangja van… Szóval keresgéltem milyen megoldások vannak, hogy működjön is a dolog és én is tudjak aludni. Ezen a ponton találkoztam az IPMI-vel, aminek segítségével tudtam állítani a ventilátorok sebességét. Ez egy CLI tool és hexadecimálisan kell megadni neki a ventilátorok sebességét. Ez számomra egy hihetetlen kényelmetlen dolog volt ezért… gondoltam erre lehetne írni egy programot ami automatikusan megoldja a konvertálást Decimálról Hexadecimálisra. És így született meg a PYIPMI tool! Igazából nagyon látszódik a kódon, hogy kezdő voltam, de hát istenem. Valahol el kellett kezdeni :D

Ezek után nem volt megállás. Ugyan ezt a projektet szerettem volna Web alapúra is megvalósítani, milyen menő lett volna egy Admin panelről irányítgatni a ventilátorok sebességét! Ebből se lett semmi, mert mire befejeztem volna a projektet inkább eladtam azt a szervert…

A programozás viszont megmaradt! Belekezdtem egy Oshint tool fejlesztésébe ami elsősorban különböző szociális média platformokról tudott összekötni fiókokat. Így, ha megvolt valakinek az instagram fiókja simán megtudtad találni a twitter és facebook fiókját is. Nem csak egyszerű felhasználónév alapján működött, teljes algoritmusokat kezdtem el fejleszteni ami olyan információk alapján dolgozott és kereste a hasonlóságokat, mint például a felhasználó fényképeinek struktúrális hasonlóságai (SSIM) , a közös ismerősök listája, hasonló BIO-k… Másodsorban pedig minden adatot amit csak összetudott gyűjteni le tudta tárolni, logolni és visszakövetni a változtatásokat, hasonlóan mint ahogyan a git működik. Ez a projekt volt a Totovo. Igen, ha most egy szerbiai falu jut eszedbe erről a névről, akkor arról kapta a nevét, viccből. :D Sajnos ez a projekt is ment a levesbe, mert nem láttam benne potenciált és saját magamnak nem fogok olyan dolgokat fejleszteni, amire nincs szükségem.

Viszont ennek a projektnek köszönhetően sajátítottam el a PostgreSQL, Redis és MongoDB adatábázisok működését. Választottam 3 különböző adatbázist mert kíváncsi voltam, hogy ehhez felhasználáshoz vajon melyik lenne a legjobb. A redis természetesen csak cache-nek és Message Broker-nek volt használva, de a Postgres és a Mongo ugyan azokat a feladatokat látta el. Végül arra jutottam, hogy ehhez a felhasználáshoz a Postgres sokkal jobb a relációk miatt. Tekintve, hogy mindenkiről mindent IS próbáltam összekötni sikerült rengeteg many-to-many relációs táblát létrehozni.

Később Dani barátommal elkezdtünk egy nagyobb projektet, ami a ZeroLogDNS volt. A neve valószínűleg elárulja, hogy ez egy olyan DNS szolgáltatás volt ami tiszteletben tartotta a felhasználók adatait, nem tárolt adatokat, IP címeket és véletlen sem osztott meg semmilyen adatot senkivel. Később viszont leállítottuk mivel túl sokba került az infrastruktúra fenntartása és haszon pedig nem származott belőle. Fontosnak tartom megjegyezni, hogy a szolgáltatás futása alatt volt lehetőség támogatásra, és több ember is támogatta a projektünk! Sajnos a kiadásainkat nem tudta fedezni, így búcsút intettünk tőle…

Később létrejött az FXTELEKOM ami egy egyszerű DNS és Proxy alapú megoldás a Cloudflare-el kapcsolatos routing problémákhoz a Magyar Telekom hálózatán. Bővebben a projekt weboldalán és egy blogposztomban lehet olvasni erről:

FXTELEKOM

How I (Sort of) Fixed Telekom’s Routing Issues in Hungary

Privacy

A Privacy számomra mindig is fontos volt, egy olyan világban élünk ahol kevesebbet érünk mint az adat amit generálunk. Vicces ez a mondat mert egy játékból származik: [You are now less valuable then the data you produce] De az még-viccesebb, hogy nem is áll olyan messze a valóságtól mint gondolnánk… Személy szerint én ezt problémának találom ezért a legtöbb projektem első számú célja, hogy olyan szolgáltatást nyújtson a felhasználók számára amely nem nyomoz és nem gyűjt adatokat.

Az embereknek fogalmuk sincs, hogy az online létezésük mennyi privát dolgot árul el róluk. Ott tartunk, hogy a Big Tech cégek a keresési előzményeid, képeid, videóid, beszélgetéseid és 3. felek által fenntartott weboldalakról gyűjtött információid alapján egy saját online profilt állítanak elő neked, amiről te nem is tudsz. Persze erről neked nem is kell tudnod, ez a profil csak értékesítés szempontból létezik, magyarul: Eladják a TE privát adataid. Ezek a profilok olyan adatokat is tartalmazhatnak, hogy milyen helyeken jársz a leggyakrabban, mikor utaztál el, milyen volt a hangulatod abban a pillanatban, milyen a szexuális beállítottságod vagy, hogy éppen kinél töltötted az éjszakát :))

Lényegében megfogják az identitásod, azokat a jellemzőket amiktől te te vagy, a Data Brokerek ezeket az adatokat szépen becsomagolják és eladják akárkinek és ahányszor csak szeretnék. Te magad vagy a termék.

Itt tudsz erről többet olvasni: [Data Brokers and SensitiveData on U.S. Individuals] Igen ez, kifejezetten az Amerikai lakosokról szól, de ne gondoljuk, hogy az Európai GDPR jogszabályok túlságosan megtudják fékezni ezeket a világvezető cégeket, hogy itt is ilyen tevékenységeket kövessenek el. Akár titokban… :D

Végszó

Huh, igazán hosszúra sikeredett ez a blogposzt, de remélem mindenre választ kaptál ami érdekelt velem kapcsolatban :D

Az sem probléma, ha nem. Nyugodtan vedd fel velem a kapcsolatot: ITT!