Включение JIT-доступа на виртуальных машинах

Вы можете использовать JIT-доступ Microsoft Defender для облака для защиты виртуальных машин Azure от несанкционированного доступа к сети. Много раз брандмауэры содержат правила, которые оставляют виртуальные машины уязвимыми для атак. JIT позволяет разрешить доступ к виртуальным машинам только в том случае, если требуется доступ, на портах и в течение определенного периода времени.

Узнайте больше о том, как работает JIT и разрешения, необходимые для настройки и использования JIT.

В этой статье вы узнаете, как включить JIT в программу безопасности, в том числе как:

  • Включение JIT на виртуальных машинах из портал Azure или программно
  • Запрос доступа к виртуальной машине с поддержкой JIT из портал Azure или программно
  • Проверьте действие JIT, чтобы убедиться, что виртуальные машины защищены соответствующим образом.

Availability

Аспект Сведения
Состояние выпуска: Общедоступная версия
Поддерживаемые виртуальные машины: Виртуальные машины, развернутые с помощью Azure Resource Manager
Виртуальные машины, развернутые с помощью классических моделей развертывания
Виртуальные машины, защищенные Брандмауэр Azure на той же виртуальной сети, что и виртуальная машина
Виртуальные машины, защищенные Брандмауэрами Azure, которыми управляет Диспетчер брандмауэра Azure
Экземпляры AWS EC2 (предварительная версия)
Требуемые роли и разрешения Читатель, SecurityReader или пользовательская роль могут просматривать состояние и параметры JIT.
Чтобы создать наименее привилегированную роль для пользователей, которым требуется только запрашивать доступ JIT к виртуальной машине, используйте скрипт Set-JitLeastPrivilegedRole.
Облако. Коммерческие облака
National (Azure для государственных организаций, Microsoft Azure, управляемый 21Vianet)
Подключенные учетные записи AWS (предварительная версия)

Необходимые компоненты

  • JIT требует , чтобы Microsoft Defender для серверов план 2 был включен в подписке.

  • Роли Reader (Читатель) и SecurityReader (Читатель безопасности) могут просматривать состояние и параметры JIT-доступа.

  • Если вы хотите создать пользовательские роли, которые работают с JIT, вам потребуется сведения из следующей таблицы:

    Возможности, предоставляемые пользователю: Требуемые разрешения
    Настройка или изменение политики JIT-доступа для виртуальной машины Назначьте следующие действия роли:
    • В области подписки (или группы ресурсов только при использовании API или PowerShell), связанной с виртуальной машиной:
      Microsoft.Security/locations/jitNetworkAccessPolicies/write
    • В области подписки (или группы ресурсов только при использовании API или PowerShell) виртуальной машины:
      Microsoft.Compute/virtualMachines/write
    Запрос JIT-доступа к виртуальной машине Назначьте пользователю следующие действия:
    • Microsoft.Security/locations/jitNetworkAccessPolicies/initiate/action
    • Microsoft.Security/locations/jitNetworkAccessPolicies/*/read
    • Microsoft.Compute/virtualMachines/read
    • Microsoft.Network/networkInterfaces/*/read
    • Microsoft.Network/publicIPAddresses/read
    Чтение политик JIT-доступа Назначьте пользователю следующие действия:
    • 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

    Примечание.

    К AWS относятся только разрешения Microsoft.Security.

  • Чтобы настроить JIT на виртуальной машине Amazon Web Service (AWS), необходимо подключить учетную запись AWS к Microsoft Defender для облака.

    Совет

    Чтобы создать роль с минимальными привилегиями для пользователей, которым необходимо запрашивать JIT-доступ к виртуальной машине, но не выполнять никакие другие операции JIT, используйте скрипт Set-JitLeastPrivilegedRole, доступный на страницах сообщества Defender для облака в GitHub.

    Примечание.

    Чтобы успешно создать пользовательскую политику JIT, имя политики вместе с именем целевой виртуальной машины не должно превышать 56 символов.

