Poradnik Cyberbezpieczeństwa OT: Switche przemysłowe oraz dostęp do sieci

09.08.2021 How to / Cyberbezpieczeństwo przemysłowe
Poradnik Cyberbezpieczeństwa OT: Switche przemysłowe oraz dostęp do sieci
Wizerunek autora
Tomasz Sokół
Producent: MOXA
  • Zakłady przemysłowe
  • Gaz i Paliwa
  • Woda i ścieki

Wstęp

Artykuł z cyklu: Poradnik cyberbezpieczeństwa OT.

Dlaczego warto stosować switche zarządzalne?

Switche ethernetowe można podzielić zasadniczo na dwie grupy.

Switche niezarządzalne – bardzo proste urządzenia, które działają od razu po wyjęciu z pudełka i podłączeniu zasilania. Służą najczęściej do rozszerzenia sieci Ethernet o dodatkowe porty. Mogą być one wyposażone w porty światłowodowe oraz PoE. Generalnie – nie wymagają żadnej dodatkowej konfiguracji, aby spełnić swoją funkcję.

Switche zarządzalne – w podstawowym wariancie działają na takiej samej zasadzie jak switche niezarządzalne tzn. działają w oparciu o przełączanie ramek Ethernetowych. Switche zarządzalne posiadają również dodatkowe funkcje konfiguracji i ustawień. Taka konfiguracja może odbywać się na wiele sposobów – przez konsolę szeregową, SSH, przeglądarkę internetową czy dedykowane oprogramowanie producenta.
Do czego mogą być potrzebne dodatkowe funkcje, które oferują switche zarządzalne? Na przykład po to, aby móc utworzyć połączenia redundantne (np. podstawowy wariant ringu wymaga wykorzystania switchy zarządzalnych), monitorować status portów w urządzeniu, kontrolować dostęp do sieci poprzez filtrowanie adresów IP czy adresów MAC. Switche zarządzalne ofertują również szereg powiadomień, np. SNMP Trap czy możliwość wysyłania logów do serwera Syslog. Dzięki temu możliwe jest centralne monitorowanie i zbieranie logów ze wszystkich urządzeń w sieci. W przypadku większych sieci (więcej niż kilkanaście przełączników zarządzalnych) warto również zastanowić się nad dedykowanym oprogramowaniem do monitorowania przełączników. W przypadku problemów w sieci czy nagłej awarii pomoc oprogramowania może być nieoceniona i z pewnością szybciej pomoże namierzyć źródło problemów.

Więcej informacji na temat różnic między switchem niezarządzalnym, zarządzalny, a switchem warstwy trzeciej można znaleźć w tym artykule.

https://www.elmark.com.pl/blog/roznica-pomiedzy-switchem-niezarzadzalnym-zarzadzalnym-a-switchem-warstwy-trzeciej

Bezpieczny dostęp do konfiguracji

Inżynier konfigurując urządzenie nie powinien korzystać z nieszyfrowanych protokołów komunikacyjnych. Protokoły takie jak telnet oraz HTTP powinny być traktowane jako niebezpieczne.

W przypadku tych dwóch protokołów bardzo łatwo można podsłuchać transmisję – np. Wiresharkiem i odkryć przekazywane przez te protokoły wrażliwe dane – np. hasło administratora.

Zamiast telnet należy korzystać z szyfrowanego połączenia SSH, natomiast zamiast http powinno używać się również szyfrowanego protokołu HTTPS.

Skrypty wykorzystywane podczas skanowania sieci często szukają otwartych portów 80 (http), 23 (telnet). Wchodząc nieco głębiej w konfigurację, można również zmienić domyślne numery portów TCP na których dana usługa pracuje. Niewykorzystywane dodatkowe usługi – tak jak na poniższym rysunku Moxa Service – można wyłączyć. Są to porty które wykorzystywane są przez dedykowane oprogramowanie producenta, często do usprawnienia procesu konfiguracji. Gdy z nich już nie korzystamy, to warto je wyłączyć – często zapomniane i włączone usługi są wektorami ataków.

