Konfigurowanie minimalnej wersji protokołu TLS dla przestrzeni nazw usługi Service Bus

Przestrzenie nazw usługi Azure Service Bus umożliwiają klientom wysyłanie i odbieranie danych przy użyciu protokołu TLS 1.0 lub nowszego. Aby wymusić ostrzejsze środki zabezpieczeń, możesz skonfigurować przestrzeń nazw usługi Service Bus tak, aby wymagać od klientów wysyłania i odbierania danych przy użyciu nowszej wersji protokołu TLS. Jeśli przestrzeń nazw usługi Service Bus wymaga minimalnej wersji protokołu TLS, wszystkie żądania wysyłane za pomocą starszej wersji zakończą się niepowodzeniem. Aby uzyskać informacje koncepcyjne dotyczące tej funkcji, zobacz Wymuszanie minimalnej wymaganej wersji protokołu Transport Layer Security (TLS) dla żądań do przestrzeni nazw usługi Service Bus.

Minimalną wersję protokołu TLS można skonfigurować przy użyciu witryny Azure Portal lub szablonu usługi Azure Resource Manager (ARM).

Ostrzeżenie

Od 31 października 2024 r. protokoły TLS 1.0 i TLS 1.1 nie będą już obsługiwane na platformie Azure. Zakończenie wsparcia dla protokołów TLS 1.0 i TLS 1.1. Minimalna wersja protokołu TLS będzie wynosić 1.2 dla wszystkich wdrożeń usługi Service Bus.

Ważne

31 października 2024 r. protokół TLS 1.3 zostanie włączony dla ruchu protokołu AMQP. Protokół TLS 1.3 jest już włączony dla ruchu HTTPS. Klienci Języka Java mogą mieć problem z protokołem TLS 1.3 ze względu na zależność od starszej wersji programu Proton-J. Aby uzyskać więcej informacji, przeczytaj Zmiany klienta Java w celu obsługi protokołu TLS 1.3 przy użyciu usług Azure Service Bus i Azure Event Hubs

Określanie minimalnej wersji protokołu TLS w witrynie Azure Portal

Minimalną wersję protokołu TLS można określić podczas tworzenia przestrzeni nazw usługi Service Bus w witrynie Azure Portal na karcie Zaawansowane .

Zrzut ekranu przedstawiający stronę, aby ustawić minimalną wersję protokołu TLS podczas tworzenia przestrzeni nazw.

Możesz również określić minimalną wersję protokołu TLS dla istniejącej przestrzeni nazw na stronie Konfiguracja .

Zrzut ekranu przedstawiający stronę, aby ustawić minimalną wersję protokołu TLS dla istniejącej przestrzeni nazw.

Interfejs wiersza polecenia platformy Azure

Aby utworzyć przestrzeń nazw z minimalną wersją protokołu TLS ustawioną na 1.2, użyj az servicebus namespace create polecenia z ustawioną wartością --min-tls 1.2.

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

Korzystanie z programu Azure PowerShell

Aby utworzyć przestrzeń nazw z minimalną wersją protokołu TLS ustawioną na 1.2, użyj New-AzServiceBusNamespace polecenia z ustawioną wartością -MinimumTlsVersion 1.2.

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

Tworzenie szablonu w celu skonfigurowania minimalnej wersji protokołu TLS

Aby skonfigurować minimalną wersję protokołu TLS dla przestrzeni nazw usługi Service Bus, ustaw MinimumTlsVersion właściwość version na 1.0, 1.1 lub 1.2. Podczas tworzenia przestrzeni nazw usługi Service Bus przy użyciu szablonu MinimumTlsVersion usługi Azure Resource Manager właściwość jest domyślnie ustawiona na 1.2, chyba że jawnie ustawiono inną wersję.

Uwaga

Przestrzenie nazw utworzone przy użyciu interfejsu API w wersji wcześniejszej niż 2022-01-01-preview będą miały wartość 1.0 jako wartość .MinimumTlsVersion To zachowanie było wcześniejszą wartością domyślną i nadal istnieje w celu zapewnienia zgodności z poprzednimi wersjami.

