Parempaan tietoturvaa kotiautomaatijärjestelmään
On helppo ymmärtää että kotiautomaatiojärjestelmän tietoturva-asioihin täytyy kiinnittää erityistä huomiota, varsinkin jos järjestelmään on liitetty kameroita, kodin hälytysjärjestelmä tai vaikkapa älylukkoja. Tässä muutamia poimintoja mitä järjestelmää rakennettaessa kannattaa huomioida.
Salasanat
Salasanojen vahvuutta ei voi koskaan korostaa liikaa. Ennen salasanoissa on suositettu käytettävän isoja ja pieniä kirjaimia, numeroita ja erikoismerkkejä. Paremman suojan ns. brute-force -hyökkäyksiä vastaan saa näiden lisäksi pitkillä (yli 15 merkkiä sisältävillä) salasanoilla tai lauseilla. Aiheesta lisää esimerkiksi Kyberturvallisuuskeskuksen ohjeessa.
Home Assistantissa voi olla tallennettuna useita eri salasanoja: käyttöliittymän salasana(t), MQTT, reititin, notifikaatiopalvelut, jne. Home Assistant tarjoaa salasanojen tallentamiseen käytännössä kahta eri tapaa: Salasanat voivat olla selkokielisenä configuration.yaml -tiedostossa tai erillisessä secrets.yaml -tiedostossa. Turvallisempi vaihtoehto on suojata salasanat kryptaamalla ne erillisen skriptin avulla. Salasanojen kryptaamiseen on Home Assistantissa kaksi vaihtoehtoa keyring tai credstash. Home Assistant tukee myös monivaiheista tunnistautumista, mikä parantaa suojaustasoa merkittävästi.
Etäyhteys
Kannattaa tarkkaan harkita tarvitseeko kotiautomaatiojärjestelmään päästä käsiksi kodin ulkopuolelta vai luottaako siihen että automaatiot toimivat kuten pitääkin ja että (virhe)tilanteista saa riittävät ilmoitukset vai tarvitseeko tietoja välttämättä nähdä ja asetuksia muuttaa myös kotoa poissa ollessaan. Yhteysmahdollisuus kotiverkon ulkopuolelta avaa myös hyökkääjille mahdollisuuden päästä kotiverkkoon sisälle.
Jos käytössä on dynaaminen julkinen IP-osoite, saa osoitteen helpommin muistettavampaan muotoon dynaamisen DNS-palvelun avulla. Tällainen palvelu on esimerkiksi suomalainen dy.fi. Palvelu vaatii kotiverkon palvelimella tai reitittimessä säännöllisesti ajettavan skriptin, joka päivittää IP-osoitteen palveluun. Kotiverkkoon yhdistetään tämän jälkeen palveluun rekisteröidyllä osoitteella: esim. kotiautomaatio.dy.fi
Riippuen kotiverkon toteutuksesta ja yhteystavasta, tarvitaan lisäksi porttiohjaus laajakaista-modeemin ja reitittimien asetuksiin, jotta liikenne löytää reitin ulkoverkon ja Home Assistant -palvelimen välillä. Yhteyden muodostamiseen kannattaa ehdottomasti käyttää salattua VPN-tunnelia tai TLS(SSL)-salattua yhteyttä avoimen salaamattoman yhteyden sijaan.
Yhteyksien hallintaa
Home Assistant mahdollistaa IP -osoitteiden eston väärien kirjautumisyritysten perusteella. Tämän saa käyttöön laittamalla configuration.yaml -tiedostoon rivit:
http:
ip_ban_enabled: true
login_attempts_threshold: 5
Yllä olevat rivit saavat Home Assistantin estämään kirjautumisyritykset viiden väärän kirjautumisyrityksen jälkeen. Home Assistant kirjaa estetyt IP-osoitteet konfiguraatio-hakemistossa olevaan ip_bans.yaml -tiedostoon, josta niitä voi tarvittaessa muokata. Estetyt IP-osoitteet ilmestyvät näkyviin myös käyttöliittymän etusivulle.
Laajemmat säätömahdollisuudet yhteyksien hallintaan saa kodin reitittimen palomuurin tai Home Assistantin käyttöjärjestelmän iptables/NFTables -työkalun avulla. IP-estojen lisäksi voi tällöin määrittää esimerkiksi vain tietyt sallitut IP-osoitteet, jolloin kaikki muut yhteydet estetään.
Älylaitteiden pääsy verkkoon
Monet kodin älylaitteista haluavat pitää yhteyttä laitevalmistajien omiin palveluihin, jolloin ei ole täyttä varmuutta mitä tietoja valmistajille välitetään. Käytettäessä laitteita Home Assistantin kanssa, laitteille riittää yleensä yhteys vain Home Assistantin kanssa, eikä ulkopuolisia yhteyksiä tarvitse sallia. Helpoiten tämä onnistuu määrittelemällä kodin reitittimen asetuksista onko laitteella pääsy Internetiin vai ei.
Älylaitteiden omaan tietoturvaan kannattaa myös kiinnittää huomiota. Hyökkääjä saattaa käyttää laitteiden tietoturva-aukkoja hyväkseen ja päästä sitä kautta kodin verkkoon. Kannattaa siis huolehtia että laitteiden tietoturvapäivitykset ovat ajan tasalla. Lisäksi auttaa yhteyksien salliminen vain luotetuista IP-osoitteista eli yhteydet vain Home Assistantin ja älylaitteen välillä. Toinen hyvä keino on eristää kodin älylaitteet omaan (virtuaaliseen) kotiautomaatioverkkoon. Tällöin murtautuja onnistuessaan pääsee käsiksi vain tähän rajattuun kotiverkon osaan.
Varmuuskopiot
Ei ehkä liity suoraan tietoturvaan, mutta kotiautomaatiojärjestelmän varmuuskopioista on myös hyvä huolehtia. Esimerkiksi Raspberry Pi:n muistikortin pettäessä, on järjestelmä huomattavasti nopeammin palautettavissa toimintakuntoon tuoreen varmuuskopion avulla. Helpoimmat tavat lienee tehdä varmuuskopiot valmiiden laajennusten avulla GitHubiin tai Google Driveen.
Kaikki omat varmuuskopioni (mukaanlukieni esimerkiksi valokuvat ja muut dokumentit) teen ensin paikalliselle NAS-palvelimelle. NAS-palvelimelta varmuuskopiot tehdään edelleen kotiverkon ulkopuolella olevalle palvelimelle. Varmuuskopioiden tekemiseen käytän rsync -skriptiä, joka on ajastettu cron:lla suoritettavaksi kerran viikossa. Tiedot ovat tällöin tallessa kolmella eri palvelimella ja kahdessa eri fyysisessä paikassa.
#!/bin/sh
/usr/bin/rsync -az /home/homeassistant/.homeassistant/ user@NAS:/HASSBackup/
Skripti kopioi kaikki Home Assistantin tiedostot alihakemistoinen, käyttäjäoijkeuksineen ym. (-a archive mode) NAS-palvelimelle /HASSBackup -hakemistoon. Siirtoon käytetään SSH-yhteyttä ja tiedostot pakataan (-z) siirron aikana. Vastaavanlainen skripti on käytössä varmuuskopioitaessa NAS-palvelimelta ulkoiselle palvelimelle.
2 thoughts on “Parempaan tietoturvaa kotiautomaatijärjestelmään”
Hyvä – ja tarpeellinen postaus! Tuo ip ban -konffi oli itselle uusi, tulee välittömästi käyttöön!
Me olemme myös rakentamassa uutta omakotitaloa täällä Turun suunnalla ja mieheni on aivan innoissaan juuri tällaisen kotiautomaatiojärjestelmän ostamisesta. Rupesin sen takia googlailemaan tarkemmin, että mistä on kyse ja mitä kannattaa ottaa huomioon. Nämä sinun mainitsemat asiathan ovat todella tärkeitä ja sellaisia, joita en itse olisi tullut ajatelleeksikaan. Tuo varmuuskopiointi on tosi tärkeä vinkki!