Udostępnij za pośrednictwem


Zabezpieczanie rozwiązań IoT

Rozwiązania IoT umożliwiają łączenie, monitorowanie i kontrolowanie urządzeń i zasobów IoT na dużą skalę. W rozwiązaniu połączonym z chmurą urządzenia i zasoby łączą się bezpośrednio z chmurą. W rozwiązaniu połączonym z brzegiem urządzenia i zasoby łączą się ze środowiskiem środowiska uruchomieniowego brzegowego. Aby chronić rozwiązanie IoT przed zagrożeniami, należy zabezpieczyć zasoby fizyczne i urządzenia, infrastrukturę brzegowa i usługi w chmurze. Należy również zabezpieczyć dane, które przepływają przez rozwiązanie IoT — zarówno na poziomie brzegowym, jak i w chmurze.

Ten artykuł zawiera wskazówki dotyczące najlepszego zabezpieczania rozwiązania 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 połączonym z urządzeniami brzegowymi. Ten artykuł koncentruje się na bezpieczeństwie rozwiązania IoT połączonego z brzegową siecią.

Diagram przedstawiający architekturę rozwiązania połączonego z usługą IoT na wysokim poziomie z wyróżnionymi zabezpieczeniami.

W rozwiązaniu IoT połączonym z krawędzią, można podzielić kwestie bezpieczeństwa na następujące cztery obszary.

  • Zabezpieczenia zasobów: zabezpieczanie zasobu IoT podczas wdrażania go w środowisku lokalnym.

  • Zabezpieczenie połączenia: Upewnij się, że wszystkie dane przesyłane między zasobami, usługami brzegowymi i usługami w chmurze są poufne i odporne na manipulacje.

  • Zabezpieczenia brzegowe: zabezpieczanie danych podczas ich przechodzenia i przechowywanie ich na brzegu sieci.

  • Zabezpieczenia w chmurze: zabezpieczanie danych w miarę ich przechodzenia i przechowywanie ich w chmurze.

Microsoft Defender dla IoT i kontenerów

Microsoft Defender for IoT to ujednolicone rozwiązanie zabezpieczeń opracowane specjalnie do identyfikowania urządzeń IoT i technologii operacyjnych (OT), luk w zabezpieczeniach i zagrożeń. Microsoft Defender for Containers to rozwiązanie natywne dla chmury, które umożliwia ulepszanie, monitorowanie i utrzymywanie zabezpieczeń konteneryzowanych zasobów (klastry Kubernetes, węzły Kubernetes, obciążenia Kubernetes, rejestry kontenerów, obrazy kontenerów i nie tylko) oraz ich aplikacje w środowiskach wielochmurowych i lokalnych.

Oba Defender dla IoT i Defender dla kontenerów mogą automatycznie monitorować niektóre zalecenia zawarte w tym artykule. Defender dla IoT i Defender dla kontenerów powinny być linią frontu obrony w celu ochrony rozwiązania połączonego z siecią brzegową. Aby dowiedzieć się więcej, zobacz:

Zabezpieczenia zasobów

