Przejdź do głównej zawartości

SEW Connectivity Service

Przegląd​

Usługa SEW Connectivity Service opiera się na SDA Glue — aplikacji dla bram (Gateway), dostępnej dla hostów Linux i Windows. Usługa wykorzystuje SoftEther VPN, który obsługuje OpenVPN na klientach Windows, ustanawiając bezpieczny tunel TCP między interfejsem sieciowym w bramie a usługami chmurowymi SEW, takimi jak IDEaaS, kopie zapasowe (Backup) oraz maszyny wirtualne wdrożeniowe (Deployment VM). Łączy również natywne zapory systemów operacyjnych, Linux iptables oraz Windows Filtering Platform (WFP), z tablicą NAT, aby połączyć oprogramowanie specyficzne dla producentów, takie jak Siemens TIA Portal i Rockwell Studio 500, bezpośrednio z urządzeniem w warstwie sterowania produkcją.

Najważniejsze informacje​

Zarządzanie zasobami przemysłowymi z SEW opiera się na kompleksowym i bezpiecznym rozwiązaniu łączności przemysłowej, które wypełnia lukę między środowiskami produkcyjnymi a usługami chmurowymi. Wykorzystując sprawdzone technologie i wdrażając solidne mechanizmy bezpieczeństwa, usługa zapewnia łączność klasy korporacyjnej, dostosowaną specjalnie do potrzeb automatyki przemysłowej i systemów sterowania.

Bezpieczeństwo klasy przemysłowej: Integracja z AWS IoT Core zapewnia bezpieczne połączenia TLS z precyzyjnymi zasadami kontroli dostępu. Jest to zgodne z najlepszymi praktykami bezpieczeństwa przemysłowego IoT i umożliwia administratorom ograniczanie dostępu na podstawie właściwości urządzeń i kontekstu.

Sprawdzone fundamenty VPN: Usługa wykorzystuje SoftEther VPN, który zapewnia szyfrowanie AES 256-bit i RSA 4096-bit przy wysokiej przepustowości oraz niskim zużyciu pamięci i procesora, gwarantując, że dane w tranzycie pozostają zabezpieczone przed podsłuchem i nieuprawnionym dostępem — idealne rozwiązanie dla zastosowań przemysłowych, w których bezpieczeństwo i wydajność są krytyczne.

Dostęp sieciowy w modelu zero-trust: Usługa eliminuje potrzebę stosowania tradycyjnych, statycznych połączeń VPN, ustanawiając połączenia na żądanie. Ta architektura typu punkt-punkt zapewnia, że użytkownicy mogą uzyskać dostęp wyłącznie do wyraźnie autoryzowanych urządzeń, a nie do całych segmentów sieci, co znacząco zmniejsza powierzchnię ataku.

Projekt przyjazny dla fabryki: Wszystkie połączenia są inicjowane na zewnątrz przez sam węzeł — bramę lub stację roboczą — i nigdy nie są przyjmowane jako połączenia wejściowe, dzięki czemu nie są wymagane żadne reguły zapory dla ruchu wejściowego. Takie podejście respektuje istniejące architektury bezpieczeństwa przemysłowego, jednocześnie zapewniając bezpieczny dostęp zdalny.

Architektura​

Uczestnicy sieci wirtualnej nazywani są węzłami (Node) i stanowią główne komponenty usługi Connectivity Service. Każde połączenie powstaje w wyniku interakcji łańcucha węzłów, z których każdy pełni określoną rolę.

Urządzenia (Devices): zasoby przemysłowe zwykle znajdujące się w bezpiecznej sieci produkcyjnej, do których można uzyskać dostęp poprzez ich adres IP, np. sterowniki PLC, panele HMI i roboty. Urządzenia są deklarowane w SEW Console dla każdego Tenanta, a dostęp użytkowników jest zarządzany przez kontrolę dostępu opartą na rolach (Role-Based Access Control). Łączność wymaga, aby każde urządzenie było powiązane z co najmniej jedną bramą sieciową.

