Włączanie dostępu just in time na maszynach wirtualnych

Dostęp just in time (JIT) Microsoft Defender dla Chmury umożliwia ochronę maszyn wirtualnych platformy Azure przed nieautoryzowanym dostępem do sieci. Wiele razy zapory zawierają reguły zezwalania, które pozostawiają maszyny wirtualne narażone na ataki. Dostęp JIT umożliwia dostęp do maszyn wirtualnych tylko wtedy, gdy jest potrzebny dostęp, na potrzebnych portach i przez okres potrzebny.

Dowiedz się więcej o sposobie działania trybu JIT i uprawnieniach wymaganych do konfigurowania i używania trybu JIT.

Z tego artykułu dowiesz się, jak uwzględnić dostęp JIT w programie zabezpieczeń, w tym instrukcje:

  • Włączanie trybu JIT na maszynach wirtualnych z poziomu witryny Azure Portal lub programowo
  • Żądanie dostępu do maszyny wirtualnej z włączonym dostępem JIT w witrynie Azure Portal lub programowo
  • Przeprowadź inspekcję działania JIT, aby upewnić się, że maszyny wirtualne są odpowiednio zabezpieczone

Dostępność

Aspekt Szczegóły
Stan wydania: Ogólna dostępność
Obsługiwane maszyny wirtualne: Maszyny wirtualne wdrożone za pośrednictwem usługi Azure Resource Manager
Maszyny wirtualne wdrożone z klasycznymi modelami wdrażania
Maszyny wirtualne chronione przez usługę Azure Firewalls w tej samej sieci wirtualnej co maszyna wirtualna
Maszyny wirtualne chronione przez usługę Azure Firewalls kontrolowane przez usługę Azure Firewall Manager
Wystąpienia usługi AWS EC2 (wersja zapoznawcza)
Wymagane role i uprawnienia: Czytelnik, SecurityReader lub rola niestandardowa może wyświetlać stan i parametry trybu JIT.
Aby utworzyć rolę o najniższych uprawnieniach dla użytkowników, którzy muszą zażądać dostępu JIT tylko do maszyny wirtualnej, użyj skryptu Set-JitLeastPrivilegedRole.
Chmury: Chmury komercyjne
National (Azure Government, Microsoft Azure obsługiwane przez firmę 21Vianet)
Połączenie konta platformy AWS (wersja zapoznawcza)