Работа с доступом к виртуальной машине JIT с помощью Microsoft Defender для облака

Вы можете использовать Defender для облака или программно включить доступ к виртуальной машине JIT с помощью собственных настраиваемых параметров или включить JIT с параметрами по умолчанию, жестко закодированных из виртуальных машин Azure.

JIT-доступ к виртуальной машине показывает виртуальные машины, сгруппированные в:

  • Настроено — виртуальные машины, настроенные для поддержки доступа к виртуальной машине jit и показаны:
    • количество утвержденных запросов JIT-доступа за последние 7 дней;
    • дата и время последнего доступа;
    • настроенные параметры подключения;
    • последний пользователь.
  • Не настроенные — виртуальные машины без включенного JIT, которые могут поддерживать JIT-доступ. Рекомендуется включить для этих машин JIT-доступ.
  • Неподдерживаемые виртуальные машины, которые не поддерживают JIT, так как:

Включение JIT на виртуальных машинах из Microsoft Defender для облака

Снимок экрана: настройка доступа к виртуальной машине JIT в Microsoft Defender для облака.

В Defender для облака можно включать и настраивать JIT-доступ к виртуальным машинам.

  1. Откройте защиту рабочей нагрузки и в расширенных защитах выберите "JIT-доступ к виртуальной машине".

  2. На вкладке "Не настроены виртуальные машины" пометьте виртуальные машины для защиты с помощью JIT и выберите "Включить JIT" на виртуальных машинах.

    Откроется страница JIT-доступа к виртуальным машинам со списком портов, которые Defender для облака рекомендует защитить:

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

    Чтобы настроить доступ JIT, выполните следующие действия.

    1. Выберите Добавить.

    2. Выберите один из портов в списке, чтобы изменить его или ввести другие порты. Для каждого порта можно задать следующее:

      • Протокол — протокол, разрешенный на этом порту при утверждении запроса
      • Разрешенные IP-адреса источника — диапазоны IP-адресов, разрешенные на этом порту при утверждении запроса.
      • Максимальное время запроса — максимальное время, в течение которого можно открыть определенный порт.
    3. Нажмите ОК.

  3. Чтобы сохранить конфигурацию порта, нажмите кнопку "Сохранить".

Изменение конфигурации JIT на виртуальной машине с поддержкой JIT с помощью Defender для облака

Существующую конфигурацию JIT-доступа для виртуальной машины можно изменить, добавив и настроив новый защищаемый порт для этой виртуальной машины или изменив любой другой параметр уже настроенного защищаемого порта.

Чтобы изменить существующие правила JIT-доступа для виртуальной машины, выполните следующие действия.

  1. Откройте защиту рабочей нагрузки и в расширенных защитах выберите "JIT-доступ к виртуальной машине".

  2. На вкладке "Настроенные виртуальные машины" щелкните правой кнопкой мыши виртуальную машину и выберите "Изменить".

  3. В конфигурации доступа к виртуальной машине JIT можно изменить список портов или добавить новый пользовательский порт.

  4. После завершения редактирования портов нажмите кнопку "Сохранить".

Запрос доступа к виртуальной машине с поддержкой JIT-доступа из Microsoft Defender для облака

Если на виртуальной машине включен JIT-доступ, то для подключения к ней необходимо выполнить запрос на доступ. Запрашивать доступ можно любым из поддерживаемых способов, вне зависимости от того, как именно был включен JIT-доступ.

  1. На странице JIT-доступ к виртуальной машине перейдите на вкладку Настроенные.

  2. Выберите виртуальные машины, к которым вы хотите получить доступ:

    • Значок в столбце Сведения о подключении указывает, включен ли JIT-доступ в группе безопасности сети или на брандмауэре. Если он включен и там, и там, отображается только значок для брандмауэра.

    • В столбце сведений о подключении показаны пользователь и порты, которые могут получить доступ к виртуальной машине.

  3. Выберите Запросить доступ. Откроется окно Запрос доступа.

  4. В разделе "Запрос доступа" выберите порты, которые нужно открыть для каждой виртуальной машины, исходные IP-адреса, в которых должен быть открыт порт, и окно времени для открытия портов.

  5. Выберите Открыть порты.

    Примечание.

    Если пользователь, запрашивающий доступ, находится за прокси-сервером, можно ввести диапазон IP-адресов прокси-сервера.

