Ne ne, į namus fiziškai neįsilaužė, tik liaudiškai sakant – „nuhakino”.
Papasakosiu apie įvykį iš 2023 metų apie kurį pabaigt rašyti prisiruošiau tik dabar.
Ne kartą teko matyti įvairiuose bloguose ar feisbuko grupėse tokių teiginių/komentarų, kad niekam Tu čia neįdomus ir niekas nesuinteresuotas nulaužinėti tavo išmanaus namo sprendimų. Suprask galima dėt bet kokį kinišką šūdą, naudot tinklo įrangą su numatytais nustatymais – pageidautina iš aliexpresso. Niekam neįdomus Tu.
Aš visą laiką intensyviai priešinausi tokiam požiūriui, tinklo įrangą pirkau tik patikimų žinomų gamintojų, atlikau šiokį tokį tyrimą, kurie gamintojai turėję problemų su saugumu. Naudoju maršrutizatorių (router), į kurį galima įrašyti atviro kodo OpenWRT programinę įrangą. Kažkiek buvau pradėjęs atskyrinėti dalykus į atskirus uždarus tinklus. Pavyzdžiui kadangi kameros yra kiniškas šūdas – HikVision, turėjęs problemų su saugumų praeityje, tai nuo pat pradžių kameros yra atskiram tinkle, kuris neturi ryšio į internetą ar priėjimo prie kitų tinklų. Per vidinį tinklą pasiimu jų streamą ir jau per saugesnę programinę įrangą šiuo atveju HomeAssistant galiu pasiekti dalykus iš išorinio pasaulio.
O, bet tačiau, kažkur patingėjau, į kažką atsainiai pažiūrėjau, kažką pražiūrėjau ir nutiko keistų dalykų.