W poniższych krokach opisano sposób tworzenia szablonu w witrynie Azure Portal.

  1. W witrynie Azure Portal wybierz pozycję Utwórz zasób.

  2. W obszarze Wyszukaj w witrynie Marketplace wpisz wdrożenie niestandardowe, a następnie naciśnij ENTER.

  3. Wybierz pozycję Wdrożenie niestandardowe (wdróż przy użyciu szablonów niestandardowych) (wersja zapoznawcza), wybierz pozycję Utwórz , a następnie wybierz pozycję Utwórz własny szablon w edytorze.

  4. W edytorze szablonów wklej następujący kod JSON, aby utworzyć nową przestrzeń nazw i ustawić minimalną wersję protokołu TLS na TLS 1.2. Pamiętaj, aby zastąpić symbole zastępcze w nawiasach kątowych własnymi wartościami.

    {
        "$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. Zapisz szablon.

  6. Określ parametr grupy zasobów, a następnie wybierz przycisk Przejrzyj i utwórz , aby wdrożyć szablon i utworzyć przestrzeń nazw ze skonfigurowaną właściwością MinimumTlsVersion .

Uwaga

Po zaktualizowaniu minimalnej wersji protokołu TLS dla przestrzeni nazw usługi Service Bus może upłynąć do 30 sekund, zanim zmiana zostanie w pełni rozpropagowana.

Skonfigurowanie minimalnej wersji protokołu TLS wymaga interfejsu API-version 2022-01-01-preview lub nowszego dostawcy zasobów usługi Azure Service Bus.

Sprawdzanie minimalnej wymaganej wersji protokołu TLS dla przestrzeni nazw

Aby sprawdzić minimalną wymaganą wersję protokołu TLS dla przestrzeni nazw usługi Service Bus, możesz wykonać zapytanie dotyczące interfejsu API usługi Azure Resource Manager. Do wykonywania zapytań względem interfejsu API potrzebny będzie token elementu nośnego, który można pobrać przy użyciu elementu ARMClient , wykonując następujące polecenia.

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

Po utworzeniu tokenu elementu nośnego możesz użyć poniższego skryptu w połączeniu z czymś, co przypomina klient REST, aby wykonać zapytanie dotyczące interfejsu 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}}

Odpowiedź powinna wyglądać podobnie do poniższej, a parametr minimumTlsVersion powinien być ustawiony pod właściwościami.

{
  "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"
  }
}

Testowanie minimalnej wersji protokołu TLS od klienta

Aby przetestować, czy minimalna wymagana wersja protokołu TLS dla przestrzeni nazw usługi Service Bus zabrania wywołań wykonanych ze starszą wersją, można skonfigurować klienta do używania starszej wersji protokołu TLS. Aby uzyskać więcej informacji na temat konfigurowania klienta do używania określonej wersji protokołu TLS, zobacz Konfigurowanie protokołu Transport Layer Security (TLS) dla aplikacji klienckiej.

Gdy klient uzyskuje dostęp do przestrzeni nazw usługi Service Bus przy użyciu wersji protokołu TLS, która nie spełnia minimalnej wersji protokołu TLS skonfigurowanej dla przestrzeni nazw, usługa Azure Service Bus zwraca kod błędu 401 (Brak autoryzacji) i komunikat wskazujący, że wersja protokołu TLS, która została użyta, nie może wysyłać żądań względem tej przestrzeni nazw usługi Service Bus.

Uwaga

Po skonfigurowaniu minimalnej wersji protokołu TLS dla przestrzeni nazw usługi Service Bus minimalna wersja jest wymuszana w warstwie aplikacji. Narzędzia, które próbują określić obsługę protokołu TLS w warstwie protokołu, mogą zwracać wersje protokołu TLS oprócz minimalnej wymaganej wersji, gdy są uruchamiane bezpośrednio względem punktu końcowego przestrzeni nazw usługi Service Bus.

Następne kroki

Aby uzyskać więcej informacji, zobacz następującą dokumentację.