Другие способы работы с доступом к виртуальной машине JIT

Виртуальные машины Azure

Включение JIT-доступа для виртуальных машин из виртуальных машин Azure

JIT-доступ для виртуальной машины можно включить со страниц виртуальных машин Azure на портале Azure.

Совет

Если виртуальная машина уже включена JIT, на странице конфигурации виртуальной машины показано, что JIT включен. Ссылку можно использовать для открытия страницы доступа к виртуальной машине JIT в Defender для облака для просмотра и изменения параметров.

  1. На портале Azure найдите и выберите Виртуальные машины.

  2. Выберите виртуальные машины, которые необходимо защитить JIT-доступом.

  3. Выберите в меню пункт Конфигурация.

  4. В разделе JIT-доступ выберите Включить JIT-доступ.

    По умолчанию для виртуальной машины используется JIT-доступ:

    • Компьютеры Windows
      • Порт RDP: 3389
      • Максимальный разрешенный доступ: три часа
      • Разрешенные ИСХОДНЫе IP-адреса: Любой
    • Компьютеры Linux
      • Порт SSH: 22
      • Максимальный разрешенный доступ: три часа
      • Разрешенные ИСХОДНЫе IP-адреса: Любой
  5. Чтобы изменить любое из этих значений или добавить дополнительные порты в конфигурацию JIT, используйте страницу JIT-приложения Microsoft Defender для облака:

    1. В меню Defender для облака Выберите JIT-доступ к виртуальной машине.

    2. На вкладке "Настроено" щелкните правой кнопкой мыши виртуальную машину, к которой требуется добавить порт, и нажмите кнопку "Изменить".

      Редактирование конфигурации JIT-доступа к виртуальной машине в Microsoft Defender для облака.

    3. В колонке Настройка JIT-доступа к виртуальной машине можно изменить существующие параметры уже защищенного порта или добавить новый порт.

    4. После завершения настройки портов нажмите кнопку Сохранить.

Запрос доступа к виртуальной машине с поддержкой JIT со страницы подключения виртуальной машины Azure

Если на виртуальной машине включен JIT-доступ, то для подключения к ней необходимо выполнить запрос на доступ. Запрашивать доступ можно любым из поддерживаемых способов, вне зависимости от того, как именно был включен JIT-доступ.

Снимок экрана: Jit JIT-запрос.

Чтобы запросить доступ из виртуальной машины Azure, выполните следующие действия:

  1. Откройте на портале Azure страницы виртуальных машин.

  2. Выберите виртуальную машину, к которой необходимо подключиться, и откройте страницу Подключение.

    Azure проверяет, включен ли JIT-доступ на этой виртуальной машине.

    • Если JIT не включен для виртуальной машины, вам будет предложено включить его.

    • Если JIT включен, выберите "Запрос доступа" для передачи запроса с IP-адресом, диапазоном времени и портами, настроенными для этой виртуальной машины.

Примечание.

После утверждения запроса для виртуальной машины, которая защищена с помощью Брандмауэра Azure, Defender для облака предоставляет пользователю надлежащие сведения о подключении (сопоставление портов из таблицы DNAT), которые используются для подключения к этой виртуальной машине.

PowerShell

Включение JIT-доступа на виртуальных машинах с помощью PowerShell

Чтобы включить JIT-доступ к виртуальной машине из PowerShell, воспользуйтесь официальным командлетом PowerShell Microsoft Defender для облака: Set-AzJitNetworkAccessPolicy.

