Programování a konfigurace MaR z hlediska bezpečnosti
V následujícím textu stručně shrneme pravidla, která by bylo vhodné dodržovat pro to, abychom zvýšili úroveň bezpečnosti proti útokům (security). Provozní praxe ukazuje, že ačkoli programovací nástroje a aplikace umožňují leckdy poměrně vysoký stupeň zabezpečení, jejich možnosti nejsou využívány – většinou z pohodlnosti nebo neznalosti, jak je správně nastavit. Zkusme se zamyslet nad následujícími tipy a tam, kde to dává smysl, je aktivně prosazovat.
Řídicí systém je zde rozdělen do čtyř úrovní – od vizualizace a ukládání dat až po periferie. Směrem „dolů“ jde čím dál více o ochranu fyzickou, v „horních“ vrstvách se setkáváme spíše s IT opatřeními. Samozřejmě poslední slovo má zákazník, v jehož objektu je řídicí systém instalován.
Pravidla jsou popsána stručně, berme je jako jakýsi checklist. Ne všechna opatření je možné realizovat, určitě bychom v kontextu realizace přišli i na další.
SCADA, databáze
Fyzická ochrana
- server instalovat ve vyhovujícím prostředí (serverovna, rack – ne někde v dílně pod stolem);
- podle možností blokovat periferie počítače (CD mechaniku, čtečky karet, USB porty…);
- použít UPS s dostatečnou kapacitou pro překlenutí krátkodobých výpadků napájení.
Softwarová ochrana
- OS (operační systém): administrátorský účet používat jen pro konfiguraci, ne pro běžný provoz;
- OS: odinstalovat nepotřebné programy, zejména hry, nelicencované programy atd.;
- OS: pravidelně aktualizovat, pokud to jde (musí být přístup na Internet);
- na IIS používat https://, což mj. znamená vytvoření a nasazení SSL certifikátu;
- pokud má být přístup z Internetu, PC ideálně umístit do demilitarizované zóny (ve spolupráci s IT zákazníka);
- pravidelně revidovat uživatelské účty jak OS, tak programu SCADA i dalších (kontrola, zda nejsou definováni uživatelé, kteří již nejsou zaměstnáni atd.);
- vynucovat změnu hesla po čase (pokud je to v souladu s IT politikou zákazníka)
- vynutit přiměřenou složitost hesla ve Scadě;
- pravidelně (automatické) zálohovat projekt a kontrolovat obnovitelnost záloh;
- vzdálený přístup zásadně přes VPN, nenechávat jen otevřený port pro vzdálenou plochu (RDP) nebo podobné služby (VNC);
- pravidelně revidovat možnosti vzdáleného přístupu (otevřené porty, VPN konta);
- povolení přístupu jen z určitých veřejných IP adres (pro vzdálený servis);
- řízená správa přihlašovacích údajů do VPN a do systému na počítačích techniků (minimálně chránit počítač heslem, šifrovat disk atd.).
PLC, terminály
Fyzická ochrana
- PLC umístit v uzamykatelném rozvaděči, pokud není v uzamykatelné místnosti; klička nestačí, pokud je skříň ve veřejně přístupných prostorech, jako jsou chodby;
- na rozvaděči mít přístupné jen nutné ovládací prvky, tedy pokud je ve dveřích rozvaděče ovládací terminál, sekce s nastavitelnými parametry zaheslovat;
- pokud možno v technologické síti nepoužívat wifi;
- podle potřeby použít spravovatelný switch s kontrolou MAC adres na portech a hlášení připojení cizích zařízení do sítě;
- do sítě s řízeným přístupem na Internet nepřipojovat další „pomocná“ zařízení typu GPRS router.
Softwarová ochrana
- měnit výchozí hesla pro přístup protokolem SSCP;
- měnit výchozí hesla pro HMI;
- měnit výchozí hesla pro webové uživatele;
- pravidelně (automaticky) zálohovat projekty, kontrolovat dostupnost záloh;
- neupravovat ručně interní firewall PLC (na platformách Linux);
- u terminálů po nastavení vypnout webový přístup a FTP, pokud to jde.
I/O moduly, převodníky, IRC
- I/O moduly pokud možno umisťovat v rozvaděčích, na samostatné sběrnici (ne spolu s IRC regulátory, jejichž sběrnice vede po budově);
- IRC konfigurovat tak, aby nebyly dostupné zbytečné funkce;
- u převodníků po nastavení vypnout webový přístup a FTP, pokud to jde.
Periferie
- používat princip „klidový proud“, aby se při poškození periferie přišlo na závadu;
- externí nastavení (např. u termostatů) použít jen tam, kde je to nutné; rozhodně ne u bezpečnostních prvků (přetopení zásobníku TUV);
- ve veřejně přístupných prostorech zvážit antivandal provedení čidel;
- v softwaru PLC ošetřit bezpečný stav technologie při poškození kritických čidel (pokud vstup pro čidlo ukazuje nesmyslnou hodnotu, vnutit programu bezpečnou hodnotu nebo přejít do bezpečného stavu a poruchu čidla hlásit alarmem).