Configuración de la versión mínima de TLS para un espacio de nombres de Service Bus

Los espacios de nombre de Azure Service Bus permiten a los clientes enviar y recibir datos con la versión 1.0 de TLS y con versiones posteriores. Para aplicar medidas de seguridad más estrictas, puede configurar el espacio de nombres de Service Bus para que los clientes deban enviar y recibir datos con una versión más reciente de TLS. Si el espacio de nombres de Service Bus requiere una versión mínima de TLS, se producirá un error en todas las solicitudes realizadas con una versión anterior. Para obtener más información sobre esta función, consulte Aplicación de una versión mínima necesaria de Seguridad de la capa de transporte (TLS) para las solicitudes a un espacio de nombres de Service Bus.

Puede configurar la versión mínima de TLS mediante Azure Portal o la plantilla de Azure Resource Manager (ARM).

Especificación de la versión mínima de TLS en Azure Portal

Puede especificar la versión mínima de TLS al crear un espacio de nombres de Service Bus en Azure Portal en la pestaña Opciones avanzadas.

Captura de pantalla en la que se muestra la página para establecer la versión de TLS mínima al crear un espacio de nombres.

También puede especificar la versión mínima de TLS para un espacio de nombres existente en la página Configuración.

Captura de pantalla en la que se muestra la página para establecer la versión de TLS mínima para un espacio de nombres existente.

Uso de CLI de Azure

Para crear un espacio de nombres con la versión mínima de TLS establecida en 1.2, use el comando az servicebus namespace create con --min-tls establecido en 1.2.

az servicebus namespace create \
    --name mynamespace \
    --resource-group myresourcegroup \
    --min-tls 1.2

Uso de Azure PowerShell

Para crear un espacio de nombres con la versión mínima de TLS establecida en 1.2, use el comando New-AzServiceBusNamespace con -MinimumTlsVersion establecido en 1.2.

New-AzServiceBusNamespace `
    -ResourceGroup myresourcegroup `
    -Name mynamespace `
    -MinimumTlsVersion 1.2

Creación de una plantilla para configurar la versión mínima de TLS

Para configurar la versión mínima de TLS para un espacio de nombres de Service Bus, establezca la propiedad de versión MinimumTlsVersion en 1.0, 1.1 o 1.2. Al crear un espacio de nombres de Service Bus con una plantilla de Azure Resource Manager, la propiedad MinimumTlsVersion se establece en 1.2 de manera predeterminada, salvo que se establezca explícitamente en otra versión.

Nota

Los espacios de nombres creados con una versión de API anterior a la 2022-01-01-preview tendrán 1.0 como valor de MinimumTlsVersion. Este comportamiento era el valor predeterminado anterior y sigue existiendo para la compatibilidad con versiones anteriores.

En los siguientes pasos se muestra cómo crear una plantilla en Azure Portal.

  1. En Azure Portal, elija Crear un recurso.

  2. En Buscar en el Marketplace, escriba implementación personalizada y, después, presione ENTRAR.

  3. Elija Implementación personalizada (implementar mediante plantillas personalizadas) (versión preliminar), seleccione Crear y, a continuación, elija Cree su propia plantilla en el editor.

  4. En el editor de plantillas, pegue el siguiente código JSON para crear un nuevo espacio de nombres y establecer la versión mínima de TLS en TLS 1.2. No olvide reemplazar los valores de los marcadores de posición entre corchetes angulares con sus propios valores.

    {
        "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
        "contentVersion": "1.0.0.0",
        "parameters": {},
        "variables": {
            "serviceBusNamespaceName": "[concat(uniqueString(subscription().subscriptionId), 'tls')]"
        },
        "resources": [
            {
            "name": "[variables('serviceBusNamespaceName')]",
            "type": "Microsoft.ServiceBus/namespaces",
            "apiVersion": "2022-01-01-preview",
            "location": "westeurope",
            "properties": {
                "minimumTlsVersion": "1.2"
            },
            "dependsOn": [],
            "tags": {}
            }
        ]
    }
    
  5. Guarde la plantilla.

  6. Especifique el parámetro del grupo de recursos y, a continuación, pulse el botón Revisar y crear para implementar la plantilla y crear un espacio de nombres con la propiedad MinimumTlsVersion configurada.

Nota

Después de actualizar la versión mínima de TLS para el espacio de nombres de Service Bus, el cambio puede tardar hasta 30 segundos en propagarse por completo.

La configuración de la versión mínima de TLS requiere la versión de API 2022-01-01-preview o una posterior del proveedor de recursos de Azure Service Bus.

Comprobación de la versión mínima de TLS requerida para un espacio de nombres

Para comprobar la versión mínima de TLS requerida para el espacio de nombres de Service Bus, puede consultar la API de Azure Resource Manager. Va a necesitar un token de portador para consultar en la API, que puede recuperar mediante ARMClient si ejecuta los siguientes comandos.

.\ARMClient.exe login
.\ARMClient.exe token <your-subscription-id>

Una vez que tenga el token de portador, puede usar el siguiente script en combinación con algo como el cliente REST para consultar la API.

@token = Bearer <Token received from ARMClient>
@subscription = <your-subscription-id>
@resourceGroup = <your-resource-group-name>
@namespaceName = <your-namespace-name>

###
GET https://management.azure.com/subscriptions/{{subscription}}/resourceGroups/{{resourceGroup}}/providers/Microsoft.ServiceBus/namespaces/{{namespaceName}}?api-version=2022-01-01-preview
content-type: application/json
Authorization: {{token}}

La respuesta debe tener un aspecto similar al siguiente, con el valor minimumTlsVersion establecido en las propiedades.

{
  "sku": {
    "name": "Premium",
    "tier": "Premium"
  },
  "id": "/subscriptions/<your-subscription-id>/resourceGroups/<your-resource-group-name>/providers/Microsoft.ServiceBus/namespaces/<your-namespace-name>",
  "name": "<your-namespace-name>",
  "type": "Microsoft.ServiceBus/Namespaces",
  "location": "West Europe",
  "tags": {},
  "properties": {
    "minimumTlsVersion": "1.2",
    "publicNetworkAccess": "Enabled",
    "disableLocalAuth": false,
    "zoneRedundant": false,
    "provisioningState": "Succeeded",
    "status": "Active"
  }
}

Prueba de la versión mínima de TLS desde un cliente

Para probar que la versión mínima de TLS necesaria para un espacio de nombres de Service Bus impida las llamadas realizadas con una versión anterior, puede configurar un cliente para que use una versión anterior de TLS. Para obtener más información acerca de cómo configurar un cliente para que use una versión específica de TLS, consulte Configuración de la Seguridad de la capa de transporte (TLS) para una aplicación cliente.

Cuando un cliente acceda a un espacio de nombres de Service Bus mediante una versión de TLS que no cumpla con la versión mínima de TLS configurada para el espacio de nombres, Azure Service Bus devuelve el código de error 401 (No autorizado) y un mensaje que indica que la versión de TLS que se usó no está permitida para realizar solicitudes en este espacio de nombres de Service Bus.

Nota

Al configurar una versión mínima de TLS para un espacio de nombres de Service Bus, esa versión mínima se aplica en la capa de aplicación. Las herramientas que intentan determinar la compatibilidad de TLS en la capa de protocolo pueden devolver versiones de TLS además de la versión mínima necesaria cuando se ejecutan directamente en el punto de conexión del espacio de nombres de Service Bus.

Pasos siguientes

Para más información, consulte la siguiente documentación.