Bramy (Gateways): hosty sieciowe z bezpiecznym dostępem do Internetu oraz do urządzeń zarządzanych w SEW Console. Zwykle są to komputery przemysłowe (IPC), maszyny wirtualne, kontenery, a nawet urządzenia Raspberry Pi, umieszczone w strefie zapory wymagającej określonych reguł dostępu do zasobów SEW Cloud, takich jak serwery Tenanta. Każda brama uruchamia SDA Glue, czyli usługę systemu operacyjnego nasłuchującą żądań połączeń i dostarczającą dane telemetryczne.

Stacje robocze (Workstations): własny komputer klienta, wykorzystywany do dostępu do urządzeń poprzez bramę w docelowej lokalizacji. Stacja robocza uruchamia to samo oprogramowanie SDA Glue co brama i jest skonfigurowana identycznie na poziomie sieci; jedyną różnicą jest rola — stacja robocza zawsze inicjuje połączenie na zewnątrz, w kierunku bramy, i nigdy nie przekazuje ruchu dalej do innych urządzeń.

Serwery Tenanta (Tenant Servers): hosty typu bastion działające w bezpiecznym środowisku SEW Cloud, dedykowane dla każdego Tenanta, które łączą interfejs sieciowy bramy z maszyną wirtualną usługi SEW lub z inną bramą. Serwery te gwarantują wymagane polityki filtrowania, zapewniając wyłącznie połączenia punkt-punkt, np. z IDEaaS do konkretnego sterownika PLC, a nie do innych, niepożądanych urządzeń w tej samej sieci co brama. Uwierzytelniają one również dostęp z bram na podstawie polityki rotacji poświadczeń dla każdego połączenia.

Maszyny wirtualne usług (Service VMs): uruchamiają aplikacje wymagane przez usługi SEW, takie jak IDEaaS, kopie zapasowe i potoki wdrożeniowe. Maszyny te korzystają z usługi Connectivity Service, aby uzyskać dostęp do urządzeń w warstwie sieciowej, poprzez ich adres IP, co jest niezbędne w zastosowaniach przemysłowych.

Chmura​

Zamiast korzystać z tradycyjnych, statycznych połączeń VPN, usługa SEW Connectivity Service ustanawia połączenia z zasobami przemysłowymi na żądanie; żądania te są przekazywane do łańcucha węzłów, które współdziałają, zapewniając dostęp sieciowy punkt-punkt między usługami SEW a urządzeniami.

Po stronie sieci produkcyjnej wszystkie połączenia są inicjowane z bramy, co nie wymaga żadnych reguł dla połączeń wejściowych w fabryce. Aby to osiągnąć, węzły stale nasłuchują nadchodzących żądań na brokerze wiadomości IoT, obsługiwanym przez AWS IoT Core.

Ta architektura umożliwia użytkownikom interakcję z zasobami w fabryce z dowolnego miejsca z dostępem do Internetu i z dowolnego komputera, wyłącznie za pośrednictwem przeglądarki.

Sieć​

Brama jest urządzeniem brzegowym umieszczonym między warstwą sterowania produkcją a Internetem, zapewniającym usługom SEW kontrolowany dostęp do zasobów zdefiniowanych w Konsoli. Dlatego bardzo ważne jest ustalenie architektury, która bezpiecznie łączy SEW Cloud z lokalną infrastrukturą. Zalecamy jedną z dwóch proponowanych konfiguracji bramy, opisanych poniżej.

Brama w sieci LAN​

To najczęstsze podejście, w którym bramę umieszczamy obok sterowników PLC podłączonych do platformy SEW. W tym przypadku zapora ściśle kontroluje ruch wychodzący z bramy do Internetu.

Brama ma dostęp do podsieci, w której się znajduje, ale zapora może być skonfigurowana w routerze sieci jako warstwa kontroli dostępu (ACL). Powszechne jest również stosowanie bramy z dwoma interfejsami sieciowymi: jednym skierowanym do strefy DMZ i drugim, prywatnym, w warstwie sterowania. Taka architektura pozwala na powtarzające się strefy IP, np. obie z podsiecią 10.0.0.0/24.