Wymagania wstępne

  • Tryb JIT wymaga włączenia planu 2 usługi Microsoft Defender dla serwerów w ramach subskrypcji.

  • Role Czytelnik i SecurityReader mogą wyświetlać stan i parametry trybu JIT.

  • Jeśli chcesz utworzyć role niestandardowe, które współpracują z funkcją JIT, potrzebne są szczegółowe informacje z poniższej tabeli:

    Aby umożliwić użytkownikowi: Uprawnienia do ustawienia
    Konfigurowanie lub edytowanie zasad JIT dla maszyny wirtualnej Przypisz te akcje do roli:
    • W zakresie subskrypcji (lub grupy zasobów tylko w przypadku korzystania z interfejsu API lub programu PowerShell) skojarzonej z maszyną wirtualną:
      Microsoft.Security/locations/jitNetworkAccessPolicies/write
    • W zakresie subskrypcji (lub grupy zasobów tylko w przypadku korzystania z interfejsu API lub programu PowerShell) maszyny wirtualnej:
      Microsoft.Compute/virtualMachines/write
    Żądanie dostępu JIT do maszyny wirtualnej Przypisz te akcje do użytkownika:
    • Microsoft.Security/locations/jitNetworkAccessPolicies/initiate/action
    • Microsoft.Security/locations/jitNetworkAccessPolicies/*/read
    • Microsoft.Compute/virtualMachines/read
    • Microsoft.Network/networkInterfaces/*/read
    • Microsoft.Network/publicIPAddresses/read
    Odczytywanie zasad trybu JIT Przypisz te akcje do użytkownika:
    • Microsoft.Security/locations/jitNetworkAccessPolicies/read
    • Microsoft.Security/locations/jitNetworkAccessPolicies/initiate/action
    • Microsoft.Security/policies/read
    • Microsoft.Security/pricings/read
    • Microsoft.Compute/virtualMachines/read
    • Microsoft.Network/*/read

    Uwaga

    Microsoft.Security Tylko uprawnienia są istotne dla platformy AWS.

  • Aby skonfigurować tryb JIT na maszynie wirtualnej usługi Amazon Web Service (AWS), musisz połączyć konto platformy AWS z Microsoft Defender dla Chmury.

    Napiwek

    Aby utworzyć rolę o najniższych uprawnieniach dla użytkowników, którzy muszą zażądać dostępu JIT do maszyny wirtualnej i wykonać żadne inne operacje JIT, użyj skryptu Set-JitLeastPrivilegedRole ze stron społeczności usługi Defender dla Chmury GitHub.

    Uwaga

    Aby pomyślnie utworzyć niestandardowe zasady JIT, nazwa zasad wraz z docelową nazwą maszyny wirtualnej nie może przekraczać łącznie 56 znaków.

Praca z dostępem do maszyny wirtualnej JIT przy użyciu Microsoft Defender dla Chmury

Możesz użyć Defender dla Chmury lub programowo włączyć dostęp do maszyn wirtualnych JIT przy użyciu własnych opcji niestandardowych lub włączyć tryb JIT z domyślnymi, zakodowanymi parametrami z maszyn wirtualnych platformy Azure.

Dostęp just in time do maszyn wirtualnych pokazuje maszyny wirtualne pogrupowane w:

  • Skonfigurowane — maszyny wirtualne skonfigurowane do obsługi dostępu just in time do maszyn wirtualnych i pokazują:
    • liczba zatwierdzonych żądań JIT w ciągu ostatnich siedmiu dni
    • data i godzina ostatniego dostępu
    • skonfigurowane szczegóły połączenia
    • ostatni użytkownik
  • Nieskonfigurowane — maszyny wirtualne bez włączonego trybu JIT, ale mogą obsługiwać tryb JIT. Zalecamy włączenie trybu JIT dla tych maszyn wirtualnych.
  • Nieobsługiwane — maszyny wirtualne, które nie obsługują trybu JIT, ponieważ:
    • Brak sieciowej grupy zabezpieczeń lub usługi Azure Firewall — JIT wymaga skonfigurowania sieciowej grupy zabezpieczeń lub konfiguracji zapory (lub obu tych grup)
    • Klasyczna maszyna wirtualna — JIT obsługuje maszyny wirtualne wdrażane za pośrednictwem usługi Azure Resource Manager. Dowiedz się więcej na temat klasycznych modeli wdrażania usługi Azure Resource Manager.
    • Inne — rozwiązanie JIT jest wyłączone w zasadach zabezpieczeń subskrypcji lub grupy zasobów.

Włączanie trybu JIT na maszynach wirtualnych z poziomu Microsoft Defender dla Chmury

Screenshot showing configuring JIT VM access in Microsoft Defender for Cloud.

W Defender dla Chmury można włączyć i skonfigurować dostęp do maszyny wirtualnej JIT.

  1. Otwórz pozycję Zabezpieczenia obciążeń, a następnie w obszarze zaawansowanej ochrony wybierz pozycję Dostęp just in time do maszyny wirtualnej.

  2. Na karcie Nieskonfigurowane maszyny wirtualne oznacz maszyny wirtualne w celu ochrony za pomocą trybu JIT i wybierz pozycję Włącz dostęp JIT na maszynach wirtualnych.

    Zostanie otwarta strona dostępu do maszyny wirtualnej JIT zawierająca listę portów, które Defender dla Chmury zaleca ochronę:

    • 22 — SSH
    • 3389 — RDP
    • 5985 — WinRM
    • 5986 — WinRM

    Aby dostosować dostęp JIT:

    1. Wybierz Dodaj.

    2. Wybierz jeden z portów na liście, aby go edytować lub wprowadzić inne porty. Dla każdego portu można ustawić następujące ustawienia:

      • Protokół — protokół dozwolony na tym porcie po zatwierdzeniu żądania
      • Dozwolone źródłowe adresy IP — zakresy adresów IP dozwolone na tym porcie po zatwierdzeniu żądania
      • Maksymalny czas żądania — maksymalny przedział czasu, w którym można otworzyć określony port
    3. Wybierz przycisk OK.

  3. Aby zapisać konfigurację portu, wybierz pozycję Zapisz.

Edytowanie konfiguracji trybu JIT na maszynie wirtualnej z obsługą trybu JIT przy użyciu Defender dla Chmury

Konfigurację just in time maszyny wirtualnej można zmodyfikować, dodając i konfigurując nowy port do ochrony dla tej maszyny wirtualnej lub zmieniając inne ustawienie związane z już chronionym portem.

Aby edytować istniejące reguły JIT dla maszyny wirtualnej:

  1. Otwórz pozycję Zabezpieczenia obciążeń, a następnie w obszarze zaawansowanej ochrony wybierz pozycję Dostęp just in time do maszyny wirtualnej.

  2. Na karcie Skonfigurowane maszyny wirtualne kliknij prawym przyciskiem myszy maszynę wirtualną i wybierz polecenie Edytuj.

  3. W konfiguracji dostępu do maszyny wirtualnej JIT można edytować listę portów lub wybrać pozycję Dodaj nowy port niestandardowy.

  4. Po zakończeniu edytowania portów wybierz pozycję Zapisz.

Żądanie dostępu do maszyny wirtualnej z obsługą trybu JIT z Microsoft Defender dla Chmury

Jeśli maszyna wirtualna ma włączony dostęp JIT, musisz zażądać dostępu, aby nawiązać z nią połączenie. Dostęp można zażądać na dowolny z obsługiwanych sposobów, niezależnie od sposobu włączania trybu JIT.

  1. Na stronie Dostęp just in time do maszyny wirtualnej wybierz kartę Skonfigurowane.

  2. Wybierz maszyny wirtualne, do których chcesz uzyskać dostęp:

    • Ikona w kolumnie szczegóły Połączenie ion wskazuje, czy tryb JIT jest włączony w sieciowej grupie zabezpieczeń lub zaporze. Jeśli jest ona włączona w obu tych przypadkach, zostanie wyświetlona tylko ikona zapory.

    • Kolumna szczegóły Połączenie ion zawiera użytkownika i porty, które mogą uzyskiwać dostęp do maszyny wirtualnej.

  3. Wybierz pozycję Zażądaj dostępu. Zostanie otwarte okno Żądanie dostępu .

  4. W obszarze Żądanie dostępu wybierz porty, które chcesz otworzyć dla każdej maszyny wirtualnej, źródłowe adresy IP, na których ma zostać otwarty port, oraz okno czasowe do otwarcia portów.

  5. Wybierz pozycję Otwórz porty.

    Uwaga

    Jeśli użytkownik, który żąda dostępu, znajduje się za serwerem proxy, możesz wprowadzić zakres adresów IP serwera proxy.

Inne sposoby pracy z dostępem do maszyny wirtualnej JIT

Maszyny wirtualne platformy Azure

Włączanie trybu JIT na maszynach wirtualnych z maszyn wirtualnych platformy Azure

Dostęp JIT można włączyć na maszynie wirtualnej na stronach maszyn wirtualnych platformy Azure w witrynie Azure Portal.

Napiwek

Jeśli maszyna wirtualna ma już włączony tryb JIT, na stronie konfiguracji maszyny wirtualnej zostanie wyświetlony komunikat o włączeniu trybu JIT. Możesz użyć linku, aby otworzyć stronę dostępu do maszyny wirtualnej JIT w Defender dla Chmury, aby wyświetlić i zmienić ustawienia.

  1. W witrynie Azure Portal wyszukaj i wybierz pozycję Maszyny wirtualne.

  2. Wybierz maszynę wirtualną, którą chcesz chronić za pomocą trybu JIT.

  3. W menu wybierz pozycję Konfiguracja.

  4. W obszarze Dostęp just in time wybierz pozycję Włącz just-in-time.

    Domyślnie dostęp just in time dla maszyny wirtualnej używa następujących ustawień:

    • Maszyny z systemem Windows
      • Port RDP: 3389
      • Maksymalny dozwolony dostęp: trzy godziny
      • Dozwolone źródłowe adresy IP: dowolne
    • Maszyny z systemem Linux
      • Port SSH: 22
      • Maksymalny dozwolony dostęp: trzy godziny
      • Dozwolone źródłowe adresy IP: dowolne
  5. Aby edytować dowolną z tych wartości lub dodać więcej portów do konfiguracji JIT, użyj strony just in time Microsoft Defender dla Chmury:

    1. Z menu Defender dla Chmury wybierz pozycję Dostęp just in time do maszyny wirtualnej.

    2. Na karcie Skonfigurowane kliknij prawym przyciskiem myszy maszynę wirtualną, do której chcesz dodać port, a następnie wybierz pozycję Edytuj.

      Editing a JIT VM access configuration in Microsoft Defender for Cloud.

    3. W obszarze Konfiguracja dostępu do maszyny wirtualnej JIT można edytować istniejące ustawienia już chronionego portu lub dodać nowy port niestandardowy.

    4. Po zakończeniu edytowania portów wybierz pozycję Zapisz.

Żądanie dostępu do maszyny wirtualnej z obsługą trybu JIT na stronie połączenia maszyny wirtualnej platformy Azure

Jeśli maszyna wirtualna ma włączony dostęp JIT, musisz zażądać dostępu, aby nawiązać z nią połączenie. Dostęp można zażądać na dowolny z obsługiwanych sposobów, niezależnie od sposobu włączania trybu JIT.

Screenshot showing jit just-in-time request.

Aby zażądać dostępu z maszyn wirtualnych platformy Azure:

  1. W witrynie Azure Portal otwórz strony maszyn wirtualnych.

  2. Wybierz maszynę wirtualną, z którą chcesz nawiązać połączenie, a następnie otwórz stronę Połączenie.

    Platforma Azure sprawdza, czy na tej maszynie wirtualnej jest włączony tryb JIT.

    • Jeśli tryb JIT nie jest włączony dla maszyny wirtualnej, zostanie wyświetlony monit o jego włączenie.

    • Jeśli tryb JIT jest włączony, wybierz pozycję Zażądaj dostępu, aby przekazać żądanie dostępu z żądanym adresem IP, zakresem czasu i portami skonfigurowanymi dla tej maszyny wirtualnej.

Uwaga

Po zatwierdzeniu żądania dla maszyny wirtualnej chronionej przez usługę Azure Firewall Defender dla Chmury udostępnia użytkownikowi odpowiednie szczegóły połączenia (mapowanie portów z tabeli DNAT) do nawiązania połączenia z maszyną wirtualną.

PowerShell

Włączanie funkcji JIT na maszynach wirtualnych za pomocą programu PowerShell

Aby włączyć dostęp just in time do maszyny wirtualnej z poziomu programu PowerShell, użyj oficjalnego polecenia cmdlet Set-AzJitNetworkAccessPolicyprogramu PowerShell Microsoft Defender dla Chmury .

Przykład — włączanie dostępu just in time do maszyny wirtualnej przy użyciu następujących reguł:

  • Zamknij porty 22 i 3389
  • Ustaw maksymalny przedział czasu wynoszący 3 godziny dla każdego z nich, aby można było je otworzyć dla zatwierdzonego żądania
  • Zezwalaj użytkownikowi, który żąda dostępu do kontrolowania źródłowych adresów IP
  • Zezwalaj użytkownikowi, który żąda dostępu, aby ustanowić pomyślną sesję po zatwierdzonym żądaniu dostępu just in time

Następujące polecenia programu PowerShell tworzą tę konfigurację trybu JIT:

  1. Przypisz zmienną, która zawiera reguły dostępu just in time dla maszyny wirtualnej:

    $JitPolicy = (@{
        id="/subscriptions/SUBSCRIPTIONID/resourceGroups/RESOURCEGROUP/providers/Microsoft.Compute/virtualMachines/VMNAME";
        ports=(@{
             number=22;
             protocol="*";
             allowedSourceAddressPrefix=@("*");
             maxRequestAccessDuration="PT3H"},
             @{
             number=3389;
             protocol="*";
             allowedSourceAddressPrefix=@("*");
             maxRequestAccessDuration="PT3H"})})
    
  2. Wstaw reguły dostępu just in time maszyny wirtualnej do tablicy:

    $JitPolicyArr=@($JitPolicy)
    
  3. Skonfiguruj reguły dostępu just in time do maszyny wirtualnej na wybranej maszynie wirtualnej:

    Set-AzJitNetworkAccessPolicy -Kind "Basic" -Location "LOCATION" -Name "default" -ResourceGroupName "RESOURCEGROUP" -VirtualMachine $JitPolicyArr
    

    Użyj parametru -Name, aby określić maszynę wirtualną. Aby na przykład ustanowić konfigurację trybu JIT dla dwóch różnych maszyn wirtualnych, maszyn wirtualnych VM1 i VM2, użyj następujących poleceń: Set-AzJitNetworkAccessPolicy -Name VM1 i Set-AzJitNetworkAccessPolicy -Name VM2.

Żądanie dostępu do maszyny wirtualnej z obsługą JIT za pomocą programu PowerShell

W poniższym przykładzie można zobaczyć żądanie dostępu just in time do określonej maszyny wirtualnej dla portu 22, dla określonego adresu IP i przez określony czas:

Uruchom następujące polecenia w programie PowerShell:

  1. Skonfiguruj właściwości dostępu żądania maszyny wirtualnej:

    $JitPolicyVm1 = (@{
        id="/subscriptions/SUBSCRIPTIONID/resourceGroups/RESOURCEGROUP/providers/Microsoft.Compute/virtualMachines/VMNAME";
        ports=(@{
           number=22;
           endTimeUtc="2020-07-15T17:00:00.3658798Z";
           allowedSourceAddressPrefix=@("IPV4ADDRESS")})})
    
  2. Wstaw parametry żądania dostępu do maszyny wirtualnej w tablicy:

    $JitPolicyArr=@($JitPolicyVm1)
    
  3. Wyślij dostęp do żądania (użyj identyfikatora zasobu z kroku 1)

    Start-AzJitNetworkAccessPolicy -ResourceId "/subscriptions/SUBSCRIPTIONID/resourceGroups/RESOURCEGROUP/providers/Microsoft.Security/locations/LOCATION/jitNetworkAccessPolicies/default" -VirtualMachine $JitPolicyArr
    

Dowiedz się więcej w dokumentacji poleceń cmdlet programu PowerShell.

Interfejs API REST

Włączanie trybu JIT na maszynach wirtualnych przy użyciu interfejsu API REST

Funkcja dostępu just in time do maszyny wirtualnej może być używana za pośrednictwem interfejsu API Microsoft Defender dla Chmury. Użyj tego interfejsu API, aby uzyskać informacje o skonfigurowanych maszynach wirtualnych, dodawać nowe, żądać dostępu do maszyny wirtualnej i nie tylko.

Dowiedz się więcej na temat zasad dostępu do sieci JIT.

Żądanie dostępu do maszyny wirtualnej z obsługą trybu JIT przy użyciu interfejsu API REST

Funkcja dostępu just in time do maszyny wirtualnej może być używana za pośrednictwem interfejsu API Microsoft Defender dla Chmury. Użyj tego interfejsu API, aby uzyskać informacje o skonfigurowanych maszynach wirtualnych, dodawać nowe, żądać dostępu do maszyny wirtualnej i nie tylko.

Dowiedz się więcej na temat zasad dostępu do sieci JIT.

Inspekcja aktywności dostępu JIT w Defender dla Chmury

Możesz uzyskać wgląd w działania maszyn wirtualnych przy użyciu wyszukiwania w dziennikach. Aby wyświetlić dzienniki:

  1. Z poziomu dostępu just in time do maszyny wirtualnej wybierz kartę Skonfigurowane .

  2. W przypadku maszyny wirtualnej, którą chcesz przeprowadzić inspekcję, otwórz menu wielokropka na końcu wiersza.

  3. Wybierz pozycję Dziennik aktywności z menu.

    Select just-in-time JIT activity log.

    Dziennik aktywności zawiera filtrowany widok poprzednich operacji dla tej maszyny wirtualnej wraz z godziną, datą i subskrypcją.

  4. Aby pobrać informacje dziennika, wybierz pozycję Pobierz jako plik CSV.

Następne kroki

W tym artykule przedstawiono sposób konfigurowania i używania dostępu just in time do maszyny wirtualnej. Aby dowiedzieć się, dlaczego należy używać trybu JIT, przeczytaj artykuł wyjaśniający zagrożenia JIT broni przed: