Habilitar acceso Just-In-Time

Defender para servidores en Microsoft Defender para la nube ofrece una funcionalidad de acceso justo a tiempo (JIT) a las máquinas.

Puede usar el acceso Just-In-Time de Microsoft Defender para la nube para proteger las máquinas virtuales de Azure frente al acceso de red no autorizado. Los firewalls suelen incluir reglas de permiso que dejan expuestas las máquinas virtuales. JIT permite el acceso solo cuando es necesario, en los puertos necesarios y durante el tiempo necesario.

En este artículo, aprenderá a configurar y usar el acceso Just-In-Time, incluido cómo:

  • Habilitación Just-In-Time en máquinas virtuales desde Azure Portal o mediante programación
  • Solicitar acceso a una máquina virtual con acceso Just-In-Time habilitado desde Azure Portal o mediante programación
  • Audite la actividad de acceso Just-In-Time para asegurarse de que las máquinas virtuales están protegidas correctamente

Prerequisites

  • El plan 2 de Microsoft Defender para servidores debe estar habilitado en la suscripción.

  • Máquinas virtuales admitidas: máquinas virtuales implementadas a través de Azure Resource Manager, máquinas virtuales protegidas por Azure Firewall en la misma red virtual que la máquina virtual y las instancias de AWS EC2 (versión preliminar).

  • Máquinas virtuales no admitidas: máquinas virtuales implementadas con modelos de implementación clásicos, máquinas virtuales protegidas por Azure Firewalls controladas por Azure Firewall Manager.

  • Para configurar el acceso Just-In-Time en las máquinas virtuales de AWS, debe conectar su cuenta de AWS a Microsoft Defender para la nube.

  • Para crear una directiva JIT, el nombre de la directiva, junto con el nombre de la máquina virtual de destino, no debe superar un total de 56 caracteres.

  • Necesita permisos Lector y SecurityReader para ver los parámetros y el estado JIT. Un rol personalizado también puede proporcionar este acceso.

  • Para un rol personalizado, asigne los permisos resumidos en la tabla. Para crear un rol con privilegios mínimos para los usuarios que solo necesitan solicitar acceso JIT a una máquina virtual, use el script deSet-JitLeastPrivilegedRole.

Acción del usuario Permisos a configurar
Configuración o edición de una directiva JIT para una máquina virtual Asigne estas acciones al rol:
  • En el ámbito de una suscripción (o grupo de recursos al usar solo la API o PowerShell) asociada a la máquina virtual:
    Microsoft.Security/locations/jitNetworkAccessPolicies/write
  • En el ámbito de una suscripción (o un grupo de recursos cuando solo se usa una API o PowerShell) de máquina virtual:
    Microsoft.Compute/virtualMachines/write
Solicitud de acceso JIT a una máquina virtual Asigne estas acciones al usuario:
  • Microsoft.Security/locations/jitNetworkAccessPolicies/initiate/action
  • Microsoft.Security/locations/jitNetworkAccessPolicies/*/read
  • Microsoft.Compute/virtualMachines/read
  • Microsoft.Network/networkInterfaces/*/read
  • Microsoft.Network/publicIPAddresses/read
Leer directivas JIT Asigne estas acciones al usuario:
  • 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

Note

Solo los permisos de Microsoft.Security son pertinentes para AWS. Para crear un rol con privilegios mínimos para los usuarios que solo necesitan solicitar acceso JIT a una máquina virtual, use el script deSet-JitLeastPrivilegedRole.

Trabajar con el acceso a máquinas virtuales JIT mediante Microsoft Defender para la nube

Puede usar Defender for Cloud o habilitar mediante programación el acceso a máquinas virtuales JIT con sus propias opciones personalizadas, o bien puede habilitar JIT con parámetros codificados de forma predeterminada desde máquinas virtuales de Azure.

