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 opartym na chmurze urządzenia i zasoby łączą się bezpośrednio z chmurą. W rozwiązaniu opartym na krawędzi urządzenia i zasoby łączą się z brzegowym środowiskiem uruchomieniowym. 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 przegląd komponentów w typowym rozwiązaniu IoT na brzegu sieci. Ten artykuł koncentruje się na zabezpieczeniach rozwiązania IoT opartego na brzegu sieci:

Diagram przedstawiający architekturę rozwiązania opartego na krawędzi IoT na wysokim poziomie, z wyróżnionymi zabezpieczeniami.

W rozwiązaniu IoT opartym na urządzeniach brzegowych można podzielić zabezpieczenia 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.

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. Defender dla IoT i Defender for Containers powinny być linią frontu obrony w celu ochrony rozwiązania brzegowego. 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 usługi Azure Key Vault i rozszerzenia magazynu wpisów tajnych: użyjusługi Azure Key Vault do przechowywania poufnych informacji o zasobach, takich jak klucze, hasła, certyfikaty i wpisy tajne. Azure IoT Operations używa Azure Key Vault jako rozwiązania zarządzanego magazynu w chmurze i używa rozszerzenia Azure Key Vault Secret Store dla Kubernetes do synchronizowania tajemnic z chmury i przechowywania ich w środowisku brzegowym jako tajemnice Kubernetes. Aby dowiedzieć się więcej, zobacz Zarządzanie tajnymi dla wdrażania operacji 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 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 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), 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ć domyślnie bezpieczne środowisko, które minimalizuje nieumyślne narażenie rozwiązania brzegowego na atakujących, operacje Azure IoT są wdrażane z domyślnym głównym urzędem certyfikacji oraz wystawcą certyfikatów 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 Zarządzanie certyfikatami na potrzeby wewnętrznej komunikacji operacji usługi Azure IoT.

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

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

  • Zachowaj aktualność środowiska uruchomieniowego brzegowego: zadbaj o aktualność wdrożenia klastra i operacji usługi Azure IoT, korzystając z najnowszych poprawek i wydań pośrednich, aby uzyskać wszystkie dostępne poprawki zabezpieczeń i błędów. W przypadku wdrożeń produkcyjnych wyłącz automatyczne aktualizacje dla 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ść kontenerów i obrazów Helm: Przed wdrożeniem dowolnego obrazu w klastrze sprawdź, czy obraz jest podpisany przez firmę 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łączanie bezpiecznych ustawień w operacjach usługi Azure IoT.

  • 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 rzeczywisty charakter problemów, co zwiększa efektywność inżynierii niezawodności systemów. Operacje usługi Azure IoT oferują możliwość obserwowania za pośrednictwem niestandardowych wyselekcjonowanych pulpitów nawigacyjnych Grafana hostowanych na platformie Azure. Te panele kontrolne są obsługiwane przez zarządzaną usługę Azure Monitor dla Prometheus i Container Insights. Przed wdrożeniem operacji usługi Azure IoT, wdroż zasoby obserwowalności w klastrze.

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