Kolejnym krokiem w zwiększeniu bezpieczeństwa dostępu do konfiguracji powinno być ograniczenie adresów IP hostów, którzy mają uprawnienia do zmian konfiguracji. Na switchu Moxa można zdefiniować konkretne adresy IP (Trusted Access) lub zakresy adresów IP z których będzie możliwe uruchomienie konsoli www urządzenia lub nawiązanie połączenia SSH. Próby konfiguracji od nieautoryzowanych adresów IP będą odrzucane przez urządzenie.

Bezpieczeństwo i higiena haseł

Podstawowa czynność, od której należy zacząć wdrażanie polityk cyberbezpieczeństwa. Domyślne hasła podawane są do publicznej wiadomości. Istnieją nawet strony, które gromadzą większość domyślnych haseł, np. https://cirt.net/passwords. Dodatkowo, często producent/dystrybutor ujawnia je na oficjalnej stronie produktu lub w dokumentacji. Będzie to pierwsza rzecz od jakiej próbę ataku zacznie haker.

W sieci dostępnych jest wiele wykresów/tabel prezentujących, ile haker potrzebuje czasu, aby złamać Twoje hasło. Wedle tego zaprezentowanego przez HIVE Systems na złamanie 7-znakowego hasła składającego się z cyfr, wielkich i małych liter oraz symboli zajmuje ok. 6 minut. Dla porównania hasło 8-znakowe składające się wyłącznie z małych i wielkich liter, to wyznawanie na ok. 5 sekund. Aby utrudnić próbę łamania hasła przez brute force można skonfigurować automatyczne blokowanie konsoli po kilku próbach nieudanego logowania – jest to funkcja Account Login Failure Lockout.



W związku z powyższym hasła powinny charakteryzować się możliwie jak największym poziomem skomplikowania i unikać wzorów. Na switchach Moxa można skonfigurować politykę złożoności hasła – tzn. długość znaków, czy hasło powinno zawierać duże i małe litery oraz znaki specjalne. Patrząc z drugiej strony medalu, bardzo złożone hasła trudno jest zapamiętać. Częstą praktyką jest używanie tych samych haseł na wszystkich urządzeniach w sieci.
Gdy instalacją zarządza kilku inżynierów utrzymania ruchu warto rozważyć autoryzację każdego użytkownika poprzez zewnętrzny serwer RADIUS. Podczas logowania każdy inżynier korzysta z własnej nazwy użytkownika oraz hasła, a zewnętrzny serwer (skonfigurowany na przykład jako usługa Active Directory) poświadcza jego uprawnienia do zalogowania się.
Jest to dużo lepsze rozwiązanie niż gromadzenie wszystkich haseł w notatniku czy wspólnym arkuszu kalkulacyjnym do którego dostęp ma kilkanaście osób.

Obecnie, dostępne są rozwiązania, które znacznie ułatwiają dbanie o odpowiednią higienę haseł. Prywatnie zaleca się używanie menadżerów haseł. Są to najczęściej darmowe rozwiązania. Biznesowo można korzystać z menadżerów haseł, które oferują możliwość bezpiecznego i w pełni szyfrowanego współdzielenia haseł między inżynierami. Jaki menadżer haseł wybrać? Pomocne mogą być poniższe dwa artykuły które opisują możliwości najbardziej popularnych rozwiązań tego typu.

Artykuł w języku polskim: https://pl.safetydetectives.com/best-password-managers/enterprise/

Artykuł w języku angielskim: https://geekflare.com/team-password-manager/

Menadżer haseł gwarantuje, że każde hasło będzie posiadało odpowiednią złożoność oraz będzie unikalne – tzn. nie będzie powtarzało się na innych urządzeniach.

Bezpieczny dostęp do sieci

Switche zarządzalne zabezpieczają sieć przed nieautoryzowanym dostępem. Można ograniczyć o blokować użytkowników o nieznanych adresach IP/MAC lub blokować ruch od danego hosta w sieci.
Na switchach Moxa można konfigurować różne typy zabezpieczeń – zaczynając od filtrowania ruchu na pojedynczych portach, a kończąc na uwierzytelnianiu użytkowników przez zewnętrzne serwery.