Tai kas gi čia nutiko?
Kažkuriuo tai metu pradėjo namie įsijungti šviesos. Visos! Pabundi kokią 3 nakties ir žiebia viskas visam name. Pirmą kart aišku labai nesupratau, apkaltinau OpenHAB, kad „užgliučino”, viską išjungiau ir nuėjau miegot. Vieną kart buvom išvažiavę – gaunu žinutę iš kaimynų, kad jau antra diena name šviesos paliktos. Nebejuokinga ,nes koks kilovatas ant apšvietimo kaip minimum gaunasi kai visur viskas susijungia. Po dar kažkiek laiko miegant vėl tas pats ir dar kelis kartus taip. Pradėjau krapštyt šitą reikalą, nes nelabai juokinga.
Pirmas bandymas rasti problemą
Kažkaip maniau, kad kažkur nutekėjo OpenHAB slaptažodis, šansų tam buvo mažai, nes slaptažodis buvo niekur kitur nenaudojamas, plius prisijungimas prie OpenHAB per https tiek iš vidaus tiek ir iš išorės, tai ne taip jau ir paprasta nusisniffint net jei ir yra vidiniam tinkle koks trojos arklys (nesaugus kiniškas šūdas). Dar pražiūrėjau log’us, bet jokių įtartinų IP nepastebėjau. Slaptažodį pasikeičiau. Nepadėjo – po 2 ar 3 savaičių tas pats. Įsijungdavo visada po vidurnakčio daugiau mažiau kai gilus miegas.
Antrasis pusiau sėkmingas bandymas rasti problemą
Pradėjau viską peržiūrinėti iš pagrindų ir gerinti saugumą, tvarkyt paliktas silpnas vietas.
Maršrutizatoriui taip pat pakeičiu slaptažodį, įjungiu https, ir net „enforcinu”, kad per http neitų pasijungt.
Benaršydamas dockerio konteinerių konfiguracijas, porai konteinerių uždarau portus iš išorinio tinklo, t.y. tie konteineriai lieka pasiekiami tik iš kitų konteinerių. Pvz MQTT mes norim pasiekti ir išorės, bet kokiai duombazei to reikalo kaip ir nėra. Tokie pakeitimai pasirodo išsprendžia problemą, tik aš dar to nežinau 🙂
Liepos 20 atlieku ankščiau minėtus pakeitimus, Liepos 21 gaunu laišką iš NKSC (Nacionalinio Kibernetinio Saugumo Centro:

Ir viskas pasidaro daugiau mažiau aišku. Dėl šviesų.
Tai kuo čia dėtas tas influxDB?
Kažkuriame iš įrašų minėjau, kad ant openHAB esu pakeitęs numatytą vidinę duombazę į influxDB ir įrašinėdavau ten viską, mygtukų paspaudimus šviesų įjungimą/išjungimą ir t.t.. Tai kadangi laiške aiškiai paminėta, kad, bet kas be slaptažodžių gali vykdyti užklausas, greičiausiai būdavo įterpiami nauji įrašai, kad šviesos yra įjungtos, ir sugebėdavo kažkokią logiką iššaukti iš openHAB, kad įsijungtų šviesos. Dėl sportinio intereso po to laiko kai uždariau docker konteineryje influxdb portą pasiekimui iš išorės, daugiau nieko nedariau porą mėnesių. Problema taip niekad ir neišlindo. Taip, kad kaltas čia tikrai influxas buvo.
Daugiau neskanių atradimų
Gavus tą laišką kilo klausimas kaip tas influxDB apskritai pasidarė pasiekiamas iš išorinio IP, nes dar yra vidinis tinklas, ir ten DMZ nukreipimų tikrai nenaudojau į vieną IP.
Atsidarau maršrutizatoriaus portų nukreipimus „port forwarding” ir ten guli gražuolis portu 8086 ir užvadinta HTTP2. Buvo ir dar keli random portai atidaryti kurių man tikrai niekad nereikėjo. Dar jei dėl kažkokių priežasčių ir galėjau tą portą pridėti pats, tai tik jau ne tokiu pavadinimu. Net ir praėjus daugiau nei metams šventai tikiu, kad kažkoks nesaugus prietaisas vidiniam tinkle pridirbo.
Dar atrandu, kad mano saugūs vidiniai tinklai kur veikia kameros ir kai kurie kiti kiniški šūdai, pasirodo nėra saugūs ir gali viską pasiekti. Greičiausiai kažkada kai updatinau maršrutizatoriaus firmwarę, dingo visi nustatymai, o backupas buvo ne pats naujausias… Tai veikė taip pusę metų.
Trumpai, kas galėjo nutikti?
Labiausiai tikėtina, kad kažkas (kažkuris nesaugus prietaisas) iš vidinio tinklo nusniffino maršrutizatoriaus slaptažodį, nes vaikščiojo per HTTP (nešifruotas) ir pakeitė nustatymus (atidarė portų). Ar tikrai taip buvo – nebesužinosim, plius galimų skylių buvo ir daugiau.
Kaip buvo galima išvengti?
Idėja nuo pat pradžių buvo daryti viską saugiai, bet kažkur patingėta, kažką norėjau greičiau pasileisti, kažkas pražiūrėta, ir gavosi… na kas gavosi.
O realiai būtų užtekę bent vieno iš šitų:
- Turėti maršrutizatoriaus prisijungimą per HTTPS nuo pat pirmos dienos.
- Ankščiau susižiūrėt ir užsidaryt influxDB portą per dockerio configuraciją. O buvau atsidaręs tą portą nes kažkokį GUI įrankį naudojau iš savo kompo pasivaikščiot po surinktus duomenis. Skriptus kelis rašiau, kad paanalizuoti duomenis.
- Tiesiog atsinaujint influxDB į naujesnę versiją, kur nėra to pažeidžiamumo, nes teisybės dėlei kokius 3 metus veikė neatnaujinta
Kas pasikeitė po šio nuotykio
Per metus realiai susitvarkiau viską pagal pirminę viziją:
- Visuose įrenginiuose kur tik įmanoma net ir vidiniam tinkle nustačiau HTTPS privalomai
- Daugiau mažiau kartą per ketvirtį stengiuosi atsinaujinti visas versijas
- Pilnai susitvarkiau ir atsiskyriau vidinius tinklus, atskirai visi namo automatikos reikalai, atskirai kameros, atskiras WiFi visokiems neaiškiems kinų debesų sprendimam kurių neina patogiai naudot be debesies (kondicionierius, grindų robotas)
- Kartais geriau truputį sumokėt daugiau ir imt prietaisą kuris bent jau kažkokį žinomesnį kinišką sprendimą naudoja kaip pvz Tuya nei kad visišką noname su reklamų prikrautu appsu.
- Atskiras svečių WiFi su kintamu slaptažodžiu, ir žinoma, kad negalėtų prieit prie vidinio tinklo
- Pilnu tempu pradėjau naudoti self hosted password tvarkylę ir visur jau beveik pasikeičiau ankščiau naudotus vienodus ar pusiau vienodus slaptažodžius. Bitwarden sprendimas
- OpenVPN iškeičiau į wireguard
- Viešose vietose tik ant VPN sėdžiu jei tenka naudot kokį WiFi.
Permigravau ir visus į pasaulį iškištus servisus (HomeAssistant, šitas blogas ir pan) ant Cloudflare Zero Trust. Taip paslepia statinį IP (kurio išvis nebereikia), nereikalinga jokia routerio konfiguracija (galima visus portus iš išorės uždaryt), pasiekiama tik tai ką nustatai iš cloudflare pusės. Naudojant teisingai sukonfiguruotus dockeiro konteinerius, už dockerio ribų nelabai ir išeis. Tai bent du papildomi sluoksniai apsaugos gaunasi.
Spendimas bent jau kol kas vis dar nemokamas. Atradau šitą reikalą kai kitam objekte reikėjo iškišt Home Assistant į išorę, bet ten nėra jokio išorinio IP nes mobilus internetas.
Pabaigai
Gal net jei ir neesi kinam įdomus, bet kokiems studentams gali būt ir pramoga patrolinti, prisimenant savo studijų laikus. Vis gi kas gavo tą priėjimą prie influxo tikrai turėjo pasiaiškint kas toj duombazėj saugoma, ir dar kaip iššaukti OpenHAB logiką kažkokią.
Maloniai nustebino, kad valstybinės institucijos pasirodo veikia kažką.
Kas gero name?
Apsitvarkėm aplinką, apsitvėrėm teritoriją, pasidarėm terasą. Į pabaigą ir viduj neįrengti kampai. Darbai juda, bet nėra kada rašyt. Kitas didelis projektas nusimato saulės elektrinė ir kaupiklis. Sakiau jau gal paskutinė didelė investicija ir pradėsim gyvent nebe namui.
2025-02-12 - 20:10
Nebaisiai supratau, nors kažkada ir programeriu teko padirbėt 😉
Aišku, jog reikės ir namo saugumu užsiimti. Čia neblogos gairės.
Pas mane HA ir MariaDB, o jokių pernelyg savarankiškų įrenginių nėra. Bet pradėjau nerimauti 🙂
2025-02-18 - 10:21
Kas yra patikima tinklo įranga mėgejui? Ubiquiti?
2025-03-12 - 10:41
Į saugumą ir aš žiūriui ne pro pirštus. Kas liečia maršrutizatorių, tai teko matyti „pamoką” kaip juos reikia nulaužti, tai jokio sniferio nereikia, užtenka kad yra priėjimas prie jo, kad ir su HTTPS, tame video, su tam skirtomis priemonėmis parsisiunčiamas iš maršrutizatoriaus firmware su visais nustatymais ir slaptažodžiais ir iš jau parsisiūsto firmware ištraukiamas slaptažodis, bei vėliau jungiamasi per saugų protokolą su niekur kitur nenaudotu slaptažodžiu. Po tos „pamokos” mano maršrutizatorių valdymas galimas tik iš vidinio tinklo. Į namų tinklą iš interneto turiu atidarytą tik vieną portą skirta wireguard pasijungimui, ir kai ko prireikia, per wireguard jungiuosi į vidinį tinklą ir darau iš vidinio tinklo. Home Assistentas taipogi, tik iš vidinio tinklo, kameros tik iš vidinio tinklo ir pan. Dėl visokių WiFi kiniškų protingo namo prietaisų, tai stengiuosi, kad tokių nebūtų, tik zigbee, valdomas tiesiogiai per Home Assistentą. Ir visai neseniai dar ir Pfsensą pasileidau, kuris apjungia du maršrutizatorius ir padidina interneto greitaveiką, bei tai ugnesienė sauganti mano vidinį tinklą nuo neprašytų svečių iš išorės (wireguard portas forwardinamas per vieną iš maršrutizatorių, kitas iš interneto iš vis nepasiekiamas, nes randasi vidiniame paslaugų tiekėjo tinkle (tik Tele2 turi išorinį IP)).