Usługa IoT Edge dla systemu Linux w zabezpieczeniach systemu Windows

Dotyczy:Znacznik wyboru usługi IoT Edge 1.4 IoT Edge 1.4

Ważne

Obsługiwane są wersje usługi IoT Edge 1.5 LTS i IoT Edge 1.4. Usługa IoT Edge 1.4 LTS kończy się 12 listopada 2024 r. Jeśli korzystasz z wcześniejszej wersji, zobacz aktualizację Azure IoT Edge.

Usługa Azure IoT Edge dla systemu Linux w systemie Windows korzysta ze wszystkich ofert zabezpieczeń działających na hoście klienta/serwera z systemem Windows i zapewnia, że wszystkie dodatkowe składniki zachowują te same zabezpieczenia w środowisku lokalnym. Ten artykuł zawiera informacje o różnych środowiskach zabezpieczeń, które są domyślnie włączone, a niektóre z opcjonalnych lokalizacji, które użytkownik może włączyć.

Zabezpieczenia maszyn wirtualnych

Wyselekcjonowane maszyny wirtualnej usługi IoT Edge dla systemu Linux (EFLOW) jest oparte na rozwiązaniu Microsoft CBL-Mariner. CBL-Mariner to wewnętrzna dystrybucja systemu Linux dla infrastruktury chmury firmy Microsoft oraz produktów i usług brzegowych. Firma CBL-Mariner została zaprojektowana w celu zapewnienia spójnej platformy dla tych urządzeń i usług oraz zwiększa zdolność firmy Microsoft do aktualizowania aktualizacji systemu Linux. Aby uzyskać więcej informacji, zobacz Zabezpieczenia CBL-Mariner.

Maszyna wirtualna EFLOW jest oparta na czteropunktowej kompleksowej platformie zabezpieczeń:

  1. Aktualizacje obsługi
  2. Główny system plików tylko do odczytu
  3. Blokada zapory
  4. Dm-Verity

Aktualizacje obsługi

W przypadku wystąpienia luk w zabezpieczeniach CBL-Mariner udostępnia najnowsze poprawki zabezpieczeń i poprawki do obsługi za pośrednictwem comiesięcznych aktualizacji ELOW. Maszyna wirtualna nie ma menedżera pakietów, więc nie można ręcznie pobrać i zainstalować pakietów RPM. Wszystkie aktualizacje maszyny wirtualnej są instalowane przy użyciu mechanizmu aktualizacji EFLOW A/B. Aby uzyskać więcej informacji na temat aktualizacji EFLOW, zobacz Aktualizowanie usługi IoT Edge dla systemu Linux w systemie Windows

Główny system plików tylko do odczytu

Maszyna wirtualna EFLOW składa się z dwóch głównych partycji rootfs i danych. Partycje rootFS-A lub rootFS-B są zamienne, a jedna z nich jest instalowana jako system plików tylko do odczytu w /lokalizacji , co oznacza, że żadne zmiany nie są dozwolone w plikach przechowywanych w tej partycji. Z drugiej strony partycja danych instalowana w obszarze /var jest czytelna i zapisywalna, umożliwiając użytkownikowi modyfikowanie zawartości wewnątrz partycji. Dane przechowywane na tej partycji nie są manipulowane przez proces aktualizacji i dlatego nie zostaną zmodyfikowane w ramach aktualizacji.

Ponieważ może być potrzebny dostęp do zapisu w /etcsystemach , , /var/home/rootw określonych przypadkach użycia, dostęp do zapisu dla tych katalogów jest wykonywany przez zastąpienie ich na partycji danych w szczególności w katalogu ./var/.eflow/overlays Wynikiem końcowym jest to, że użytkownicy mogą zapisywać dowolne dane w poprzednich katalogach. Aby uzyskać więcej informacji na temat nakładek, zobacz nakładki.

Układ partycji EFLOW CR

Partycja Rozmiar opis
BootEFIA 8 MB Partycja oprogramowania układowego A dla przyszłego rozruchu bezbłędnego
BootA 192 MB Zawiera moduł ładujący dla partycji A
RootFS A 4 GB Jedna z dwóch aktywnych/pasywnych partycji z głównym systemem plików
BootEFIB 8 MB Partycja oprogramowania układowego B dla przyszłego rozruchu bezbłędowego
BootB 192 MB Zawiera moduł ładujący dla partycji B
RootFS B 4 GB Jedna z dwóch aktywnych/pasywnych partycji z głównym systemem plików
Dziennik 1 GB lub 6 GB Rejestruje określoną partycję instalowaną w obszarze /logs
Data Od 2 GB do 2 TB Partycja stanowa do przechowywania trwałych danych między aktualizacjami. Możliwość rozszerzania zgodnie z konfiguracją wdrożenia

Uwaga

Układ partycji reprezentuje rozmiar dysku logicznego i nie wskazuje miejsca fizycznego zajmowane przez maszynę wirtualną na dysku systemu operacyjnego hosta.

Firewall