Ta sekcja zawiera wskazówki dotyczące zabezpieczania zasobów, takich jak sprzęt przemysłowy, czujniki i inne urządzenia będące częścią rozwiązania IoT. Bezpieczeństwo zasobu ma kluczowe znaczenie dla zapewnienia integralności i poufności danych, które generuje i przesyła.

  • Użyj Azure Key Vault i rozszerzenia repozytorium tajemnic: Użyj Azure Key Vault do przechowywania i zarządzania poufnymi informacjami o zasobach, takimi jak klucze, hasła, certyfikaty i tajemnice. Operacje Azure IoT używa Azure Key Vault jako zarządzane rozwiązanie magazynu w chmurze i używa rozszerzenia Azure Key Vault Secret Store dla Kubernetes do synchronizowania sekretów z chmury i przechowywania ich na krawędzi jako sekretów Kubernetes. Aby dowiedzieć się więcej, zobacz Zarządzanie sekretami w wdrożeniu Operacje Azure IoT.

  • Konfigurowanie bezpiecznego zarządzania certyfikatami: zarządzanie certyfikatami ma kluczowe znaczenie dla zapewnienia bezpiecznej komunikacji między zasobami a środowiskiem środowiska uruchomieniowego brzegowego. Operacje Azure IoT udostępnia narzędzia do zarządzania certyfikatami, w tym wystawiania, odnawiania i odwoływanie certyfikatów. Aby dowiedzieć się więcej, zobacz Zarządzanie certyfikatami dla komunikacji wewnętrznej operacji Azure IoT.

  • Wybierz sprzęt zabezpieczony przed manipulacją: wybierz sprzęt wyposażony w wbudowane mechanizmy wykrywania fizycznej manipulacji, takie jak otwarcie osłony urządzenia lub usunięcie części urządzenia. Te sygnały naruszenia mogą być częścią strumienia danych przekazywanego do chmury, powiadamiając operatorów o tych zdarzeniach.

  • Włącz bezpieczne aktualizacje oprogramowania układowego zasobów: użyj usług, które umożliwiają zdalne aktualizacje dla zasobów. Dla ochrony zasobów podczas i po aktualizacjach, twórz je z bezpiecznymi ścieżkami aktualizacji i kryptograficznym potwierdzeniem wersji oprogramowania układowego.

  • Bezpieczne wdrażanie sprzętu zasobów: Upewnij się, że wdrażanie sprzętu zasobów jest tak odporne na manipulacje, jak to możliwe, szczególnie w niezabezpieczonych lokalizacjach, takich jak miejsca publiczne lub nienadzorowane miejsca. 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 w tym artykule.

Zabezpieczenia połączeń

Ta sekcja zawiera wskazówki dotyczące zabezpieczania połączeń między elementami zawartości, środowiskiem środowiska uruchomieniowego brzegowego i usługami w chmurze. Bezpieczeństwo połączeń ma kluczowe znaczenie dla zapewnienia integralności i poufności przesyłanych danych.

  • Użyj protokołu Transport Layer Security (TLS) do zabezpieczania połączeń dla zasobów: Cała komunikacja w ramach operacji Azure IoT jest szyfrowana przy użyciu protokołu TLS. Aby zapewnić domyślnie bezpieczne środowisko, które minimalizuje nieumyślne narażenie rozwiązania związanego z pracą na brzegu sieci na atakujących, Operacje Azure IoT jest wdrażany z domyślnym głównym urzędem certyfikacji i wystawcą certyfikatów dla serwera TLS. W przypadku wdrożenia produkcyjnego zalecamy korzystanie z własnego wystawcy certyfikatów i rozwiązania PKI dla przedsiębiorstwa.

  • Użyj własnego urzędu certyfikacji w środowisku produkcyjnym: w przypadku wdrożeń produkcyjnych zastąp domyślny samopodpisany urząd certyfikacji swoim własnym urzędem certyfikacji i połącz z infrastrukturą kluczy publicznych przedsiębiorstwa, aby zagwarantować zaufanie i zgodność. Aby dowiedzieć się więcej, zobacz Certificate management for Operacje Azure IoT internal communication.

  • Rozważ użycie zapór sieciowych przedsiębiorstwa lub serwerów proxy do zarządzania ruchem wychodzącym: W przypadku korzystania z zapór sieciowych przedsiębiorstwa lub serwerów proxy dodaj punkty końcowe Operacje Azure IoT na listę dozwolonych.

  • Szyfrowanie wewnętrznej komunikacji brokera wiadomości: zapewnienie bezpieczeństwa komunikacji wewnętrznej w infrastrukturze brzegowej jest istotne dla utrzymania integralności i poufności danych. Powinieneś skonfigurować brokera MQTT, aby szyfrował ruch wewnętrzny i dane przesyłane między frontendem brokera MQTT a podami zaplecza. Aby dowiedzieć się więcej, zobacz Konfigurowanie szyfrowania ruchu wewnętrznego brokera i certyfikatów wewnętrznych.

  • Konfiguruj protokół TLS z automatycznym zarządzaniem certyfikatami dla odbiorników w brokerze MQTT: Operacje Azure IoT zapewnia automatyczne zarządzanie certyfikatami dla odbiorników w brokerze MQTT. Ta funkcja zmniejsza koszty administracyjne ręcznego zarządzania 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.

  • Izolowanie i segmentowanie sieci: użyj segmentacji sieci i zapór, aby odizolować klastry operacji IoT i urządzenia brzegowe od innych zasobów sieciowych. Dodaj wymagane punkty końcowe do listy dozwolonych, jeśli używasz zapór sieciowych lub serwerów proxy. Aby dowiedzieć się więcej, zobacz Wytyczne dotyczące wdrażania w środowisku produkcyjnym — sieć.