Przełączniki zarządzalne Moxa wspierają funkcję Port Security, która umożliwia przepływ pakietów danych z zaszytym określonym adresem MAC.
Obsługiwane są dwa tryby ochrony portów: Static Port Lock i adres MAC Address Sticky.

  • Static Port Lock - umożliwia użytkownikom skonfigurowanie określonych adresów MAC, które mogą uzyskać dostęp do portu.
  • Adres MAC Sticky - pozwala użytkownikom skonfigurować maksymalną liczbę adresów MAC, których switch może się „nauczyć”. Użytkownik może skonfigurować działania, które zostaną podjęte, gdy zostanie przekroczona maksymalna liczba adresów MAC i nowe urządzenie będzie chciało uzyskać dostęp do portów. Adresy MAC przechowywane są w MAC Address Control Table. 

Nieużywane porty można również całkowicie wyłączyć. 

Bardziej zaawansowanym i uniwersalnych mechanizmem są listy kontroli dostępu (ang. ACL = access control list). ACL to lista zdefiniowanych instrukcji zezwoleń lub zakazów, która jest wykonywana sekwencyjnie – od góry do dołu. Instrukcje zawierają informacje od adresach IP (IP Based) lub adresach MAC (MAC Based) co do których jest podejmowana decyzja o przepuszczeniu, bądź odrzuceniu danego pakietu. 
W przypadku ACL, dopasowanie jest sprawdzane linijka po linijce – pierwsza linijka, do której nastąpi dopasowanie jest stosowana. Jeżeli w warunku lista została zdefiniowana jako deny – pakiet zostanie odrzucony, a jeżeli permit – pakiet zostanie przepuszczony. Kolejne warunki ACL nie są sprawdzane. 

IEEE 802.1X

Standard IEEE 802.1X podwyższa poziom zabezpieczeń i ułatwia ich wdrażanie, oferując obsługę scentralizowanej identyfikacji użytkowników, uwierzytelniania, dynamicznego zarządzania kluczami. W celu zastosowania protokół 802.1X wymaga kompatybilnych przełączników sieciowych (switch) oraz mechanizmu uwierzytelniającego np. serwer RADIUS.

W przypadku sieci opartej o protokół IEE 802.1x można wyróżnić trzy urządzenia:

  • suplikant (ang. supplicant) – urządzenie, które próbuje uzyskać dostęp do sieci.
  • autentykator (ang. authenticator) – urządzenie pośredniczące – urządzeniem pełniącym tę rolę jest switch zarządzalny. Autentykator jest jednocześnie klientem serwera RADIUS
  • serwer uwierzytelniający – serwer (najczęściej serwer RADIUS) udzielający dostępu suplikantowi. 

W momencie podłączenia hosta do switcha, port zostanie ustawiony w trybie unauthorized – ruch sieciowy pochodzący od hosta próbującego uzyskać dostęp do chronionej sieci, w momencie podłączenia jest blokowany. Blokada nie dotyczy wymiany pakietów, które są niezbędne do przeprowadzenia procesu uwierzytelniania. Dozwolony jest tylko ruch EAP over LAN (EAPOL).

Switch zarządzalny po wykryciu hosta próbującego uzyskać dostęp do chronionej sieci, wysyła do niego komunikat EAP request – żądanie identyfikacji. Host odpowiada pakietem EAP response podając swoje dane logowania, które są przesyłane do serwera uwierzytelniającego. Serwer po otrzymaniu i analizie żądania podejmuje decyzję o udzieleniu bądź odmowie dostępu do sieci. 

Aby komputer mógł być uwierzytelniony za pomocą serwera RADIUS musi mieć zainstalowane i uruchomione oprogramowanie RADIUS Client. 

Bezpieczne monitorowanie urządzeń

