Zabezpieczenia, magazyn i sieć za pomocą kontenerów systemu Windows
Firma Contoso poprosiła Cię jako administratora systemu Windows Server o ocenę potrzeb związanych z zabezpieczeniami, magazynem i siecią kontenerów systemu Windows. Szczególnie interesuje Cię zrozumienie różnic między kontenerami i maszynami wirtualnymi w systemie Windows Server.
Zabezpieczenia kontenerów systemu Windows
Kontenery systemu Windows są oparte na tej samej bazie co wystąpienia systemu Windows uruchomione na maszynach fizycznych lub wirtualnych. Jednak niektóre aspekty zabezpieczeń są obsługiwane inaczej lub są specyficzne dla kontenerów systemu Windows:
Składniki udostępnione. Kontenery systemu Windows udostępniają niektóre składniki hosta na potrzeby zabezpieczeń. Obejmuje to zaporę systemu Windows, usługę Windows Defender (program antywirusowy) i inne ograniczenia dostępu do zasobów. Nie musisz konfigurować tych składników bezpośrednio w kontenerze, ponieważ host kontenera wprowadza niezbędne korekty na podstawie obciążenia kontenera. Jeśli na przykład kontener wysyła żądanie internetowe, host kontenera przekaże niezbędny ruch przez zaporę, aby kontener mógł uzyskać dostęp do internetu.
Tryb izolacji. Kontenery systemu Windows można wdrażać w trybie przetwarzania lub izolacji funkcji Hyper-V z funkcją Hyper-V zapewniającą najbezpieczniejszą izolację. W izolacji procesów kontener współudzieli jądro, system plików i rejestr z hostem, co umożliwia procesowi z podwyższonym poziomem uprawnień (administrator) interakcję z procesami i usługami kontenera. Wybranie prawidłowego trybu izolacji dla aplikacji jest ważne, aby zapewnić odpowiedni tryb zabezpieczeń.
Aktualizacje systemu Windows. Ponieważ stos obsługi nie jest obecny w kontenerach systemu Windows, kontenery systemu Windows nie otrzymują aktualizacji, takich jak ogólne wystąpienia systemu Windows. Zamiast tego należy ponownie skompilować kontenery systemu Windows przy użyciu najnowszego dostępnego podstawowego obrazu kontenera. Klienci mogą korzystać z potoków platformy Azure w tym celu. Firma Microsoft aktualizuje podstawowe obrazy kontenerów dla wszystkich swoich oficjalnych obrazów każdego miesiąca po cyklu Patch Tuesday.
Konto użytkownika kontenera. Domyślnie aplikacje wewnątrz kontenerów systemu Windows są uruchamiane z podwyższonym poziomem uprawnień w ramach konta użytkownika ContainerAdmin. Jest to przydatne w przypadku instalowania i konfigurowania niezbędnych składników wewnątrz obrazu kontenera. Należy jednak rozważyć zmianę konta użytkownika na ContainerUser podczas uruchamiania aplikacji, która nie wymaga podniesionych uprawnień. W przypadku określonych scenariuszy można również utworzyć nowe konto z odpowiednimi uprawnieniami.
Skanowanie obrazów i środowiska uruchomieniowego. Kontenery wymagają, aby obrazy w repozytoriach i wystąpieniach kontenerów było bezpieczne. Firma Microsoft zaleca używanie usługi Microsoft Defender for Containers do skanowania obrazów i skanowania w czasie wykonywania. Usługa Defender for Containers obsługuje kontenery systemu Windows do oceny luk w zabezpieczeniach z funkcją skanowania rejestru i ochrony środowiska uruchomieniowego z wykrywaniem zagrożeń.
Aby uzyskać więcej informacji na temat zabezpieczeń kontenerów systemu Windows, zobacz Zabezpieczanie kontenerów systemu Windows.
Trwały magazyn dla kontenerów systemu Windows
Kontenery systemu Windows domyślnie używają magazynu efemerycznego. Wszystkie we/wy kontenera są wykonywane w "miejscu tymczasowym". Miejsce tymczasowe jest magazynem tymczasowym udostępnianym kontenerowi pod kątem zmian w systemie plików. Każdy kontener pobiera własne podstawy. Tworzenie plików i zapisy plików są przechwytywane w przestrzeni tymczasowej i nie są ucieczki do hosta. Po usunięciu wystąpienia kontenera wszystkie zmiany, które wystąpiły w miejscu tymczasowym, są odrzucane. Po uruchomieniu nowego wystąpienia kontenera dla wystąpienia zostanie udostępnione nowe miejsce na pliki tymczasowe.
Mogą istnieć przypadki, w których ważne jest, aby aplikacja mogła utrwalać dane w kontenerze lub wyświetlać pliki w kontenerze, który nie został uwzględniony w czasie kompilacji kontenera. W tym celu można udostępnić magazyn trwały kontenerom systemu Windows.
Magazyn trwały można udostępnić kontenerom systemu Windows za pośrednictwem aparatu platformy Docker lub koordynatora kontenerów. W środowiskach programistycznych/testowych aparat platformy Docker zapewnia szybki i łatwy sposób przypisywania magazynu lokalnego do kontenerów systemu Windows z instalacjami powiązanymi lub nazwanymi woluminami. Instalacje wiązania umożliwiają kontenerowi udostępnianie katalogu hostowi. Jest to przydatne, jeśli chcesz umieścić pliki na komputerze lokalnym, które są dostępne, jeśli uruchomisz ponownie kontener lub chcesz udostępnić go wielu kontenerom. Jeśli chcesz, aby kontener działał na wielu maszynach z dostępem do tych samych plików, należy zamiast tego użyć nazwanego woluminu lub instalacji SMB.
W przypadku środowisk produkcyjnych orkiestrator kontenerów może zapewnić trwałe opcje magazynu klasy korporacyjnej. Na przykład platforma Kubernetes natywnie udostępnia trwałe woluminy, których można użyć do zapewnienia trwałego magazynu dla wielu kontenerów działających na wielu hostach. Ponadto platforma Kubernetes udostępnia również wtyczki innych firm do mapowania woluminów w magazynie w chmurze, takich jak Usługa Azure Storage.
Aby uzyskać więcej informacji na temat magazynu trwałego dla kontenerów systemu Windows, zobacz Omówienie usługi Container Storage.
Sieć kontenerów systemu Windows
Kontenery systemu Windows działają podobnie do maszyn wirtualnych dotyczących sieci. Każdy kontener ma wirtualną kartę sieciową (vNIC), która jest połączona z przełącznikiem wirtualnym funkcji Hyper-V (vSwitch). System Windows obsługuje pięć różnych sterowników sieciowych lub trybów, które można utworzyć za pomocą platformy Docker: nat, nakładki, przezroczystego, l2bridge i l2tunnel. W zależności od infrastruktury sieci fizycznej i wymagań sieciowych z jedną i wieloma hostami należy wybrać sterownik sieciowy, który najlepiej odpowiada Twoim potrzebom.
Sterownik sieciowy systemu Windows platformy Docker | Typowe zastosowania | Kontener-kontener (pojedynczy węzeł) | Kontener-zewnętrzny (pojedynczy węzeł + wiele węzłów) | Kontener-kontener (wiele węzłów) |
---|---|---|---|---|
Translator adresów sieciowych (ustawienie domyślne) | Dobre dla deweloperów | Ta sama podsieć: połączenie mostkowane za pośrednictwem przełącznika wirtualnego funkcji Hyper-V Podsieć krzyżowa: nieobsługiwane (tylko jeden wewnętrzny prefiks translatora adresów sieciowych) |
Kierowanie za pośrednictwem wirtualnej karty sieciowej zarządzania (powiązanej z winNAT) | Nieobsługiwane bezpośrednio: wymaga ujawnienia portów za pośrednictwem hosta |
Transparent | Dobre dla deweloperów lub małych wdrożeń | Ta sama podsieć: połączenie mostkowane za pośrednictwem przełącznika wirtualnego funkcji Hyper-V Między podsieciami: kierowany za pośrednictwem hosta kontenera |
Kierowany przez hosta kontenera z bezpośrednim dostępem do karty sieciowej (fizycznej) | Kierowany przez hosta kontenera z bezpośrednim dostępem do karty sieciowej (fizycznej) |
Nakładka | Dobre dla wielu węzłów; wymagane dla platformy Docker Swarm dostępnej w rozwiązaniu Kubernetes | Ta sama podsieć: połączenie mostkowane za pośrednictwem przełącznika wirtualnego funkcji Hyper-V Podsieć krzyżowa: ruch sieciowy jest hermetyzowany i kierowany za pośrednictwem wirtualnej karty sieciowej mgmt |
Nieobsługiwane bezpośrednio — wymaga drugiego punktu końcowego kontenera dołączonego do sieci translatora adresów sieciowych w systemie Windows Server 2016 lub reguły NAT programu VFP w systemie Windows Server 2019. | Ta sama/krzyżowa podsieć: Ruch sieciowy jest hermetyzowany przy użyciu sieci VXLAN i kierowany za pośrednictwem wirtualnej karty sieciowej Mgmt |
L2Bridge | Używane na potrzeby platformy Kubernetes i sieci SDN firmy Microsoft | Ta sama podsieć: połączenie mostkowane za pośrednictwem przełącznika wirtualnego funkcji Hyper-V Między podsieciami: adres MAC kontenera jest zapisywany ponownie na ruchu przychodzącym i wychodzącym oraz kierowanym |
Adres MAC kontenera jest zapisywany ponownie na ruchu przychodzącym i wychodzącym | Ta sama podsieć: połączenie mostkowane Między podsieciami: kierowane za pośrednictwem wirtualnej karty sieciowej mgmt w programie WSv1809 lub nowszym |
L2Tunnel | Tylko platforma Azure | Ta sama/krzyżowa podsieć: przypięta do przełącznika wirtualnego funkcji Hyper-V hosta fizycznego do miejsca zastosowania zasad | Ruch musi przechodzić przez bramę sieci wirtualnej platformy Azure | Ta sama/krzyżowa podsieć: przypięta do przełącznika wirtualnego funkcji Hyper-V hosta fizycznego do miejsca zastosowania zasad |
Oprócz powyższych opcji platformy Docker platforma Kubernetes udostępnia różne wtyczki interfejsu sieciowego kontenera (CNI). Te sieci CNI implementują różne tryby konfiguracji sieci, zasad sieci itp.
Aby uzyskać więcej informacji na temat sieci dla kontenerów systemu Windows, zobacz Sieci kontenerów systemu Windows.