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.

Puedes utilizar el acceso just-in-time de Microsoft Defender para la nube para proteger tus máquinas virtuales (VMs) de Azure contra accesos no autorizados a la red. 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

  • Activa Microsoft Defender para Servidores Plan 2 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 justo a tiempo en tus máquinas virtuales AWS, conecta tu cuenta AWS a Defender for Cloud.

  • Para crear una política JIT, el nombre de la política, junto con el nombre de la máquina virtual objetivo, no puede superar los 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, asigna los permisos resumidos en la siguiente 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:
  • Sobre el alcance de una suscripción (o grupo de recursos cuando se usa solo API o PowerShell) asociado 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

Puedes usar Defender for Cloud o habilitar programáticamente el acceso a JIT VM con tus propias opciones personalizadas. También puedes habilitar JIT con parámetros codificados por defecto desde máquinas virtuales de Azure.

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

  • Configurado: máquinas virtuales configuradas para soportar acceso justo a tiempo a VM. Esta vista muestra:

    • 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: máquinas virtuales sin JIT activado, pero que puedan soportar JIT. Activa JIT para estas máquinas virtuales.

  • No soportadas: máquinas virtuales que no soportan JIT porque:

    • Falta el grupo de seguridad de red (NSG) o Azure Firewall. JIT requiere que se configure un NSG o una configuración de cortafuegos, o ambas.
    • Máquina virtual clásica. JIT soporta máquinas virtuales que se despliegan a través de Resource Manager.
    • Otros. La solución JIT está deshabilitada en la política de seguridad de la suscripción o del 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 la máquina virtual JIT, edita la lista de puertos o selecciona Añadir para un nuevo puerto personalizado.

  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 VM tiene JIT activado, tienes que solicitar acceso para conectarte a ella. Puedes solicitar acceso de cualquier forma soportada, independientemente de cómo hayas habilitado el 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, introduce el rango 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 termine 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 VM tiene JIT activado, tienes que solicitar acceso para conectarte a ella. Puedes solicitar acceso de cualquier forma soportada, independientemente de cómo hayas habilitado el 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, selecciona Solicitar acceso para pasar una solicitud de acceso con la IP solicitante, el rango de tiempo y los puertos que configuraste para esa máquina virtual.

Note

Tras aprobar una solicitud para una máquina virtual protegida por Azure Firewall, Defender for Cloud proporciona al usuario los detalles de la conexión, incluyendo el mapeo de puertos desde la tabla DNAT, para que se conecte 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:

Este ejemplo habilita el acceso Just-In-Time a 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 con JIT usando PowerShell, ejecute los siguientes comandos:

  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 función de acceso justo a tiempo a VM puede usarse con 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.

Para más información, consulte las políticas de acceso a la red JIT.

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

La función de acceso justo a tiempo a VM puede usarse con 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.

Para más información, consulte las políticas de acceso a la 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.

Paso siguiente