Brama w strefie DMZ​

To podejście jest często stosowane, gdy brama działa na dedykowanej maszynie wirtualnej, gdzieś w infrastrukturze serwerowej. Zespół IT zapewni specjalne trasy między maszyną wirtualną a docelowymi sterownikami PLC w warstwie sterowania, a zapory będą prawdopodobnie obecne zarówno na dostępie do Internetu, jak i do OT.

ważne

Translacja adresów sieciowych (NAT) może również występować przy ruchu w kierunku sterowników PLC. Wymaga to jednak uwagi: niektóre oprogramowanie specyficzne dla producentów PLC może nie być zgodne z adresowaniem sterownika PLC poprzez alias IP — może wymagać dostępu do adresu IP jawnie skonfigurowanego w projekcie.

W tym przypadku każdy sterownik PLC w jednostce produkcyjnej musi mieć unikalny adres IP, w przeciwnym razie mogą wystąpić kolizje. Ponadto, w zależności od infrastruktury sieciowej, dostęp z bram do sterowników PLC w warstwie 2 może nie działać — jest to nadchodząca funkcja związana z integracją przemysłowych sieci czasu rzeczywistego z usługami SEW.

Oprogramowanie​

SDA Glue to aplikacja działająca jako usługa systemu operacyjnego, zapewniająca wysoką dostępność bramy dzięki automatycznemu uruchamianiu i ponownemu startowi w przypadku błędów. Aby ustanawiać tunele sieciowe poprzez zarządzanie zasobami sieciowymi, takimi jak interfejsy, trasy i reguły zapory, wymaga podniesionych uprawnień jako użytkownik systemowy.

Automatyczne aktualizacje są domyślnie włączone. Usługa Glue odczyta najnowszą stabilną wersję z repository.eu1.sdacosole.io i zastosuje aktualizację, gdy nie będzie żadnych aktywnych połączeń. Mechanizm aktualizacji pobiera nowy plik binarny aplikacji, zastępuje nim stary i ponownie uruchamia usługę.

AWS IoT Core zostanie połączone podczas logowania, z wykorzystaniem punktu końcowego iot.eu1.sdaconsole.io. Po połączeniu usługa Glue będzie stale nasłuchiwać żądań z SEW Cloud i publikować dane telemetryczne, takie jak status urządzeń powiązanych z bramą. Uwierzytelnianie IoT jest zabezpieczone krótkim identyfikatorem i hasłem jednorazowym, które można pobrać z SEW Console. Połączenie z IoT jest również zabezpieczone tajnym kluczem w pliku binarnym aplikacji. Połączenie z IoT można skonfigurować tak, aby było ustanawiane przez MQTT SSL lub WebSocket Secure, oba na porcie 443.

Mechanizmy sieciowe różnią się dla systemów Linux i Windows. Dlatego zostały opisane oddzielnie.

Linux​

SDA Glue w systemie Linux korzysta z klienta SoftEther VPN Client, który jest oprogramowaniem open-source (Apache License 2.0), instalowanym z serwera lustrzanego SEW pod adresem repository.eu1.sdaconsole.io podczas instalacji Glue.

Dla każdego połączenia Glue używa klienta SoftEther do utworzenia interfejsu sieciowego NIC i połączenia go z serwerem Tenanta. Wykorzystuje również narzędzia IP systemu Linux, aby przypisać adres IP do tego interfejsu i utworzyć niezbędne trasy między maszyną wirtualną usługi a docelowym urządzeniem.

Wewnętrzne reguły zapory i translacja NAT są tworzone w iptables, co nie pozwala na przychodzące pakiety sieciowe do bramy, a jedynie na przekazywanie pakietów do docelowego urządzenia.

📚 Zarządzanie zasobami Linux w połączeniach

Aby zrozumieć, w jaki sposób brama z systemem Linux łączy usługi chmurowe z urządzeniami fabrycznymi, przeanalizujmy konkretny przykład z określonymi adresami IP, ilustrujący cały przepływ.

