Najlepsze rozwiązania w zakresie zabezpieczeń dla rozwiązań IoT
W tym omówieniu przedstawiono kluczowe pojęcia związane z zabezpieczaniem typowego rozwiązania usługi Azure IoT. Każda sekcja zawiera linki do zawartości, która zawiera szczegółowe informacje i wskazówki.
Na poniższym diagramie przedstawiono ogólny widok składników w typowym rozwiązaniu IoT opartym na brzegu. Ten artykuł koncentruje się na zabezpieczeniach rozwiązania IoT opartego na brzegu sieci:
Zabezpieczenia w rozwiązaniu IoT opartym na brzegu można podzielić na następujące trzy obszary:
Zabezpieczenia zasobów: zabezpieczanie fizycznego lub wirtualnego elementu wartości, z którego chcesz zarządzać, monitorować i zbierać dane.
Zabezpieczenia połączeń: upewnij się, że wszystkie dane przesyłane między zasobami, brzegami i usługami w chmurze są poufne i są odporne na naruszenia.
Zabezpieczenia brzegowe: zabezpieczanie danych podczas ich przechodzenia i przechowywanie ich na brzegu sieci.
Zabezpieczenia w chmurze: zabezpieczanie danych podczas ich przechodzenia i przechowywanie ich w chmurze.
Zazwyczaj w rozwiązaniu opartym na brzegu chcesz zabezpieczyć kompleksowe operacje przy użyciu funkcji zabezpieczeń platformy Azure. Operacje usługi Azure IoT mają wbudowane funkcje zabezpieczeń, takie jak zarządzanie wpisami tajnymi, zarządzanie certyfikatami i bezpieczne ustawienia w klastrze Kubernetes z obsługą usługi Azure Arc. Gdy klaster Kubernetes jest połączony z platformą Azure, inicjowane jest połączenie wychodzące z platformą Azure przy użyciu standardowego protokołu SSL w celu zabezpieczenia przesyłanych danych, a kilka innych funkcji zabezpieczeń jest włączonych, takich jak:
- Wyświetlanie i monitorowanie klastrów przy użyciu usługi Azure Monitor dla kontenerów.
- Wymuszanie ochrony przed zagrożeniami przy użyciu usługi Microsoft Defender for Containers.
- Zapewnij ład za pomocą stosowania zasad w usłudze Azure Policy dla platformy Kubernetes.
- Udziel dostępu i połącz się z klastrami Kubernetes z dowolnego miejsca i zarządzaj dostępem przy użyciu kontroli dostępu opartej na rolach (RBAC) platformy Azure w klastrze.
Usługa Microsoft Defender dla IoT i kontenerów
Usługa Microsoft Defender for IoT to ujednolicone rozwiązanie zabezpieczeń opracowane specjalnie w celu identyfikowania urządzeń IoT i technologii operacyjnych (OT), luk w zabezpieczeniach i zagrożeń. Usługa Microsoft Defender for Containers to natywne dla chmury rozwiązanie do ulepszania, monitorowania i obsługi zabezpieczeń konteneryzowanych zasobów (klastrów Kubernetes, węzłów Kubernetes, obciążeń Kubernetes, rejestrów kontenerów, obrazów kontenerów i nie tylko) oraz ich aplikacji w środowiskach wielochmurowych i lokalnych.
Zarówno usługa Defender dla IoT, jak i usługa Defender for Containers mogą automatycznie monitorować niektóre zalecenia zawarte w tym artykule. Ochrona rozwiązań Defender dla IoT i Defender for Containers powinna być linią frontonu obrony w celu ochrony rozwiązania opartego na brzegu sieci. Aby dowiedzieć się więcej, zobacz:
- Microsoft Defender for Containers — omówienie
- Usługa Microsoft Defender dla IoT dla organizacji — omówienie.
Zabezpieczenia zasobów
Zarządzanie wpisami tajnymi: usługa Azure Key Vault służy do przechowywania poufnych informacji o zasobach, takich jak klucze, hasła, certyfikaty i wpisy tajne oraz zarządzanie nimi. Operacje usługi Azure IoT używają usługi Azure Key Vault jako rozwiązania magazynu zarządzanego w chmurze i używają rozszerzenia magazynu tajnego usługi Azure Key Vault dla platformy Kubernetes do synchronizowania wpisów tajnych z chmury i przechowywania ich na brzegu jako wpisów tajnych platformy Kubernetes. Aby dowiedzieć się więcej, zobacz Zarządzanie wpisami tajnymi dla wdrożenia operacji usługi Azure IoT.
Zarządzanie certyfikatami: Zarządzanie certyfikatami ma kluczowe znaczenie dla zapewnienia bezpiecznej komunikacji między zasobami a środowiskiem środowiska uruchomieniowego brzegowego. Operacje usługi Azure IoT udostępniają narzędzia do zarządzania certyfikatami, w tym wystawiania, odnawiania i odwoływanie certyfikatów. Aby dowiedzieć się więcej, zobacz Zarządzanie certyfikatami na potrzeby wewnętrznej komunikacji operacji usługi Azure IoT.
Wybierz sprzęt odporny na naruszenia dla zasobów: wybierz sprzęt zasobów z wbudowanymi mechanizmami wykrywania manipulacji fizycznych, takich jak otwarcie pokrywy urządzenia lub usunięcie części urządzenia. Te sygnały naruszenia mogą być częścią strumienia danych przekazanego do chmury, a operatory alertów do tych zdarzeń.
Włącz bezpieczne aktualizacje oprogramowania układowego zasobów: użyj usług, które umożliwiają aktualizacje za pośrednictwem powietrza dla zasobów. Twórz zasoby z bezpiecznymi ścieżkami aktualizacji i kryptograficznego zapewniania wersji oprogramowania układowego w celu zabezpieczenia zasobów podczas aktualizacji i po nich.
Bezpieczne wdrażanie sprzętu zasobów: upewnij się, że wdrożenie sprzętu zasobów jest tak odporne na naruszenia, jak to możliwe, szczególnie w niezabezpieczonych lokalizacjach, takich jak miejsca publiczne lub nienadzorowane ustawienia regionalne. Włącz tylko niezbędne funkcje, aby zminimalizować fizyczne ślady ataku, takie jak bezpieczne pokrycie portów USB, jeśli nie są potrzebne.
Postępuj zgodnie z najlepszymi rozwiązaniami dotyczącymi zabezpieczeń i wdrażania producenta urządzeń: jeśli producent urządzenia zapewnia wskazówki dotyczące zabezpieczeń i wdrażania, postępuj zgodnie z ogólnymi wskazówkami wymienionymi w tym artykule.
Zabezpieczenia połączeń
Użyj protokołu Transport Layer Security (TLS), aby zabezpieczyć połączenia z zasobów: Cała komunikacja w ramach operacji usługi Azure IoT jest szyfrowana przy użyciu protokołu TLS. Aby zapewnić bezpieczne domyślnie środowisko, które minimalizuje nieumyślne narażenie rozwiązania opartego na brzegu na osoby atakujące, operacje usługi Azure IoT są wdrażane z domyślnym głównym urzędem certyfikacji i wystawcą certyfikatów serwera TLS. W przypadku wdrożenia produkcyjnego zalecamy użycie własnego wystawcy urzędu certyfikacji i rozwiązania infrastruktury kluczy publicznych przedsiębiorstwa.
Rozważ użycie zapór przedsiębiorstwa lub serwerów proxy do zarządzania ruchem wychodzącym: jeśli używasz zapór przedsiębiorstwa lub serwerów proxy, dodaj punkty końcowe operacji usługi Azure IoT do listy dozwolonych .
Szyfrowanie wewnętrznego ruchu brokera komunikatów: zapewnienie bezpieczeństwa komunikacji wewnętrznej w infrastrukturze brzegowej jest ważne, aby zachować integralność i poufność danych. Należy skonfigurować brokerA MQTT w celu szyfrowania ruchu wewnętrznego i danych przesyłanych między frontonem brokera MQTT i zasobnikami zaplecza. Aby dowiedzieć się więcej, zobacz Konfigurowanie szyfrowania ruchu wewnętrznego brokera i certyfikatów wewnętrznych.
Konfigurowanie protokołu TLS z automatycznym zarządzaniem certyfikatami dla odbiorników w brokerze MQTT: Operacje usługi Azure IoT zapewniają automatyczne zarządzanie certyfikatami dla odbiorników w brokerze MQTT. Zmniejsza to koszty administracyjne związane z ręcznym zarządzaniem certyfikatami, zapewnia terminowe odnawianie i pomaga zachować zgodność z zasadami zabezpieczeń. Aby dowiedzieć się więcej, zobacz Secure MQTT broker communication by using BrokerListener (Bezpieczna komunikacja brokera MQTT przy użyciu brokeralistener).
Skonfiguruj bezpieczne połączenie z serwerem OPC UA: podczas nawiązywania połączenia z serwerem OPC UA należy określić, z którymi serwerami OPC UA ufasz, aby bezpiecznie ustanowić sesję. Aby dowiedzieć się więcej, zobacz Konfigurowanie infrastruktury certyfikatów OPC UA dla łącznika OPC UA.
Zabezpieczenia brzegowe
Zachowaj aktualność środowiska uruchomieniowego brzegowego: zapewnij aktualność wdrożenia klastra i operacji usługi Azure IoT, udostępniając najnowsze poprawki i wersje pomocnicze, aby uzyskać wszystkie dostępne poprawki zabezpieczeń i błędów. W przypadku wdrożeń produkcyjnych wyłącz automatyczne uaktualnianie usługi Azure Arc, aby mieć pełną kontrolę nad tym, kiedy nowe aktualizacje są stosowane do klastra. Zamiast tego ręcznie uaktualnij agentów zgodnie z potrzebami.
Sprawdź integralność obrazów platformy Docker i helm: przed wdrożeniem dowolnego obrazu w klastrze sprawdź, czy obraz jest podpisany przez firmę Microsoft. Aby dowiedzieć się więcej, zobacz Weryfikowanie podpisywania obrazów.
Zawsze używaj certyfikatów X.509 lub tokenów kont usługi Kubernetes do uwierzytelniania za pomocą brokera MQTT: broker MQTT obsługuje wiele metod uwierzytelniania dla klientów. Każdy port odbiornika można skonfigurować tak, aby miał własne ustawienia uwierzytelniania za pomocą zasobu BrokerAuthentication. Aby dowiedzieć się więcej, zobacz Konfigurowanie uwierzytelniania brokera MQTT.
Podaj najmniejsze uprawnienia wymagane dla zasobu tematu w brokerze MQTT: zasady autoryzacji określają, jakie akcje klienci mogą wykonywać na brokerze, takie jak łączenie, publikowanie lub subskrybowanie tematów. Skonfiguruj brokerA MQTT tak, aby używał jednego lub wielu zasad autoryzacji za pomocą zasobu BrokerAuthorization. Aby dowiedzieć się więcej, zobacz Konfigurowanie autoryzacji brokera MQTT.
Konfigurowanie izolowanych środowisk sieciowych przy użyciu usługi Azure IoT Layered Network Management (wersja zapoznawcza):Azure IoT Layered Network Management (wersja zapoznawcza) to składnik ułatwiający połączenie między platformą Azure i klastrami w izolowanych środowiskach sieciowych. W scenariuszach przemysłowych izolowane sieci są zgodne z architekturą sieci PURDUE ISA-95./ Aby dowiedzieć się więcej, zobacz Co to jest usługa Azure IoT Layered Network Management (wersja zapoznawcza)?.
Bezpieczeństwo w chmurze
Użyj tożsamości zarządzanych przypisanych przez użytkownika do połączeń w chmurze: zawsze używaj uwierzytelniania tożsamości zarządzanej. Jeśli to możliwe, użyj tożsamości zarządzanej przypisanej przez użytkownika w punktach końcowych przepływu danych, aby uzyskać elastyczność i możliwość inspekcji.
Wdrażanie zasobów obserwowania i konfigurowanie dzienników: możliwość obserwacji zapewnia wgląd w każdą warstwę konfiguracji operacji usługi Azure IoT. Zapewnia wgląd w rzeczywiste zachowanie problemów, co zwiększa efektywność inżynierii niezawodności lokacji. Operacje usługi Azure IoT oferują możliwość obserwowania za pośrednictwem niestandardowych wyselekcjonowanych pulpitów nawigacyjnych Grafana hostowanych na platformie Azure. Te pulpity nawigacyjne są obsługiwane przez usługę zarządzaną Azure Monitor dla rozwiązania Prometheus i usługi Container Insights. Przed wdrożeniem operacji usługi Azure IoT Wdróż zasoby w klastrze.
Bezpieczny dostęp do zasobów i punktów końcowych zasobów za pomocą kontroli dostępu opartej na rolach platformy Azure: zasoby i punkty końcowe zasobów w operacjach usługi Azure IoT mają reprezentacje zarówno w klastrze Kubernetes, jak i w witrynie Azure Portal. Aby zabezpieczyć dostęp do tych zasobów, możesz użyć kontroli dostępu opartej na rolach platformy Azure. Kontrola dostępu oparta na rolach platformy Azure to system autoryzacji, który umożliwia zarządzanie dostępem do zasobów platformy Azure. Kontrola dostępu oparta na rolach platformy Azure umożliwia przyznawanie uprawnień użytkownikom, grupom i aplikacjom w określonym zakresie. Aby dowiedzieć się więcej, zobacz Bezpieczny dostęp do zasobów i punktów końcowych zasobów.
Następne kroki
Aby dowiedzieć się więcej o zabezpieczeniach IoT, zobacz:
- Punkt odniesienia zabezpieczeń platformy Azure dla platformy Kubernetes z obsługą usługi Azure Arc
- Pojęcia dotyczące zabezpieczania obciążenia natywnego dla chmury
- Punkt odniesienia zabezpieczeń platformy Azure dla usługi Azure IoT Hub
- Przewodnik po zabezpieczeniach usługi IoT Central
- Perspektywa dobrze zaprojektowanej struktury w usłudze Azure IoT Hub