Zabezpieczenia brzegowe

Ta sekcja zawiera wskazówki dotyczące zabezpieczania środowiska uruchomieniowego brzegowego, czyli oprogramowania działającego na platformie brzegowej. To oprogramowanie przetwarza dane zasobów i zarządza komunikacją między zasobami i usługami w chmurze. Bezpieczeństwo środowiska uruchomieniowego brzegowego ma kluczowe znaczenie dla zapewnienia integralności i poufności przetwarzanych i przesyłanych danych.

  • Utrzymuj środowisko uruchomieniowe na brzegu w aktualnym stanie: Aktualizuj klaster i wdrożenie Operacje Azure IoT do najnowszych poprawek i mniejszych wydań, aby uzyskać wszystkie dostępne poprawki zabezpieczeń i usterek. W przypadku wdrożeń produkcyjnych wyłącz automatyczne aktualizacje dla 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.

  • Weryfikuj integralność obrazów kontenera i Helm: Przed wdrożeniem dowolnego obrazu w klastrze sprawdź, czy obraz jest podpisany przez Microsoft. Aby dowiedzieć się więcej, zobacz Weryfikacja podpisu obrazu.

  • 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.

Bezpieczeństwo w chmurze

Ta sekcja zawiera wskazówki dotyczące zabezpieczania usług w chmurze, które są usługami, które przetwarzają i przechowują dane zasobów. Bezpieczeństwo usług w chmurze ma kluczowe znaczenie dla zapewnienia integralności i poufności danych.

  • Używaj tożsamości zarządzanych przypisanych użytkownikowi do połączeń w chmurze: zawsze korzystaj z uwierzytelniania za pomocą tożsamości zarządzanej. Kiedy to możliwe, używaj tożsamości zarządzanej przypisanej przez użytkownika w punktach końcowych przepływu danych dla elastyczności i możliwości audytu. Aby dowiedzieć się więcej, zobacz Włączenie bezpiecznych ustawień w Operacje Azure IoT.

  • Wdrażanie zasobów do obserwowalności i konfigurowanie dzienników: Obserwowalność daje wgląd w każdą warstwę konfiguracji Operacje Azure IoT. Zapewnia wgląd w rzeczywisty charakter problemów, co zwiększa efektywność inżynierii niezawodności systemów. Operacje Azure IoT oferuje obserwowalność za pomocą niestandardowych, dostosowanych pulpitów nawigacyjnych Grafana hostowanych w Azure. Te pulpity nawigacyjne są obsługiwane przez usługę zarządzaną Azure Monitor dla rozwiązania Prometheus i przez usługę Container Insights. Wdrażanie zasobów obserwowalności na klastrze przed wdrożeniem Operacje Azure IoT.

  • Bezpieczny dostęp do zasobów i punktów końcowych zasobów z Azure RBAC: Zasoby i punkty końcowe zasobów w operacjach Azure IoT mają swoje reprezentacje zarówno w klastrze Kubernetes, jak i w portalu Azure. Użyj Azure RBAC (kontrola dostępu oparta na rolach), aby zabezpieczyć dostęp do tych zasobów. Azure RBAC to system autoryzacji, który umożliwia zarządzanie dostępem do Azure zasobów. Użyj Azure RBAC (kontroli dostępu opartej na rolach), aby przyznać uprawnienia 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.