Rozważmy sieć fabryczną, w której docelowe urządzenie (np. sterownik PLC) ma lokalny adres IP 10.0.0.5, a brama znajduje się w tej samej sieci z adresem IP 10.0.0.2. W SEW Cloud maszyna wirtualna usługi musi połączyć się z tym urządzeniem i otrzyma adres VPN 100.112.20.3, natomiast interfejs VPN bramy otrzyma adres 100.112.10.6.

Ustanawianie tunelu

Gdy pojawia się żądanie połączenia, zarówno brama, jak i maszyna wirtualna usługi przystępują do działania. Brama tworzy nowy wirtualny interfejs sieciowy o nazwie vpn_iface i przypisuje mu adres 100.112.10.6. Jednocześnie maszyna wirtualna usługi w chmurze tworzy własny interfejs VPN z adresem IP 100.112.20.3. Oba punkty końcowe łączą się następnie z serwerem Tenanta, ustanawiając między sobą bezpieczny, szyfrowany tunel.

Factory Side: Cloud Side:
Gateway Service VM
├─ Local: 10.0.0.2 ├─ VPN: 100.112.20.3
└─ VPN: 100.112.10.6 └─ Target: 10.0.0.5 (via Gateway)
Device
└─ Local: 10.0.0.5

W tym momencie tunel już istnieje, ale pakiety nadal nie wiedzą, gdzie mają być skierowane. Brama musi nauczyć system, jak trasować ruch między tymi dwoma światami.

Tworzenie tras

Brama dodaje regułę trasowania, która tworzy połączenie między siecią VPN a halą produkcyjną:

ip route add 100.112.20.3 via 100.112.10.6 dev vpn_iface

Ta trasa przekazuje systemowi kluczową informację: gdy urządzenie o adresie 10.0.0.5 wysyła pakiety odpowiedzi, powinny one zostać przekazane przez vpn_iface, aby dotarły do maszyny wirtualnej usługi o adresie 100.112.20.3. Bez tej trasy brama nie wiedziałaby, jak odesłać odpowiedzi urządzenia do chmury.

Samo trasowanie jednak nie wystarczy. Zapora bramy domyślnie nadal blokowałaby ten ruch. Aby umożliwić połączenie, brama musi jawnie zezwolić na dwukierunkowe przekazywanie pakietów między maszyną wirtualną a urządzeniem:

iptables -A GLUE_FORWARD -s 100.112.20.3 -d 10.0.0.5 -j ACCEPT
iptables -A GLUE_FORWARD -s 10.0.0.5 -d 100.112.20.3 -j ACCEPT

Reguły te otwierają kontrolowaną ścieżkę, umożliwiając przepływ pakietów od maszyny wirtualnej usługi do urządzenia i z powrotem, przy zachowaniu poziomu bezpieczeństwa bramy dla całego pozostałego ruchu. Warto również zauważyć, że Glue używa własnych łańcuchów w iptables, aby nie powodować konfliktów z innymi regułami.

Translacja NAT

Urządzenie w fabryce oczekuje komunikacji z lokalnymi adresami IP — nie ma wiedzy o sieci chmurowej pod adresem 100.112.20.3 i nie wiedziałoby, jak odpowiedzieć na pakiety z tego adresu. Brama rozwiązuje to, maskując pakiety maszyny wirtualnej usługi:

iptables -t nat -A GLUE_POSTROUTING -s 100.112.20.3 -d 10.0.0.5 -j MASQUERADE

Po wprowadzeniu tej reguły NAT, gdy pakiet przychodzi z maszyny wirtualnej usługi i jest przeznaczony dla urządzenia, brama zmienia jego adres źródłowy z 100.112.20.3 na 10.0.0.2. Z perspektywy urządzenia wydaje się, że komunikuje się bezpośrednio z samą bramą — znanym, zaufanym adresem w jego sieci lokalnej. Gdy urządzenie wysyła odpowiedź na adres 10.0.0.2, brama wykonuje translację odwrotną, zmieniając adres docelowy z powrotem na 100.112.20.3, tak aby pakiet dotarł do maszyny wirtualnej usługi przez tunel VPN.

