Usługa IoT Edge dla systemu Linux w zabezpieczeniach systemu Windows
Dotyczy: IoT Edge 1.5 IoT Edge 1.4
Ważne
Obsługiwana wersja usługi IoT Edge 1.5 LTS. Usługa IoT Edge 1.4 LTS kończy się od 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ń:
- Aktualizacje obsługi
- Główny system plików tylko do odczytu
- Blokada zapory
- 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 /etc
systemach , , /var
/home
/root
w 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.
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:
Otwieranie sesji programu PowerShell z podwyższonym poziomem uprawnień
Nawiązywanie połączenia z maszyną wirtualną EFLOW
Connect-EflowVm
Wyświetlanie listy wszystkich reguł iptables
sudo iptables -L
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:
- Użyj technologii TPM na potrzeby aprowizacji urządzeń usługi IoT Edge przy użyciu usługi Device Provision Service (DPS). Aby uzyskać więcej informacji, zobacz Tworzenie i aprowizowanie usługi IoT Edge dla systemu Linux na urządzeniu z systemem Windows na dużą skalę przy użyciu modułu TPM.
- Dostęp tylko do odczytu do kluczy kryptograficznych przechowywanych wewnątrz modułu TPM. Aby uzyskać więcej informacji, zobacz Set-EflowVmFeature, aby włączyć przekazywanie modułu TPM.
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 blokuje adres IP, jeśli próbuje więcej niż trzy połączenia na minutę do usługi 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.