Itse rakennetut IoT-laitteet, kuten ESP32-pohjainen lämpötila-anturi, Raspberry Pi -kotipalvelin tai Wi-Fi-ohjattu rele, ovat mukava tapa oppia elektroniikkaa, mutta jokainen niistä on myös uusi tietokone kodin verkossa. Tämä artikkeli on kirjoitettu makerille, sähkö- ja automaatioalan opiskelijalle ja harrastajalle, joka haluaa pitää kodin verkon tietoturvan kunnossa niin, että projektit pysyvät silti hauskoina. Kun perusasiat ovat kunnossa, kotitekoinen laite ei ole verkon heikoin lenkki. Siitä tulee verkon parhaiten hallittu osa.
Miksi kotitekoinen laite eroaa kaupan älylaitteesta
Valmiissa älylaitteessa valmistaja päättää oletusasetuksista ja ohjelmistopäivityksistä. Itse rakennetussa laitteessa vastuu on kokonaan rakentajalla. ESP32-kehityskortti maksaa 5-15 €, ja Wi-Fi-yhteyden saa auki muutamalla koodirivillä. Juuri siksi tietoturva jää helposti viimeiseksi ajatukseksi.
Suomessa Traficomin Kyberturvallisuuskeskus myöntää kuluttajien verkkolaitteille kyberturvamerkin, joka kertoo perusvaatimusten täyttymisestä. Kotitekoisella laitteella merkkiä ei ole, joten samat periaatteet pitää toteuttaa itse: ei oletussalasanoja, päivitettävä ohjelmisto ja mahdollisimman vähän avoimia palveluita. Jos harrastusprojektista alkaa tulla myytävä tuote, EU:n kyberkestävyysasetus (CRA) tuo valmistajalle omat velvoitteensa, ja silloin asiaa kannattaa selvittää tarkemmin.
Myytti: kukaan ei ole kiinnostunut minun anturistani
Yleisin väärinkäsitys on, että pieni sääasema tai saunan lämpömittari ei kiinnosta ketään. Hyökkääjää ei kiinnostakaan lämpötila. Automaattiset skannerit käyvät koko internetin osoiteavaruuden läpi jatkuvasti ja etsivät avoimia portteja ja oletustunnuksia. Vuonna 2016 Mirai-haittaohjelma kokosi satojatuhansia kameroita ja reitittimiä bottiverkoksi juuri oletussalasanojen avulla.
Kaapattu laite on hyökkääjälle resurssi. Se on myös jalansija kodin verkossa, jossa samaan aikaan ovat kannettavat tietokoneet, puhelimet ja verkkopankkitunnukset. Toinen sitkeä myytti on piilotettu SSID. Verkon nimen piilottaminen ei suojaa mitään, koska nimi näkyy laitteiden yhteydenottopyynnöissä. Vahva WPA2- tai WPA3-salasana ratkaisee paljon enemmän.
Fyysinen riski on myös otettava huomioon. Jos Wi-Fi-rele ohjaa lämmitintä tai pumppua, kaapattu laite voi tehdä vahinkoa muuallakin kuin datassa. Harrastajan kannattaa pitää omat kytkennät pienjännitteessä, esimerkiksi 5 V tai 12 V. Releen kiinteä liittäminen 230 V verkkojännitteeseen kuuluu sähköturvallisuuslain mukaan sähköalan ammattilaiselle.
Erillinen verkko kodin IoT-laitteille
Kokenut asentaja aloittaa verkon jakamisesta osiin. Helpoin keino on reitittimen vierasverkko: IoT-laitteet sinne ja tietokoneet pääverkkoon. Silloin murrettu ESP32 ei näe läppärin jaettuja kansioita.
Pidemmälle ehtinyt rakentaa VLAN-verkon. Se onnistuu OpenWrt-ohjelmistoa tukevalla reitittimellä tai hallittavalla kytkimellä, jonka saa noin 30-60 eurolla. Hinnat vaihtelevat myyjän ja kampanjoiden mukaan. Palomuurisäännöillä IoT-verkosta sallitaan liikenne vain sinne, minne sitä oikeasti tarvitaan, esimerkiksi MQTT-palvelimen porttiin.
Tässä tulee vastaan tyypillinen rajatapaus. Vierasverkon asiakaseristys estää usein myös Home Assistantia tavoittamasta laitteita, eikä mDNS-laitehaku toimi verkkojen välillä. Silloin vierasverkko ei riitä. Tarvitaan oma VLAN ja tarkka sääntö, joka sallii yhteydet kotiautomaatiopalvelimelta IoT-verkkoon mutta ei toiseen suuntaan.
ESP32-laitteen perussuojaus vaihe vaiheelta
Alla olevat viisi kohtaa kattavat valtaosan harrastajan riskeistä. Ne sopivat yhtä hyvin Arduino IDE:llä, ESPHomella kuin Tasmotalla tehtyyn laitteeseen.
1. Salaisuudet pois koodista. Wi-Fi-salasana ja MQTT-tunnukset kuuluvat erilliseen tiedostoon (secrets.h tai ESPHomen secrets.yaml), joka lisätään .gitignore-tiedostoon.
2. Salasana OTA-päivityksille. Ilman sitä kuka tahansa samassa verkossa voi ladata laitteeseen oman ohjelmansa.
3. Tunnistautuminen MQTT:hen. Mosquitto 2.0 ja uudemmat eivät oletuksena salli anonyymejä yhteyksiä. Älä kierrä tätä asetusta pois päältä mukavuussyistä.
4. Ei porttiohjauksia. Etäkäyttö kulkee VPN:n kautta, esimerkiksi WireGuardilla.
5. Päivitykset kalenteriin. Käy kirjastot ja firmwaret läpi 2-3 kertaa vuodessa.
Jos olet rakentamassa ulkoanturia, esimerkiksi omaa sääasemaa ESP32-kortilla, sama lista pätee sellaisenaan. Anturin data ei ole salaista, mutta sitä käsittelevä laite on aina osa verkkoa.
Yksi käytännön huomio: vanhemmat kirjastot ja jotkin moduulit eivät aina yhdistä verkkoon, joka on asetettu pelkälle WPA3:lle. WPA2/WPA3-sekatila erillisessä IoT-verkossa on silloin järkevä kompromissi.
Raspberry Pi kotipalvelimena
Raspberry Pi 5 maksaa muistin mukaan noin 60-90 €, ja sillä pyörii helposti Home Assistant, MQTT-palvelin ja Pi-hole. Se on täysi Linux-tietokone, joten sen ylläpitoon kannattaa suhtautua kuin tietokoneen ylläpitoon. Raspberry Pi OS:ssä ei ole vuoden 2022 jälkeen ollut oletuskäyttäjää pi ja salasanaa raspberry, vaan käyttäjä luodaan levykuvaa kirjoitettaessa. Vanhoja ohjeita seuraava voi silti päätyä luomaan juuri tuon yhdistelmän.
Ammattilainen ottaa SSH:ssa käyttöön avainpohjaisen kirjautumisen, poistaa salasanakirjautumisen ja asentaa automaattiset tietoturvapäivitykset (unattended-upgrades). Jos alustan valinta on vielä auki, Arduinon ja Raspberry Pin erot ensimmäisessä projektissa kannattaa käydä läpi myös tietoturvan kannalta. Arduino Uno ilman verkkomoduulia ei ole verkkoriski lainkaan. Raspberry Pi Pico W puolestaan on, koska siinä on Wi-Fi.
Yleisimmät virheet, joita kannattaa välttää
Ensimmäinen virhe on salasanojen päätyminen julkiseen GitHub-repositorioon. Sitä tapahtuu jatkuvasti, varsinkin opiskelijoiden harjoitustöissä. Jos niin käy, pelkkä tiedoston poisto ei riitä, koska salasana jää versiohistoriaan. Vaihda Wi-Fi-salasana heti.
Toinen virhe on porttiohjaus laitteen web-käyttöliittymään, jotta lämpötilan näkee kesämökiltä. Tasmotan tai oman webpalvelimen käyttöliittymä ilman salasanaa löytyy hakukoneista, jotka indeksoivat avoimia laitteita.
Kolmas virhe on unohtunut prototyyppi. Laatikkoon jäänyt ESP8266, jossa on kolme vuotta vanha firmware, yhdistyy edelleen verkkoon aina kun se saa virtaa. Poista vanhat laitteet reitittimen laitelistalta ja vaihda verkon salasana, jos et tiedä, mitä kaikkea siihen on liitetty.
Bonusvinkki: valmiiksi ohjelmoituja moduuleja ja edullisia älypistorasioita tilattaessa laitteessa voi olla tuntematon firmware, joka ottaa yhteyttä ulkomaisiin pilvipalvelimiin. Turvallisinta on ohjelmoida laite itse. Taustaa tilaamisen riskeistä löytyy artikkelista komponentit Kaukoidästä ja niiden aitous.
UKK
Tarvitsenko erillisen reitittimen IoT-laitteille?
Et välttämättä. Useimmissa kotireitittimissä on vierasverkko, joka riittää muutamalle anturille. Jos käytät Home Assistantia tai laitteita on kymmeniä, VLAN-tuettu reititin tai hallittava kytkin on parempi ratkaisu.
Onko Zigbee- tai Bluetooth-laite turvallisempi kuin Wi-Fi-laite?
Osittain. Zigbee-laitteella ei ole omaa IP-osoitetta, joten sitä ei voi skannata internetistä, ja verkkoon pääsee vain koordinaattorin kautta. Koordinaattori itse, esimerkiksi Raspberry Pi, on silti suojattava huolellisesti.
Voiko ESP32:n flash-muistin salata?
Voi. ESP-IDF tukee flash-salausta ja secure bootia. Ne kannattaa opetella ensin ylimääräisellä kortilla, sillä virheelliset eFuse-asetukset voivat lukita piirin pysyvästi. Tarkista yksityiskohdat Espressifin dokumentaatiosta.
Yhteenveto: hallittu laite on turvallinen laite
Kodin verkon tietoturva ei vaadi kalliita laitteita. Siihen riittävät erillinen verkko, salasanat pois koodista, ei avoimia portteja ja säännölliset päivitykset. Tee laitteistasi lista, johon kirjaat jokaisen laitteen nimen, firmware-version ja käyttötarkoituksen. Kun lista on ajan tasalla, tiedät aina, mitä verkossa on.