Dzięki tej orkiestracji tunelowania VPN, trasowania, reguł zapory i translacji NAT brama tworzy przejrzyste połączenie punkt-punkt. Urządzenie nigdy nie widzi infrastruktury chmurowej — po prostu komunikuje się z czymś, co wydaje się być bramą w jego sieci lokalnej pod adresem 10.0.0.2. Jednocześnie maszyna wirtualna usługi uzyskuje bezpośredni dostęp w warstwie sieciowej do urządzenia poprzez jego adres IP 10.0.0.5, umożliwiając aplikacjom przemysłowym, takim jak TIA Portal czy Studio 5000, działanie tak, jakby były uruchomione w lokalnej sieci fabrycznej.

Windows​

SDA Glue w systemie Windows nie obsługuje wbudowanego wykorzystania SoftEther VPN Client, dlatego korzysta z OpenVPN Community Open-Source Client (licencja GPL wersja 2), instalowanego z serwera lustrzanego SEW pod adresem repository.eu1.sdaconsole.io podczas instalacji Glue.

Dla każdego połączenia Glue używa sterownika OpenVPN TAP do utworzenia interfejsu sieciowego i połączenia go z serwerem Tenanta z wykorzystaniem uwierzytelniania opartego na certyfikatach. Wykorzystuje natywne API systemu Windows do przypisania adresu IP do interfejsu i utworzenia niezbędnych tras między maszyną wirtualną usługi a docelowym urządzeniem.

Glue używa również Windows Filtering Platform (WFP) do tworzenia dedykowanych warstw i reguł zapory. Zależy jednak od WinNAT lub NetNat w celu zadeklarowania translacji adresów między maszyną wirtualną usługi a urządzeniem, co może nie być domyślnie włączone.

Stacja robocza a brama: Stacje robocze i bramy korzystają z identycznego klienta Windows i opisanej powyżej konfiguracji połączenia — tego samego sterownika OpenVPN TAP i tego samego adresowania interfejsu opartego na WinNAT. Jedyną różnicą jest reguła zapory WFP przypisywana dla każdego połączenia przez politykę backendu: połączenie stacji roboczej zawsze otrzymuje regułę wyłącznie dla ruchu wychodzącego, ograniczoną do konkretnego adresu IP urządzenia docelowego przez interfejs tunelu SEW, natomiast brama może dodatkowo otrzymać regułę przekazywania, aby kierować ruch dalej do urządzeń znajdujących się za nią. Stacja robocza nigdy więc nie otwiera na hoście ścieżek wejściowych ani przekazujących, a żaden inny interfejs sieciowy, trasa czy istniejące połączenie VPN na tym komputerze nie jest modyfikowany — wszystkie zmiany ograniczają się do wirtualnego interfejsu, który SDA Glue tworzy dla własnego tunelu.

Podsumowanie​

SEW Connectivity Service dostarcza dojrzałe, bezpieczne i skalowalne rozwiązanie wyzwań związanych z łącznością przemysłową. Łącząc sprawdzone technologie open-source, takie jak SoftEther VPN, z infrastrukturą chmurową klasy korporacyjnej opartą na AWS IoT Core, usługa zapewnia niezawodność i bezpieczeństwo wymagane w operacjach przemysłowych, oferując jednocześnie elastyczność i łatwość użycia oczekiwaną przez nowoczesne zespoły inżynierskie.

Architektura usługi respektuje zasady bezpieczeństwa przemysłowego, umożliwiając jednocześnie inicjatywy transformacji cyfrowej, które napędzają efektywność operacyjną, zdalną współpracę i podejmowanie decyzji w oparciu o dane. Dla organizacji, które chcą bezpiecznie połączyć swoje zasoby przemysłowe z usługami chmurowymi bez naruszania bezpieczeństwa sieci ani niezawodności operacyjnej, SEW Connectivity Service stanowi kompleksowe rozwiązanie gotowe do zastosowania produkcyjnego.