Bezpečnost vzdáleného řízení – „praktické rady“
Vznik tohoto příspěvku motivoval článek Síťová bezpečnost u systémů řízení budov, jehož autorem je Ing. Jan Vidim, a některé poznámky, které měl k článku Ing. Martin Papík, jeden z recenzentů, po jeho přečtení. Původně krátká poznámka, která měla být zařazena za článek, se po naší vzájemné komunikaci a upřesnění tématu rozrostla, a tak je zveřejněna formou samostatného článku. Upozornění na nutnost se, mnohem více než dosud, zabývat bezpečností komunikace mezi zařízeními TZB není nikdy dost. Zejména praktické rady podané přístupnou formou uživatelům, kteří nejsou specialisté na IT technologie, lze považovat za nedostatkové zboží.
Josef Hodboď, šéfredaktor
Téměř každý výrobce technologií ovlivňujících vnitřní prostředí budov už nakročil, nebo plně podporuje, vzdálenou komunikaci svých výrobků prostřednictvím sítě Internet. Příkladů na trhu bychom nalezli velké množtví. Tento článek si neklade za cíl vyčíslit a vyjmenovat všechny produkty na trhu, ale zaměřit se na to, co by kupující, instalační technik nebo odborná firma, zaměřující se na instalace v oblasti TZB, měli vědět jako univerzální minimum o vzdálené komunikaci např. s kotlem, tepelným čerpadlem, klimatizací apod. a její bezpečnosti. A tedy na co se zaměřit při koupi výrobku, který deklaruje tuto funkcionalitu.
Pojem vzdálená bezpečná komunikace
Pokud zde budeme mluvit o bezpečné vzdálené komunikaci, míníme tím komunikaci pres síť Internet, tj. například, že se ze svého notebooku, smartphonu nebo tabletu připojíme vzdáleně na nějaké zařízení, na které chceme dohlížet nebo měnit provozní parametry. Jde tedy o síťovou komunikaci založenou na protokolu TCP/IP (verze 4 nebo 6). Nebudeme se zde zabývat speciálními typy komunikací, které jsou použity mezi samotným regulátorem a regulovaným zařízením (např: kotel). Abychom mohli vzdáleně regulovat, je nutné, aby regulátor, nebo jeho modul, měl k dispozici síťové rozhraní (RJ-45, WiFi) a byl připojen do počítačové sítě v dané lokalitě (budově) s přístupem do sítě Internet. Mnoho z těchto témat bylo již dříve v časopise detailně popsáno v samostatných článcích, například:
Webový server aneb regulujeme přes internet – 1. díl (Topin č. 1/2011), Webový server aneb regulujeme přes internet – 2. díl (č. 3/2011), Ovládání po internetu, IP adresa (č. 1/2013), Spojení s dynamickou IP adresou (č. 2/2013), Bezpečná regulace pomocí chytrých mobilních zařízení (č. 8/2014), VPN a ovládání domácí regulace (č. 3/2013).
Obecně každý výrobce může zajistit bezpečnou vzdálenou komunikaci dále vyjmenovanými síťovými protokoly nebo principy. Proto by měl mít každý uživatel, ale o to více i profesionál, který taková zařízení projektuje, instaluje, alespoň minimálně pasivní znalost toho, k čemu jsou dobré a jak fungují. Současně také bude schopen správně a technicky přesně komunikovat s výrobcem již při samotné koupi. Toto považuji za nejcennější, protože správně mířený dotaz může odhalit velké mezery ve znalostech samotného prodejce nebo i mnohem vážnější mezery v samotné implementaci funce vzdélené síťové komunikace u daného výrobku (nedotažený koncept apod.).
1. HTTPS protokol, jinak řečeno soubor pravidel, která určují přenos informací z jednoho zařízení do druhého, je dnes u moderních výrobků asi nejrozšíženějsím. Jde o rozšízení protokolu HTTP o „S“, které zastupuje anglické slovo „secure“ tj. bezpečný. Obecně k této komunikaci můžeme využít jakýkoliv webový prohlížeč a nasazení tohoto protokolu poznáme podle adresy, která musí začínat https://. Každý denně používá HTTPS protokol např. při komunikaci se svým internetovým bankovnictvím.
Informace, že používáme webový prohlížeč, je pozitivní, protože můžeme předpokládat vhodné – intuitivní grafické zpracování přihlašovacích obrazovek a dalších menu (i toto je ale nutné si ověřit) viz příklad na následujících obrázcích z OZW servru společnosti Siemens. Pro prohloubení informací ještě doplňme, že standardní síťový komunikační port pro HTTPS je 443, to je důležité např. při nastavování port forwardingu na routeru (přesměrování portu).
Protokol HTTPS šifruje veškerá uživatelská data (login i heslo) předávaná mezi telefonem, tabletem, či počítačem uživatele a ovládaným zařízením, včetně data aplikace. Obecně je považován za bezpečný síťový komunikační prostředek.
2. SSH neboli „secure shell“, protokol vytváří bezpečný, rovněž šifrovaný komunikační kanál pro veškerou komunikaci mezi dvěma počítači (systémy). Implementace SSH protokolu pro malé (embedded PC systémy) zařízení je u vývojářů velice oblíbená. V základu se jedná pouze o bezpečný příkazový řádek nebo „černo-bílé“ textové menu. Proto je nutné požadovat po výrobci dobře zpracovanou uživatelskou dokumentaci (na intuitivnost se nemůžeme spoléhat). K SSH komunikaci si na počítači potřebujeme nainstalovat nějakého SSH klienta (je jich veliké množství a jsou ve většině zadarmo), doporučit můžeme například nejrozšířenějsího klienta „putty“ (http://www.putty. org). Standardní síťový komunikační port pro SSH je 22, to je důležité např. při nastavování port forwardingu na routeru. Na obrázku níže je ukázka klienta putty a výsledná přihlašovací obrazovka při navazování spojení.
3. RDP neboli „Remote Desktop Protocol“, je v posledních verzích operačních systémů MS Windows (7, 8, 10) bezpečně implementovaný protokol pro šifrovanou komunikaci. Jde o protokol vyvinutý firmou Microsoft. Klienta obsahují všechny operační systémy Windows a známe jej pod označením „Vzdálená plocha“. Tímto protokolem se primárně dokážeme připojit k jinému – vzdálenému počítači, na kterém rovněž běží operační systém Windows. Plocha vzdáleného počítače se objeví na monitoru našeho počítače, a tak můžeme řídit funkce vzdáleného počítače. Rozhraní je tedy grafické – intiutivní (pracovní plocha Windows). V jednodušších případech tento postup využívají například správci firemních počítačů a sítí. Na venek se to na první pohled může projevit tak, že na vašem monitoru se pohybuje kurzor, kliká na různé ikony atp., aniž byste sami hýbali myší.
Obecně lze tento postup doporučit pouze u instalací, které obsahují více různých zařízení, s rozdílnými komunikačními principy (HTTPS, speciální klienti od výrobců, SSH atd.), pak nám použití vzdálené pracovní plochy přes RDP poslouží jako vnitřní brána k ovládání různých technologií – zařízení. Nelze předpokládat příliš častou implementaci tohoto konceptu ze strany jednoho výrobce. Standardní síťový komunikační port pro RDP je 3389, to je důležité např. při nastavování port forwardingu na routeru.
Důležité je dbát i na nastavení aktualizací operačního systému Windows na PC v lokalitě instalace, jejichž provedení může použití „vzdálené plochy“ dočasně zablokovat.
Příkladem použití tohoto protokolu, který může být známější širší vrstvě čtenářů, mohou být programy TeamViewer, LogMeIn atp.
4. Proprietální – speciální klienti, mnoha větších výrobců začínají postupně nabízet speciální (proprietální) možnosti jak bezpečně vzdáleně komunikovat s jejich zařízením(i). Vždy je nutné se dotazovat, pod jakými operačními systémy je možné klienta instalovat, dále zda je k dispozici uživatelská dokumentace. Technicky se může jednat o speciální VPN aplikace, dále nadstavby pro SSH nebo klienty pro mobilní zažízení (telefony). Je také nutné si zjistit, jaké síťové protokoly tito speciální klienti používají pro komunikaci (kvůli port forwardingu na routeru), neboť tento údaj často chybí v uživatelské dokumentaci.
Novým trendem v posledních cca 2 letech je, že mnoho výrobců se snaží napojit na sílící vlnu internetu věcí a začínají používat tzv. webové přístupy pomocí „cloudu“. Princip je ten, že majitel zařízení si vytvoří svůj účet přes webovou stránku výrobce, dodavatele, a pak si v tomto účtu pod svým profilem zaregistruje dané zařízení. Výhodou je, že se ke svému účtu dostane z jakéhokoliv svého počítače, tabletu, telefonu, atp. bez ohledu na to, zda mají pevnou nebo proměnlivou IP adresu, a to jen po zadání svých přístupových kodů a hesel, přičemž vyplňování přihlašovacího formuláře z dat uložených v počítači může být i automatické, pokud k němu dá uživatel souhlas. Obecně mají tyto „cloudové“ služby zatím velice malou užitnou hodnotu a zařízení nelze plně ovládat, jen některé služby (funkce) a spíše jen omezeně dohledovat. Proto pozor na slovo „cloud“ a různá tvrzení prodejců, že lze vše ovládat apod. V těchto případech by výrobce měl garantovat šifrování přenosu sám.
Obstarožní „stále používané“ protokoly
K předchozímu textu je nutné podoktnout, že mnoho zařízení stále „rádo“ používá pro komunikaci protokoly jako je HTTP (standardně port 80) nebo TELNET (standadně port 23). Tyto protokoly však nelze považovat za bezpečné pro vzdálenou komunikaci přes Internet. Uživatel se často nechá zmást, a podporují jej v tom neúmyslně z neznalosti, anebo úmyslně s cílem prodat i obchodní zástupci, protože ověření uživatelského jména a hesla v těchto protokolech sice implementováno být může, ale síťová komunikace mezi zařízením (PC) uživatele a cloudem (nebo regulovaným zařízením) výrobce není v žádném případě šifrovaná, to znamená, není bezpečná! Útočník může odposlechnout síťový provoz a velmi lehce v něm získat login i heslo a spoustu dalších údajů. Programy, které to dokážou, jsou běžně dostupné na internetu zdarma.
Obecně nelze přijmout ani zlehčování problému tvrzením, že nikomu by nestálo zato se vlomit do konkrétní komunikace a například přenastavit komfortní teplotu ve Vašem domě (nebo i celém bytovém době atd.). Existuje mnoho internetových škůdců, kteří na podobnou práci využijí výkonné počítače a speciální software a s jeho nasazením mohou negativně ovlivnit a vyřadit z provozu tisíce zařízení nebo právě to vaše. Třeba i z konkurenčních důvodů, pohnutky mohou být různé. V každém případě mohou při takovém nemorálním (nelegálním) jednání vzniknou ztráty materiální nebo v nejhořsím může takové jednání vést i k požkození lidského zdraví. Policie ČR má již řadu let specializovaný útvar, který řeší případy (oznámení) spojené s počítačovou kriminalitou (někdy nazývanou jako tzv. kybernalita). Je však možné, že konkrétní osoba (viník, útočník) se nikdy nenajde, neboť například stopy ukazují, že se nachází v jiné zemi a to samotné vyšetřování může dosti zkomplikovat. Dalším problémem je zajištění logů (záznamů) o samotné síťové komunikaci mezi počítačem, ze kterého byl útok proveden, a jeho cílem. Přičemž pokud se podaří určit počítač útočníka, potom následuje ještě fáze, kdy je nutné určit samotného uživatele (lidského útočníka), ten však častokrát nemusí být majitelem daného počítače atd. Komplikací při vyšetřování podobných případů je mnoho. V ČR se zabývají počítačovou (kybernetickou) bezpečností i další složky státu jako je NBÚ, pod kterým působí Národní Centrum Kybernetické Bezpečnosti (NCKB). Doporučují navštívít webové stránky informačního servisu NCKB na adrese http://www.govcert.cz/cs/ informacni-servis, kde si čtenář může rychle vytvořit představu o aktuální bezpečnostní situaci na Internetu a dozvědět se více informací z této oblasti.
Nechráněné protokoly samotné bez dodatečné ochrany síťové komunikace, například doplněním o VPN, by se pro vzdálenou regulaci vůbec neměly používat. Pokud ale používáte tyto protokoly a současně máte nasazenou VPN ochranu komunikace, pak lze tyto protokoly používat dále bez obav. Dejte si však pozor na tvrzení prodejců, že si nasadíte VPN sami a pak je to vyřešené. Existuje více druhů VPN a jejich nasazení není technicky zcela jednoduché.
Složitost hesla
Výpočetní schopnosti počítačů se stále zvýšují, přibližně každých 5 let se více než zdvojnásobí. Proto i schopnost útočníkova běžného PC dešifrovat heslo ze zašifrovaného síťového provozu stále stoupá. Bezpečné, rozumějme dostatečně složité, heslo zůstává stále jedním z nejdůležitějších předpokladů pro vzdálenou bezpečnou komunikaci. Jaké hesla lze už považovat za bezpečné pro několik dalších let je zřejmé z následující tabulky (zdroj. wikipedia.org), kde můžeme vidět, že zeleně označené buňky jsou považovány za bezpečná hesla při kombinaci použití určitých znaků a délky. Tj. heslo skládající se z min. 8 znaků a kombinace malých písmen i velkých písmen i číslic je relativně bezpečné. Přitom je nutné znova připomenout to, co bylo řečeno již v předchozí kapitole. Sebesložitější heslo není bezpečné, pokud není určeno k zašifrování komunikace, ale jen k přihlášení se na vzdálený počítač, zařízení atp., když přenos hesla probíhá nezašifrovaně.
Závěrem
Pokud si chcete pořídit od Vašeho dodavatele nové systémy pro vzdálenou bezpečnou komunikaci, nebo je dokonce instalovat jako služby zákazníkům, má cenu se hodně ptát a ideálně chtít vidět živou ukázku (demo) předtím než uděláte finální rozhodnutí o koupi. Také má cenu prověřit, zda v současné době nepoužíváte nedostatečně chráněné, tudíž nebezpečné vzdálené způsoby ovládání založené na připojení pomocí protokoly TELNET nebo HTTP a případně uvažovat o jejich nahrazení.
Tento článek je určen i servisním organizacím v oboru nebo třeba projektantům, kteří si ověřují a upravují činnost svých zařízení na dálku, a proto je dobré si uvědomit, že například možnost ovládat zařízení pomocí mobilní aplikace v telefonu je fajn věc pro majitele domku, ale pokud máme takových zařízení dohlížet více, tak mobilní aplikace, navíc s omezeným počtem ovládaných zařízení, není systémovým řešením. V takovém případě je lepší orientovat se na HTTPS nebo SSH komunikaci.
Trend vzdáleného ovládání (regulace) už dávno není výsadou jen několika firem (dodavatelů) a pár instalací, do budoucna budeme muset volit mezi mnoha různými technickými implementacemi. Přejeme Vám šťastnou volbu.
Poděkování
Tato práce byla podpořena Grantovou agenturou České republiky prostřednictvím projektu 13-02149S.
Security of remote control in practise
This article is describing practical usage of some network protocols like http, https, rdp, ssh, telnet for remote control of embedded systems.
Author comment the security aspects of using such protocols. Minor related themes like password complexity or breaking the law are also briefly described.
Keywords: network security, remote control, password complexity, http, https, ssh, rdp, vpn
- Bezpečná regulace pomocí „chytrých“ mobilních zařízení
- VPN a ovládání domácí regulace
- Spojení s dynamickou IP adresou
- Ovládání po internetu, IP adresa