El acceso a máquinas virtuales Just-In-Time muestra las máquinas virtuales agrupadas en:

  • Configurado: las máquinas virtuales configuradas para admitir el acceso a máquinas virtuales Just-In-Time y muestran:
    • el número de solicitudes JIT aprobadas en los últimos siete días
    • la última fecha y hora de acceso
    • los detalles de conexión configurados
    • el último usuario
  • No configurado : las máquinas virtuales sin JIT habilitadas, pero que pueden admitir JIT. Se recomienda habilitar JIT para estas máquinas virtuales.
  • No compatible : máquinas virtuales que no admiten JIT porque:
    • Falta un grupo de seguridad de red (NSG) o Azure Firewall: JIT requiere que se configure un grupo de seguridad de red o una configuración de firewall (o ambas)
    • VM clásica: JIT admite máquinas virtuales que se implementan a través de Azure Resource Manager.
    • Otro: la solución JIT está deshabilitada en la directiva de seguridad de la suscripción o el grupo de recursos.

Habilitación de JIT en las máquinas virtuales desde Microsoft Defender para la nube

Desde Defender for Cloud, puede habilitar y configurar el acceso a la máquina virtual JIT.

Para habilitar JIT en las máquinas virtuales desde Defender for Cloud:

  1. Abra Las protecciones de carga de trabajo y, en las protecciones avanzadas , seleccione Acceso a máquinas virtuales Just-In-Time.

    Captura de pantalla que muestra cómo configurar el acceso a máquinas virtuales Just-In-Time en Microsoft Defender para la nube.

  2. En la pestaña Máquinas virtuales no configuradas , marque las máquinas virtuales para proteger con JIT y seleccione Habilitar JIT en máquinas virtuales.

    Se abre la página acceso a la máquina virtual JIT en la que se enumeran los puertos que Defender for Cloud recomienda proteger:

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

    Para personalizar el acceso JIT:

    1. Seleccione Agregar.

    2. Seleccione uno de los puertos de la lista para editarlo o escribir otros puertos. Para cada puerto, puede establecer lo siguiente:

      • Protocolo
      • Direcciones IP de origen permitidas
      • Tiempo máximo de solicitud
    3. Selecciona Aceptar.

  3. Para guardar la configuración del puerto, seleccione Guardar.

Edición de la configuración JIT en una máquina virtual habilitada para JIT mediante Defender for Cloud

Puede modificar la configuración Just-In-Time de una máquina virtual agregando y configurando un puerto nuevo para proteger esa máquina virtual o cambiando cualquier otra configuración relacionada con un puerto ya protegido.

Para editar las reglas JIT existentes para una máquina virtual:

  1. Abra Las protecciones de carga de trabajo y, en las protecciones avanzadas , seleccione Acceso a máquinas virtuales Just-In-Time.

  2. En la pestaña Máquinas virtuales configuradas , haga clic con el botón derecho en una máquina virtual y seleccione Editar.

  3. En la configuración de acceso a máquinas virtuales JIT, puede editar la lista de puertos o seleccionar Agregar para un puerto personalizado nuevo.

  4. Cuando termine de editar los puertos, seleccione Guardar.

Solicitud de acceso a una máquina virtual habilitada para JIT desde Microsoft Defender para la nube

Cuando una máquina virtual tiene JIT habilitado, debe solicitar acceso para conectarse a ella. Puede solicitar acceso de cualquiera de las formas admitidas, independientemente de cómo habilitó JIT.

Para solicitar acceso a una máquina virtual habilitada para JIT desde Defender for Cloud:

  1. En la página Acceso a máquinas virtuales Just-In-Time , seleccione la pestaña Configurado .

  2. Seleccione las máquinas virtuales a las que desea acceder.

    • El icono de la columna Detalles de conexión indica si JIT está habilitado en el grupo de seguridad de red o en el firewall. Si está habilitado en ambos, solo aparece el icono de firewall.

    • La columna Detalles de conexión muestra el usuario y los puertos que pueden acceder a la máquina virtual.

  3. Seleccione Solicitar acceso. Se abre la ventana Solicitar acceso .

  4. En Solicitar acceso, seleccione los puertos que desea abrir para cada máquina virtual, las direcciones IP de origen en las que desea abrir el puerto y la ventana de tiempo para abrir los puertos.

  5. Seleccione Abrir puertos.

    Note

    Si un usuario que solicita acceso está detrás de un proxy, usted puede introducir el intervalo de direcciones IP del proxy.

Otras formas de trabajar con el acceso a máquinas virtuales JIT