Bezpieczny system to również taki, w którym administrator ma pełną wiedzę o urządzeniach, które się w nim znajdują, a także na bieżąco jest informowany o statusie każdego urządzenia i centralnie może analizować logi, które urządzenia sieciowe wysyłają.

Do monitorowania urządzeń sieciowych najczęściej wykorzystywany jest protokół SNMP (w aplikacjach przemysłowych często Switche monitorowanie są z wykorzystaniem Modbus TCP).
Protokół SNMP w wersjach v1 oraz v2c do komunikacji między managerem a agentem wykorzystuje community string. W dużym uproszczeniu możemy myśleć o nim jak o haśle. W rzeczywistości jest to ciąg znaków, który przybiera różne wartości dla dostępu RO (tylko do odczytu) i RW (do odczytu i zapisu). W procesie zarządzania poprzez SNMP manager (zarządca) kontaktuje się z agentem na danym urządzeniu wykorzystując do tego celu właśnie Community String. Community String również posiada wartości domyślne i są one dostępne w instrukcji do każdego urządzenia wspierającego protokół SNMP. Dla read-only jest to często string public, a dla read-write jest to string private.
Znając te parametry możliwe jest monitorowanie, a nawet konfigurowanie urządzenia, które jest zabezpieczone hasłem. Dlatego powinno zmienić się domyślne wartości Community Strings.
Jeżeli protokół SNMP nie jest wykorzystywany, to warto go wyłączyć na urządzeniu końcowym. Natomiast na urządzeniach, które mają taką możliwość powinno korzystać się z SNMP w wersji 3. SNMPv3 posiada dwa mechanizmy zapewniające dużo większy poziom bezpieczeństwa - możliwość szyfrowania transmisji między managerem, a hostem. Dodatkowo możliwe jest uwierzytelnianie użytkowników uprawnionych do odczytu/zapisu.

Protokół SNMP bazuje na komunikacji z urządzeniami sieciowymi. Możemy to realizować wysyłając cykliczne zapytania o predefiniowane zmienne (OID) celem uzyskania stosownej informacji. Jednak w przypadku wystąpienia zdarzenia/problemu z założenia chcemy być o tym informowani natychmiastowo. Do tego celu służy SNMP Trap/Inform - są to natychmiastowe powiadomienia o wystąpieniu zdarzenia, które wysyłane są do serwera/serwerów, które takie wydarzenia gromadzą. W konsekwencji pozwoli to administratowi odpowiednio szybko odwzorować sekwencję zdarzeń i szybko podjąć kroki w celu naprawienia usterki. Urządzenia końcowe mogą wysyłać powiadomienia SNMP Trap/Inform na przykład o nieudanych próbach zalogowania do urządzenia, awarii zasilania, przełączenia się na redundantną ścieżkę komunikacji itp.

Audyt bezpieczeństwa urządzeń

Switche przemysłowe mają wiele funkcji, które można skonfigurować, aby zwiększyć bezpieczeństwo samego urządzenia. Dobrym wyznacznikiem jakie funkcje powinno mieć urządzenie sieciowe, aby zapewnić odpowiedni poziom bezpieczeństwa jest norma IEC 62443-4.
IEC 62443 wyróżnia 4 poziomy zabezpieczania urządzeń, mianowicie Level 0 (otwarte), Level 1 (podstawowe), Level 2 (średnie), Level 3 (wysokie).
Dla urządzeń Moxa audyt bezpieczeństwa urządzeń i zakwalifikowanie ich do odpowiedniej grupy można automatycznie wykonać z wykorzystaniem funkcji Security View, która dostępna jest w programie MXview (do 20 urządzeń jest to darmowy program, a przez 2 miesiące można korzystać z pełnej licencji na 2000 urządzeń).

Dla każdego urządzenia można wizualnie sprawdzić, które funkcje bezpieczeństwa są już skonfigurowane, a które należy skonfigurować, aby uzyskać odpowiedni poziom bezpieczeństwa.

Skontaktuj się ze specjalistą Elmark

Masz pytania? Potrzebujesz porady? Zadzwoń lub napisz do nas!