Domyślnie maszyna wirtualna EFLOW używa narzędzia iptables do konfiguracji zapory. Tabele Iptables służą do konfigurowania, konserwacji i inspekcji tabel reguł filtrowania pakietów IP w jądrze systemu Linux. Domyślna implementacja zezwala tylko na ruch przychodzący na porcie 22 (usługa SSH) i blokuje ruch w inny sposób. Konfigurację iptables można sprawdzić, wykonując następujące kroki:

  1. Otwieranie sesji programu PowerShell z podwyższonym poziomem uprawnień

  2. Połączenie do maszyny wirtualnej EFLOW

    Connect-EflowVm
    
  3. Wyświetlanie listy wszystkich reguł iptables

    sudo iptables -L
    

    Domyślne tabele iptable protokołu EFLOW

Zweryfikowany rozruch

Maszyna wirtualna EFLOW obsługuje zweryfikowany rozruch za pośrednictwem dołączonej funkcji jądra device-mapper-verity (dm-verity), która zapewnia przezroczyste sprawdzanie integralności urządzeń blokowych. Dm-verity pomaga zapobiegać trwałym zestawom rootkit, które mogą trzymać się uprawnień głównych i naruszyć bezpieczeństwo urządzeń. Ta funkcja zapewnia podstawowy obraz oprogramowania maszyny wirtualnej, który jest taki sam i nie został zmieniony. Maszyna wirtualna używa funkcji dm-verity , aby sprawdzić określone urządzenie blokowe, podstawową warstwę magazynowania systemu plików i określić, czy jest zgodna z oczekiwaną konfiguracją.

Domyślnie ta funkcja jest wyłączona na maszynie wirtualnej i może być włączona lub wyłączona. Aby uzyskać więcej informacji, zobacz dm-verity.

Moduł TPM (Trusted Platform Module)

Technologia modułu TPM (Trusted Platform Module) została zaprojektowana w celu zapewnienia funkcji związanych ze sprzętem i zabezpieczeniami. Układ TPM jest bezpieczne kryptograficznego tekstów, przeznaczony do wykonywania operacji kryptograficznych. Polega na układzie wiele mechanizmów zabezpieczeń fizycznych dokonanie odpornych na manipulacje i złośliwego oprogramowania nie może modyfikować funkcji zabezpieczeń modułu TPM.

Maszyna wirtualna EFLOW nie obsługuje maszyny wirtualnej vTPM. Użytkownik może jednak włączyć/wyłączyć funkcję przekazywania modułu TPM, która umożliwia maszynie wirtualnej EFLOW korzystanie z modułu TPM systemu operacyjnego hosta systemu Windows. Umożliwia to dwa główne scenariusze:

Bezpieczna komunikacja hosta i maszyny wirtualnej

Platforma EFLOW udostępnia wiele sposobów interakcji z maszyną wirtualną przez uwidacznianie rozbudowanej implementacji modułu programu PowerShell. Aby uzyskać więcej informacji, zobacz Funkcje programu PowerShell dla usługi IoT Edge dla systemu Linux w systemie Windows. Ten moduł wymaga uruchomienia sesji z podwyższonym poziomem uprawnień i jest podpisany przy użyciu certyfikatu firmy Microsoft Corporation.

Cała komunikacja między systemem operacyjnym Hosta systemu Windows a maszyną wirtualną EFLOW wymaganą przez polecenia cmdlet programu PowerShell odbywa się przy użyciu kanału SSH. Domyślnie usługa SSH maszyny wirtualnej nie zezwala na uwierzytelnianie za pośrednictwem nazwy użytkownika i hasła i jest ograniczona do uwierzytelniania certyfikatu. Certyfikat jest tworzony podczas procesu wdrażania EFLOW i jest unikatowy dla każdej instalacji EFLOW. Ponadto, aby zapobiec atakom siłowym SSH, maszyna wirtualna zablokuje adres IP, jeśli spróbuje więcej niż trzy połączenia na minutę z usługą SSH.

W wersji EFLOW Continuous Release (CR) wprowadziliśmy zmianę kanału transportu użytego do nawiązania połączenia SSH. Pierwotnie usługa SSH działa na porcie TCP 22, do którego można uzyskać dostęp przez wszystkie urządzenia zewnętrzne w tej samej sieci przy użyciu gniazda TCP do tego konkretnego portu. Ze względów bezpieczeństwa protokół EFLOW CR uruchamia usługę SSH za pośrednictwem gniazd funkcji Hyper-V zamiast normalnych gniazd TCP. Cała komunikacja za pośrednictwem gniazd funkcji Hyper-V odbywa się między systemem operacyjnym hosta systemu Windows i maszyną wirtualną EFLOW bez korzystania z sieci. Ogranicza to dostęp do usługi SSH, ograniczając połączenia tylko z systemem operacyjnym hosta systemu Windows. Aby uzyskać więcej informacji, zobacz Gniazda funkcji Hyper-V.

Następne kroki

Dowiedz się więcej o środowisku zabezpieczeń IoT systemu Windows

Bądź na bieżąco z najnowszymi aktualizacjami usługi IoT Edge dla systemu Linux.