También puedes gestionar el acceso justo a tiempo a VM a través de máquinas virtuales de Azure, PowerShell o la API REST.

Máquinas virtuales de Azure

Las siguientes tareas muestran cómo habilitar y solicitar acceso JIT desde la experiencia de máquinas virtuales de Azure en el portal de Azure.

Habilitación de JIT en las máquinas virtuales de Azure

Puede habilitar JIT en una máquina virtual desde las páginas máquinas virtuales de Azure de Azure Portal.

Para habilitar JIT en una VM de Azure Virtual Machines:

Tip

Si una máquina virtual ya tiene JIT habilitado, la página de configuración de la máquina virtual muestra que JIT está habilitado. Use el enlace Acceso a la máquina virtual Just-In-Time en esa página para abrir Defender for Cloud y revisar o modificar la configuración.

  1. En Azure Portal, busque y seleccione Máquinas virtuales.

  2. Seleccione la máquina virtual que desea proteger con JIT.

  3. En el menú, seleccione Configuración.

  4. En Acceso Just-In-Time, seleccione Habilitar Just-In-Time.

    De forma predeterminada, el acceso Just-In-Time para la máquina virtual usa esta configuración:

    • Máquinas Windows:
      • Puerto RDP: 3389
      • Acceso máximo permitido: 3 horas
      • Direcciones IP de origen permitidas: Any
    • Máquinas Linux:
      • Puerto SSH: 22
      • Acceso máximo permitido: 3 horas
      • Direcciones IP de origen permitidas: Any
  5. Para editar cualquiera de estos valores o agregar más puertos a la configuración JIT, use la página Just-In-Time de Microsoft Defender para la nube:

    1. En el menú de Defender for Cloud, seleccione Acceso a máquinas virtuales Just-In-Time.

    2. En la pestaña Configurado , haga clic con el botón derecho en la máquina virtual a la que desea agregar un puerto y seleccione Editar.

      Captura de pantalla de la edición de la configuración de acceso a máquinas virtuales Just-In-Time, en la que se muestran los puertos permitidos y las opciones de duración del acceso.

    3. En Configuración de acceso a máquinas virtuales JIT, puede editar la configuración existente de un puerto ya protegido o agregar un puerto personalizado nuevo.

    4. Cuando haya terminado de editar los puertos, seleccione Guardar.

Solicitud de acceso a una máquina virtual habilitada para JIT desde la página de conexión de la máquina virtual de Azure

Cuando una máquina virtual tiene JIT habilitado, debe solicitar acceso para conectarse a ella. Puede solicitar acceso de cualquiera de las formas admitidas, independientemente de cómo habilitó JIT.

Captura de pantalla de una solicitud de acceso a máquinas virtuales Just-In-Time en la que se muestran los puertos seleccionados y la duración del acceso.

Para solicitar acceso desde máquinas virtuales de Azure:

  1. En Azure Portal, abra las páginas de máquinas virtuales.

  2. Seleccione la máquina virtual a la que desea conectarse y abra la página Conectar.

    Azure comprueba si JIT está habilitado en esa máquina virtual.

    • Si JIT no está habilitado para la máquina virtual, se le pedirá que lo habilite.
    • Si JIT está habilitado, seleccione Solicitar acceso para pasar una solicitud de acceso con la dirección IP de solicitud, el intervalo de tiempo y los puertos que se configuraron para esa máquina virtual.

Note

Una vez aprobada una solicitud para una máquina virtual protegida por Azure Firewall, Defender for Cloud proporciona al usuario los detalles de conexión adecuados (la asignación de puertos de la tabla DNAT) que se usará para conectarse a la máquina virtual.

PowerShell

También puedes habilitar y solicitar acceso a JIT usando los cmdlets de PowerShell.

Habilitación de JIT en las máquinas virtuales mediante PowerShell

Para habilitar el acceso a máquinas virtuales Just-In-Time desde PowerShell, use el cmdlet oficial deMicrosoft Defender para la nube PowerShell Set-AzJitNetworkAccessPolicy.

Para configurar JIT en una máquina virtual con PowerShell:

Ejemplo : habilite el acceso just-in-time a la máquina virtual en una máquina virtual específica con las siguientes reglas:

  • Cierre los puertos 22 y 3389
  • Establezca un período de tiempo máximo de 3 horas para cada uno para que se puedan abrir por solicitud aprobada.
  • Permitir al usuario que solicita acceso para controlar las direcciones IP de origen
  • Permitir al usuario que solicita acceso establecer una sesión exitosa tras una solicitud de acceso justo a tiempo aprobada.

Los siguientes comandos de PowerShell crean esta configuración JIT:

  1. Asigne una variable que contenga las reglas de acceso Just-In-Time a máquinas virtuales para una máquina virtual.

    $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. Inserte las reglas de acceso a máquinas virtuales Just-in-Time de la máquina virtual en una matriz:

    $JitPolicyArr=@($JitPolicy)
    
  3. Configure las reglas de acceso a máquinas virtuales Just-In-Time en la máquina virtual seleccionada:

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

    Utiliza el -Name parámetro para especificar el nombre de la política JIT para cada VM. Por ejemplo, para establecer la configuración JIT para dos máquinas virtuales diferentes, VM1 y VM2, use: Set-AzJitNetworkAccessPolicy -Name VM1 y Set-AzJitNetworkAccessPolicy -Name VM2.

Solicitud de acceso a una máquina virtual habilitada para JIT mediante PowerShell

En el ejemplo siguiente, puede ver una solicitud de acceso de máquina virtual Just-In-Time a una máquina virtual específica para el puerto 22, para una dirección IP específica y durante un período de tiempo específico:

Para solicitar acceso a una máquina virtual habilitada para JIT mediante PowerShell:

Ejecute los siguientes comandos en PowerShell:

  1. Configure las propiedades de acceso para la solicitud de la máquina virtual:

    $JitPolicyVm1 = (@{
        id="/subscriptions/SUBSCRIPTIONID/resourceGroups/RESOURCEGROUP/providers/Microsoft.Compute/virtualMachines/VMNAME";
        ports=(@{
            number=22;
            endTimeUtc="2020-07-15T17:00:00.3658798Z";
            allowedSourceAddressPrefix=@("IPV4ADDRESS")})})
    
  2. Inserte los parámetros de solicitud de acceso de máquina virtual en una matriz:

    $JitPolicyArr=@($JitPolicyVm1)
    
  3. Envía la solicitud de acceso (usa el identificador de recurso del paso 1)

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

Obtenga más información en la documentación del cmdlet de PowerShell.

REST API

Puedes gestionar el acceso a JIT VM de forma programática usando la API REST de Microsoft Defender para la nube.

Habilitación de JIT en las máquinas virtuales mediante la API REST

La característica de acceso a máquinas virtuales Just-In-Time se puede usar a través de la API de Microsoft Defender para la nube. Use esta API para obtener información sobre las máquinas virtuales configuradas, agregar otras nuevas, solicitar acceso a una máquina virtual y mucho más.

Obtenga más información en Directivas de acceso de red JIT.

Solicitud de acceso a una máquina virtual habilitada para JIT mediante la API REST

La característica de acceso a máquinas virtuales Just-In-Time se puede usar a través de la API de Microsoft Defender para la nube. Use esta API para obtener información sobre las máquinas virtuales configuradas, agregar otras nuevas, solicitar acceso a una máquina virtual y mucho más.

Obtenga más información en Directivas de acceso de red JIT.

Auditar la actividad de acceso JIT en Defender for Cloud

Use la búsqueda de registros para revisar la actividad de la máquina virtual. Para ver los registros:

  1. En Acceso a máquinas virtuales Just-In-Time, seleccione la pestaña Configurado .

  2. Para la máquina virtual que desea auditar, abra el menú de puntos suspensivos al final de la fila.

  3. Seleccione Registro de actividad en el menú.

    Recorte de pantalla de la selección del registro de actividad de acceso a máquinas virtuales Just-In-Time en Defender for Cloud.

    El registro de actividad proporciona una vista filtrada de las operaciones anteriores para esa máquina virtual junto con la hora, la fecha y la suscripción.

  4. Para descargar la información del registro, seleccione Descargar como CSV.

Pasos siguientes