Пример. Включение JIT-доступа к конкретной виртуальной машине с установкой следующих правил:

  • Порты 22 и 3389 закрываются.
  • Задается максимальное временное окно в 3 часа для каждого из портов, чтобы их можно было открывать по утвержденным запросам.
  • Пользователю, который запрашивает доступ, разрешается управлять исходными IP-адресами.
  • Пользователю, который запрашивает доступ, после утверждения запроса на JIT-доступ разрешается устанавливать сеансы.

Такая конфигурация JIT-доступа создается с помощью следующих команд PowerShell:

  1. Присвойте переменную, которая содержит политику JIT-доступа к виртуальной машине:

    $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. Поместите правила JIT-доступа к виртуальной машине в массив:

    $JitPolicyArr=@($JitPolicy)
    
  3. Настройте правила JIT-доступа на выбранной виртуальной машине:

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

    Используйте параметр -Name, чтобы указать требуемую виртуальную машину. Например, чтобы задать конфигурацию JIT-доступа для двух различных виртуальных машин — VM1 и VM2, выполните: Set-AzJitNetworkAccessPolicy -Name VM1 и Set-AzJitNetworkAccessPolicy -Name VM2 соответственно.

Запрос доступа к виртуальной машине с поддержкой JIT с помощью PowerShell

В следующем примере вы можете просмотреть запрос на доступ к виртуальной машине с конкретной виртуальной машиной для порта 22 для определенного IP-адреса и в течение определенного периода времени:

В PowerShell выполните следующие команды:

  1. Настройка свойств запроса доступа к виртуальной машине:

    $JitPolicyVm1 = (@{
        id="/subscriptions/SUBSCRIPTIONID/resourceGroups/RESOURCEGROUP/providers/Microsoft.Compute/virtualMachines/VMNAME";
        ports=(@{
          number=22;
          endTimeUtc="2020-07-15T17:00:00.3658798Z";
          allowedSourceAddressPrefix=@("IPV4ADDRESS")})})
    
  2. Вставка параметров запроса доступа к виртуальной машине в массив.

    $JitPolicyArr=@($JitPolicyVm1)
    
  3. Отправка запроса на доступ (с использованием идентификатора ресурса из шага 1).

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

Дополнительные сведения см. в документации по командлетам PowerShell.

REST API

Включение JIT-доступа на виртуальных машинах с помощью REST API

Функцию JIT-доступа к виртуальной машине можно использовать через API Microsoft Defender для облака. Используйте этот API для получения сведений о настроенных виртуальных машинах, добавления новых виртуальных машин, запроса доступа к ним и других действий.

Дополнительные сведения см. в статье Политики JIT-доступа к сети.

Запрос доступа к виртуальной машине с поддержкой JIT с помощью REST API

Функцию JIT-доступа к виртуальной машине можно использовать через API Microsoft Defender для облака. Используйте этот API для получения сведений о настроенных виртуальных машинах, добавления новых виртуальных машин, запроса доступа к ним и других действий.

Дополнительные сведения см. в статье Политики JIT-доступа к сети.

Аудит действий JIT-доступа в Defender для облака

Для просмотра действий виртуальной машины можно воспользоваться поиском по журналам. Чтобы просмотреть журналы, выполните следующие действия:

  1. На странице JIT-доступ к виртуальным машинам перейдите на вкладку Настроенные.

  2. Для виртуальной машины, аудит которой необходимо выполнить, откройте меню, нажав многоточие в конце строки.

  3. Выберите в меню пункт Журнал действий.

    Выберите журнал действий JIT-доступа.

    Журнал действий содержит отфильтрованный список предыдущих операций для этой виртуальной машины с указанием их даты, времени и используемой подписки.

  4. Чтобы загрузить данные журнала, нажмите Загрузить как CSV-файл.

Следующий шаг