Miért van szükség erre?
Egy vezérlő telepítése során gyakran igény van arra, hogy az eszköz a helyi alhálózaton képes legyen más eszközökkel kommunikálni, vagy hogy biztosítva legyen számára az internet elérése. Bármi is történjék egy biztos: a PLC hálózati beállításait el kell végezni.
Informatika: IP címek, átjárók, kiszolgálók…
Egy átlag felhasználó szempontjából az alábbi beállítások elvégzése a legfontosabbak ebben a sorrendben:
Saját IP cím (IPv4):
Az alkalmazások legnagyobb részében az Ethernet kábeleken keresztüli kommunikáció alappillére az IP cím, ami alapján az egyes eszközök egymást képesek megtalálni a hálózaton. Minden IP kommunikációra képes eszköz konfigurációja ennek a címnek a beállításával kezdődik. Ez része az alap hálózati konfigurációnak.
Alapértelmezett átjáró (Gateway):
Az átjáró az az eszköz, ami lehetővé teszi, hogy két különböző hálózaton lévő eszköz egymással kommunikálni tudjon. Leggyakrabban ezek az eszközök router- ek, amik összekötik a WAN (Wide Area Network) külső hálózatot a LAN (Local Area Network) belső hálózattal. IP hálózatokban az átjáró rendelkezik WAN és LAN IP címmel is. A LAN- on lévő PLC- nek ismernie kell az átjáró IP címét akkor, ha igényel külső hálózattal való kommunikációt.
Alhálózati maszk (Subnet mask):
Az alhálózati maszk egy logikai kapcsolatot jelöl meg az átjáró és az eszköz saját IP címe között, és meghatározza az aktuális LAN maximális eszközszámát is. Arra való, hogy az IP címeket két felé bontsa: alhálózat azonosító és eszköz azonosító. 255.255.255.0, azaz 11111111.11111111.11111111.00000000 maszk esetén a 192.168.1.17 IP címből a 192.168.1… rész azonosítja az alhálózatot, és a …17 a hálózathoz csatlakoztatott eszközt.
1. ábra – LAN vs WAN, Forrás: www.lifewire.com
Kiszolgálók, például DNS és NTP szerver (Domain Name System szerver; Network Time Protocol szerver)
A hagyományos PC- k számára fontos hálózati paraméter még a DNS kiszolgáló elérhetősége. Erre azért van szükség, mert sok online weboldalt, API- t vagy szervert IP cím helyett egy domain név jelöl a felhasználóbarátabb használat miatt. Minden domain név mögött legalább egy IP cím van, viszont hogy ezeket a csatlakozni kívánt eszközök fel tudják oldani szükség egy olyan kiszolgálóra, ami rendelkezik ezeknek a neveknek a listájával. Több DNS kiszolgáló létezik, de talán az egyik legkönnyebben megjegyezhető a Google saját DNS szerverének a címe: 8.8.8.8 elsődleges és 8.8.4.4 másodlagos. Sok esetben egy PLC vagy hasonló eszköz konfigurációja során beírható DNS kiszolgálónak az átjáró címe is, így az fog keresni elérhető szervert.
Ilyen domain név jelöl sok NTP idő szervert is, ami ugyan nem feltétlenül szükséges egy rendszer hibátlan működéséhez, viszont dátum és napszak szerinti időzítések esetén nagyon hasznos. Szintén rengeteg időszerver elérhető az interneten, például a Google- nak szintén ebből is van egy sajátja: time.google.com.
Milyen az ideális konfiguráció?
Adott feladatok és hálózatoktól függ az, hogy hogyan néz ki a legjobb hálózati konfiguráció. Egy PLC számára mindenképp meg kell adni legalább az IP címet a programozáshoz, ami izolált környezetekben akár elég is lehet. Olyan helyeken, ahol az eszköz már más eszközökkel is kommunikál (adatbázis szerver, megjelenítő, másik vezérlők) érdemes a három alap paramétert biztosítani: IP cím, átjáró és maszk. Amennyiben az eszköznek szüksége van arra, hogy mindig a pontos idő ketyegjen a belső órájában (tipikusan felhő alapú alkalmazások MQTT- vel, napszak és dátum szerinti időzítések, adatmentés időbélyeggel) érdemes NTP szerver címet is beállítani. Vagy az NTP szerver, vagy egy felhőszolgáltató, vagy akár egy weboldallal történő kommunikációhoz már szükséges a DNS kiszolgáló megadása is.
Ezeknek a beállításoknak a megfelelő elvégzésével az IP alapú kommunikációt használó folyamatok sok esetben már működőképesek, viszont nem biztonságosak. Az ideális konfiguráció nélkülözhetetlen része a megfelelő biztonság az esetleges támadók ellen (legyen ez távolról érkező, vagy helyi csatlakozással történő támadás).
Biztonság
Az első és legfontosabb szabály: a jelszavakat meg kell változtatni. A támadók nem csak a PLC webes felületén keresztül tudnak kárt tenni az eszközökben vagy azok által a vezérelt technológiában, hanem akár SSH kapcsolaton keresztül a Linux terminált használva
2. ábra – Ne légy áldozat! Változtasd meg!
A második szabály: amire nincs szükség, azt ki kell kapcsolni. Ez pont az előbb említett SSH kapcsolat elérhetőségét képes megszűntetni, és így hiába nincs megváltoztatva a jelszó, nem lehet belépni.
Abban az esetben, ha a felhasználó csak titkosított MQTT kapcsolatot szeretne létesíteni a külvilággal, akkor minden port letiltható gyakorlatilag a TCP:8883 kivételével. Ha szükség van még emellett a PLC webes felületére, akkor a HTTPS portot, azaz a TCP:443- at kell engedélyezve hagyni. Ha a támadó meg is próbál belépni a WBM vagy webvizu oldalakra, akkor ezeket külön-külön lehet jelszóval védeni. A helyi védelem tekintetében akár érdemes lehet a webes felületen kikapcsolni a soros konfigurációs port működését, és az eszközt kulccsal zárható szekrényben elhelyezni.
Érezhető, hogy lehet tovább fokozni még a biztonságot, viszont az soha nem fogja elérni a feltörhetetlen szintet. Újonnan telepített rendszerek esetén ezért rendkívül fontos a legújabb megbízható firmware telepítése, hogy az eszköz naprakész legyen és az esetleges korábbi biztonsági rések javításra kerüljenek. A felhasználónak úgy kell elvégeznie a beüzemelést, hogy a technológia védett legyen, de a megfelelő jogosultsággal rendelkező személyzet be tudjon avatkozni a működésbe.
Beállítások elvégzése: WAGO Ethernet Settings
Az Ethernet Settings szoftverrel nagyon gyorsan, könnyen és több fizikai közegen keresztül is el lehet végezni a fent említett beállítások jelentés részét:
3. ábra – IP konfiguráció az Ethernet Settings szoftverben
- IP konfiguráció forrása: Állandó konfiguráció (Fix IP), DHCP, BootP (bizonyos PLC- k esetén DIP kapcsolók)
- IP cím
- Alhálózati maszk
- Átjáró
- Elsődleges és másodlagos DNS kiszolgáló
- Idő szerver
- stb…
Beállítások elvégzése: WBM felület (Web Based Management felület)
A beállítások elvégzése után az eszköz webes konfigurációs felületének már elérhetőnek kell lennie a „https://<beállított IP cím>” vagy „https://<beállított IP cím>/wbm” oldalon. Minden más eddig nem módosított paraméter itt írható át. A következő menüpontokon belül találhatók ezek:
4. ábra – WBM navigáció, a hálózati beállításokkal kapcsolatos menüpontok sárgával jelölve
A megjelölt menüpontokon érhetők el a hálózati beállításokkal kapcsolatos konfigurációs felületek.
- Networking
Itt lehet beállítani az IP címet, átjáró címét, alhálózati maszkot, és az Ethernet portok működési módját. Az utóbbi megváltoztatásával elérhető, hogy a gyári alapértelmezett „switch” üzemmód helyett „separated” módban működjön a két csatlakozó. Ez olyan esetekben lehet szükséges, mikor a PLC- nek egyszerre két külön hálózaton kell jelen lennie.
- Firewall
Itt lehet a PLC tűzfalát ki- és bekapcsolni, továbbá a hozzá tartozó portokat tiltani vagy engedélyezni. Egyedi portok engedélyezésére is van lehetőség a „User Filter” menüponton belül, illetve MAC cím szűrőt lehet illeszteni az eszközhöz (ezáltal csak a dedikált fizikai címmel rendelkező eszközök tudnak csatlakozni bármilyen módon az eszközhöz; manapság már nem túl célszerű használni).
- Administration
Itt változtatható meg a WBM felülethez tartozó felhasználók jelszavai. Érdemes nem csak az „admin”, de a „user” jelszavát is megváltoztatni.
- Ports and Services
Itt a PLC speciális szolgáltatásai kapcsolhatók ki és be, például az SSH szerver, a HTTP vagy HTTPS elérés, FTP elérés, webvizu szerver futtatása, stb. A webvizu- hoz tartozó hozzáférési jelszó is itt adható meg (erre a jelszóra van szükség az e!COCKPIT/CODESYS 2.3- al való csatlakozáshoz és a webes vizualizációs felületek eléréséhez).
- OpenVPN / IPsec
Itt állítható be az OpenVPN / IPsec paraméterek a biztonságos magánhálózathoz való csatlakozáshoz.
- Security
Ezen az oldalon választható ki, hogy az eszköz milyen verziójú TLS titkosítású protokollt engedélyezzen. A „Strong” beállítás megakadályozza a régi típusú verziók használatát.
Példa a WAGO Cloud használatához
A WAGO Cloud használatához szükség van internet kapcsolatra (átjáró, amin keresztül elérhető az internet), pontos PLC időre (NTP kapcsolat), a felhő elérhetőségére (domain név és képesség a feloldására), a használt MQTT port engedélyezésére (titkosított 8883 MQTT port) és a felhő fiókhoz tartozó eszköz azonosító karakterláncokra.
Az átjáró lehet egy router internet eléréssel, aminek az IP címe például 192.168.1.1. Ezen keresztül lát ki a PLC az internetre.
Az NTP kapcsolathoz a time.google.com feloldott IP címeit használom. Ezeket a címeket könnyedén megszerezhetem a Windows parancssorba beírt „nslookup time.google.com” utasítással.
5. ábra – “nslookup time.google.com” futtatása parancssorban
DNS szervernek elsődlegesen az átjárót használom, azaz a 192.168.1.1 IP címet.
A tűzfal beállításai közé felveszem a 8883 port kivételét.
6. ábra – Egyedi TCP port engedélyezése
Miután elvégeztem az összes előkészületet kitöltöm a WBM felületet az eszköz WAGO Cloud- ból kinyert aktiváló kulccsal és eszköz azonosítóval, végül engedélyezem a szolgáltatás futását.
Néhány alkalmazás ismert portjai
Az alábbi alkalmazások / portokollok működéséhez alapértelmezett beállítások mellett a következő portokat szükséges mindenképp engedélyezni:
- PLC webes felülete: TCP:80 (HTTP) vagy TCP:443 (HTTPS) port
- Codesys 2.3: TCP:2455
- e!COCKPIT: TCP:11740 (Codesys) és TCP:6626 (WAGO szervíz) port
- Hálózati változók: UDP:1202
- NTP kapcsolat: TCP:123
- SSH kapcsolat: TCP:22
- FTP kapcsolat: TCP:21
- Modbus: TCP:502 vagy UDP:502
- MQTT: TCP:1883 (általános MQTT) vagy TCP:8883 (titkosított MQTT)
- Docker alkalmazások: TCP:1880 (Node-RED) vagy TCP:9000 (Portainer) vagy TCP:8088 (InfluxDb) vagy TCP:8888 (Chronograf) stb…