Een minimaal vereiste versie van Tls (Transport Layer Security) afdwingen voor aanvragen naar een opslagaccount

✔️ Van toepassing op: Azure Blob Storage, Azure Data Lake Storage, Azure Queue Storage, Azure-tabelopslag

✖️ Niet van toepassing op: Azure Files (Microsoft.Storage of Microsoft.FileShares)

De communicatie tussen een clientapplicatie en een Azure Storage-account wordt versleuteld met behulp van Transport Layer Security (TLS). TLS is een standaardcryptografieprotocol waarmee privacy en gegevensintegriteit tussen clients en services via internet worden gegarandeerd. Zie Transport Layer Security voor meer informatie over TLS.

Azure Storage ondersteunt twee versies van het TLS-protocol: 1.2 en 1.3. Hoewel Azure Storage nu TLS 1.3 ondersteunt, ondersteunt het momenteel niet het afdwingen van TLS 1.3 als minimale TLS-versie voor Azure Storage-accounts. De aanbevolen minimale TLS-versie is TLS 1.2. Clients die de nieuwste TLS-versies gebruiken, onderhandelen automatisch om TLS 1.3 te gebruiken indien beschikbaar.

Aanbeveling

Azure Storage is afhankelijk van de Windows-implementatie van SSL die niet is gebaseerd op OpenSSL en wordt daarom niet blootgesteld aan aan OpenSSL-gerelateerde beveiligingsproblemen.

Met Azure Storage-accounts kunnen clients gegevens verzenden en ontvangen met TLS-versies 1.2 en hoger. Wanneer een opslagaccount een minimale TLS-versie vereist, mislukt elk verzoek dat een oudere versie gebruikt.

In dit artikel wordt beschreven hoe u een DRAG-framework (Detection-Remediation-Audit-Governance) gebruikt voor het continu beheren van beveiligde TLS voor uw opslagaccounts.

Zie Transport Layer Security (TLS) configureren voor een clienttoepassing voor informatie over het opgeven van een bepaalde versie van TLS wanneer u een aanvraag verzendt vanuit een clienttoepassing.

Notitie

De ciphersuite die wordt gebruikt wanneer clients data naar een opslagaccount verzenden en data van een opslagaccount ontvangen, hangt af van de gebruikte TLS-versie. Je kunt een opslagaccount niet zo instellen dat je het gebruik van specifieke versleutelingsalgoritmen blokkeert, behalve door een minimale TLS-versie te vereisen. Als u de mogelijkheid nodig hebt om alleen specifieke coderingssuites toe te staan wanneer u verbinding maakt met uw opslagaccount, kunt u overwegen Azure-toepassing Gateway te gebruiken. Zie TLS-beleidsversies en coderingssuites configureren op Azure-toepassing Gateway voor meer informatie over het gebruik van Application Gateway.

Voor Azure Files, zie FileREST-versleuteling tijdens overdracht. Opslagaccounts die Azure-bestandsdelingen bevatten, gebruiken dezelfde instelling, maar het artikel over Azure Files beschrijft overwegingen voor Azure Files.

De TLS-versie detecteren die wordt gebruikt door clienttoepassingen

Wanneer je een minimale TLS-versie voor je opslagaccount afdwingt, loop je het risico verzoeken van clients die een oudere versie van TLS gebruiken te weigeren. Om te begrijpen hoe het configureren van de minimale TLS-versie clientapplicaties beïnvloedt, raadt Microsoft aan om logging in te schakelen voor je Azure Storage-account en de logs na een bepaalde periode te analyseren om te ontdekken welke TLS-versies clientapplicaties gebruiken.

Om verzoeken in te loggen op je Azure Storage-account en te bepalen welke TLS-versie de client gebruikt, gebruik je Azure Storage-logging in Azure Monitor. Zie Azure Storage bewaken voor meer informatie.

Logboekregistratie van Azure Storage in Azure Monitor ondersteunt het gebruik van logboekquery's om logboekgegevens te analyseren. Om logs te queryen, gebruik je een Azure Log Analytics-werkruimte. Ga voor meer informatie over logboekquery's naar Zelfstudie: Aan de slag met Log Analytics-query's.

Als u Azure Storage-gegevens wilt registreren met Azure Monitor en deze wilt analyseren met Azure Log Analytics, moet u eerst een diagnostische instelling maken die aangeeft welke typen aanvragen en voor welke opslagservices u gegevens wilt vastleggen. Ga als volgt te werk om een diagnostische instelling te maken in de Azure Portal:

  1. Maak een nieuwe Log Analytics-werkruimte in het abonnement dat uw Azure Storage-account bevat. Nadat u logboekregistratie voor uw opslagaccount hebt geconfigureerd, zijn de logboeken beschikbaar in de Log Analytics-werkruimte. Raadpleeg Een Log Analytics-werkruimte maken in Azure Portal voor meer informatie.

  2. Ga naar uw opslagaccount in de Azure-portal.

  3. Selecteer in de sectie Bewaking Diagnostische instellingen.

  4. Selecteer de Azure Storage-service waarvoor u aanvragen wilt registreren. Kies bijvoorbeeld Blob om aanvragen in Blob-opslag te registreren.

  5. Selecteer Diagnostische instellingen toevoegen.

  6. Voer een naam in voor de diagnostische instelling.

  7. Kies onder Categoriedetails in de sectie Logboek welke typen aanvragen moeten worden vastgelegd. U kunt aanvragen voor lezen, schrijven en verwijderen registreren. Bijvoorbeeld, door StorageRead en StorageWrite logboeken te kiezen, worden lees- en schrijfverzoeken naar de geselecteerde service gelogd.

  8. Selecteer onder BestemmingsdetailsVerzenden naar Log Analytics. Selecteer uw abonnement en de Log Analytics-werkruimte die u eerder hebt gemaakt, zoals wordt weergegeven in de volgende afbeelding.

    Schermopname die laat zien hoe u een diagnostische instelling maakt voor logboekregistratieaanvragen

Nadat je de diagnostische instelling hebt aangemaakt, registreert het opslagaccount verzoeken volgens die instelling. Zie Diagnostische instelling maken voor het verzamelen van resourcelogboeken en metrische gegevens in Azure voor meer informatie.

Zie Bronlogboeken voor een overzicht van velden die beschikbaar zijn in Azure Storage-logboeken in Azure Monitor.

Uitvoeren van zoekopdrachten op geregistreerde verzoeken per TLS-versie

Azure Storage-logboeken in Azure Monitor bevatten de TLS-versie die wordt gebruikt om een aanvraag naar een opslagaccount te verzenden. Gebruik de eigenschap TlsVersion om de TLS-versie van een vastgelegde aanvraag te controleren.

Open uw Log Analytics-werkruimte om te bepalen hoeveel aanvragen zijn gedaan voor Blob Storage met verschillende versies van TLS in de afgelopen zeven dagen. Plak vervolgens de volgende query in een nieuwe logboekquery en voer deze uit. Vergeet niet om de tijdelijke aanduidingen tussen haakjes te vervangen door uw eigen waarden:

StorageBlobLogs
| where TimeGenerated > ago(7d) and AccountName == "<account-name>"
| summarize count() by TlsVersion

De resultaten tonen het aantal aanvragen dat is gedaan met elke versie van TLS:

Schermopname van de resultaten van de Log Analytics-query om tls-versie te retourneren

Query's uitvoeren op geregistreerde aanvragen door het IP-adres van de beller en de header van de gebruikersagent

Azure Storage-logs in Azure Monitor bevatten ook het IP-adres van de aanroeper en de user agent-header om je te helpen evalueren welke clientapplicaties toegang hebben gehad tot het opslagaccount. Je kunt deze waarden analyseren om te bepalen of clientapplicaties moeten worden bijgewerkt om een nieuwere versie van TLS te gebruiken, of dat het acceptabel is om een clientverzoek te laten falen als het niet met de minimale TLS-versie wordt verzonden.

Als u wilt bepalen welke clients aanvragen hebben gedaan met een versie van TLS die ouder is dan TLS 1.2 in de afgelopen zeven dagen, plakt u de volgende query in een nieuwe logboekquery en voert u deze uit. Vergeet niet om de tijdelijke aanduidingen tussen haakjes te vervangen door uw eigen waarden:

StorageBlobLogs
| where TimeGenerated > ago(7d) and AccountName == "<account-name>" and TlsVersion != "TLS 1.2"
| project TlsVersion, CallerIpAddress, UserAgentHeader

Beveiligingsrisico's oplossen met een minimale versie van TLS

Wanneer u er zeker van bent dat verkeer van clients die oudere versies van TLS gebruiken minimaal is of dat het acceptabel is om aanvragen met een oudere versie van TLS te laten mislukken, kunt u beginnen met het afdwingen van een minimale TLS-versie in uw opslagaccount. Clients moeten een minimale versie van TLS gebruiken om aanvragen te doen voor een opslagaccount, maakt deel uit van een strategie om beveiligingsrisico's voor uw gegevens te minimaliseren.

Belangrijk

Als je een dienst gebruikt die verbinding maakt met Azure Storage, zorg er dan voor dat die service de juiste versie van TLS gebruikt om verzoeken naar Azure Storage te sturen voordat je de vereiste minimumversie voor een opslagaccount instelt.

De minimale TLS-versie voor een opslagaccount configureren

Als u de minimale TLS-versie voor een opslagaccount wilt configureren, stelt u de MinimumTlsVersion-versie voor het account in. Deze eigenschap is beschikbaar voor alle opslagaccounts die zijn gemaakt met het Azure Resource Manager-implementatiemodel. Zie het overzicht van het Opslagaccount voor meer informatie over het Azure Resource Manager-implementatiemodel.

De standaardwaarde van de eigenschap MinimumTlsVersion is afhankelijk van hoe u deze instelt. Wanneer u een opslagaccount maakt met Azure Portal, is de minimale TLS-versie standaard ingesteld op 1.2. Bij het aanmaken van een opslagaccount met PowerShell, Azure CLI of een Azure Resource Manager-sjabloon wordt de eigenschap MinimumTlsVersion niet standaard ingesteld en wordt er geen waarde geretourneerd totdat je deze expliciet configureert.

Wanneer de eigenschap MinimumTlsVersion niet is ingesteld, kan de waarde worden weergegeven als nul of een lege string, afhankelijk van de context. Het opslagaccount staat verzoeken toe die met TLS versie 1.0 of hoger worden verzonden als de eigenschap niet is ingesteld.

Wanneer u een opslagaccount maakt met Azure Portal, is de minimale TLS-versie standaard ingesteld op 1.2.

Voer de volgende stappen uit om de minimale TLS-versie voor een bestaand opslagaccount te configureren met Azure Portal:

  1. Ga naar uw opslagaccount in de Azure-portal.

  2. Selecteer onder Instellingen de optie Configuratie.

  3. Gebruik de vervolgkeuzelijst onder Minimale TLS-versie om de minimale versie van TLS te selecteren die is vereist voor toegang tot gegevens in dit opslagaccount.

    Schermopname die laat zien hoe u een minimale versie van TLS configureert in Azure Portal.

Notitie

Nadat je de minimale TLS-versie voor het opslagaccount hebt bijgewerkt, kan het tot 30 seconden duren voordat de wijziging volledig is doorgegeven.

Voor het configureren van de minimale TLS-versie is versie 2019-04-01 of hoger van de Azure Storage-resourceprovider vereist. Zie de REST API van Azure Storage-resourceprovider voor meer informatie.

Controleer de minimaal vereiste TLS-versie voor meerdere accounts

Om de minimaal vereiste TLS-versie te controleren over een set opslagaccounts met optimale prestaties, gebruik je de Azure Resource Graph Explorer in het Azure-portaal. Voor meer informatie over het gebruik van Resource Graph Explorer, zie Quickstart: Uw eerste Resource Graph-query uitvoeren met behulp van Azure Resource Graph Explorer.

Als u de volgende query uitvoert in Resource Graph Explorer, wordt een lijst met opslagaccounts geretourneerd en wordt de minimale TLS-versie voor elk account weergegeven:

resources
| where type =~ 'Microsoft.Storage/storageAccounts'
| extend minimumTlsVersion = parse_json(properties).minimumTlsVersion
| project subscriptionId, resourceGroup, name, minimumTlsVersion

De minimale TLS-versie van een client testen

Om te testen dat de minimaal vereiste TLS-versie voor een opslagaccount aanroepen met een oudere versie verbiedt, configureer je een client om een oudere versie van TLS te gebruiken. Zie Transport Layer Security (TLS) configureren voor een clienttoepassing voor meer informatie over het configureren van een client voor het gebruik van een specifieke versie van TLS.

Wanneer een client toegang krijgt tot een opslagaccount met een TLS-versie die niet voldoet aan de minimale TLS-versie die voor het account is geconfigureerd, geeft Azure Storage foutcode 400 (Bad Request) terug en een melding dat de TLS-versie niet is toegestaan om verzoeken te doen aan dit opslagaccount.

Notitie

Wanneer je een minimale TLS-versie voor een opslagaccount configureert, handhaaft de applicatielaag die minimale versie. Tools die proberen TLS-ondersteuning op de protocollaag te bepalen, kunnen TLS-versies teruggeven naast de minimaal vereiste versie wanneer ze direct op het opslagaccount-eindpunt worden uitgevoerd.

Azure Policy gebruiken om te controleren op naleving

Als je een groot aantal opslagaccounts hebt, wil je misschien een audit uitvoeren om te garanderen dat alle accounts zijn geconfigureerd voor de minimale TLS-versie die je organisatie vereist. Gebruik Azure Policy om een set opslagaccounts voor hun naleving te controleren. Azure Policy is een service die u kunt gebruiken om beleidsregels te maken, toe te wijzen en te beheren die regels toepassen op Azure-resources. Azure Policy helpt je om die middelen in overeenstemming te houden met je bedrijfsstandaarden en serviceniveauovereenkomsten. Zie Overzicht van Azure Policy voor meer informatie.

Een beleid maken met een controle-effect

Azure Policy ondersteunt effecten die bepalen wat er gebeurt wanneer een beleidsregel wordt geëvalueerd op basis van een resource. Het Audit-effect veroorzaakt een waarschuwing wanneer een resource niet aan de regels voldoet, maar stopt het verzoek niet. Zie Azure Policy-effecten begrijpen voor meer informatie over effecten.

Om een beleid met een Audit-effect te maken voor de minimale TLS-versie via het Azure-portaal, volg je deze stappen:

  1. Ga naar de Azure Policy-service in de Azure Portal.

  2. Onder de sectie Ontwerpen, selecteer Definities.

  3. Selecteer Beleidsdefinitie toevoegen om een nieuwe beleidsdefinitie te maken.

  4. Selecteer voor het veld Definitielocatie de knop Meer om op te geven waar de resource voor het controlebeleid zich bevindt.

  5. Geef een naam op voor het beleid. U kunt desgewenst een beschrijving en categorie opgeven.

  6. Voeg onder Beleidsregel de volgende beleidsdefinitie toe aan de sectie policyRule .

    {
      "policyRule": {
        "if": {
          "allOf": [
            {
              "field": "type",
              "equals": "Microsoft.Storage/storageAccounts"
            },
            {
                "anyOf": [
                  {
                    "field": "Microsoft.Storage/storageAccounts/minimumTlsVersion",
                    "notEquals": "TLS1_2"
                  },
                  {
                    "field": "Microsoft.Storage/storageAccounts/minimumTlsVersion",
                    "exists": "false"
                  }
                ]
            }
          ]
        },
        "then": {
          "effect": "audit"
        }
      }
    }
    
  7. Sla het beleid op.

Het beleid toewijzen

Wijs vervolgens het beleid toe aan een resource. De omvang van het beleid komt overeen met die bron en alle onderliggende bronnen. Raadpleeg Azure Policy-toewijzingsstructuur voor meer informatie over beleidsaanwijzing.

Volg deze stappen om het beleid toe te wijzen met Azure Portal:

  1. Ga naar de Azure Policy-service in de Azure Portal.
  2. Onder de Authoring sectie, selecteer Assignments.
  3. Selecteer Beleid toewijzen om een nieuwe beleidstoewijzing te maken.
  4. Selecteer voor het veld Bereik het bereik van de beleidstoewijzing.
  5. Selecteer voor het veld Beleidsdefinitie de knop Meer en selecteer vervolgens het beleid dat u in de vorige sectie in de lijst hebt gedefinieerd.
  6. Geef een naam op voor de beleidstoewijzing. De beschrijving is optioneel.
  7. Laat Beleidshandhaving ingesteld op Ingeschakeld. Deze instelling heeft geen invloed op het controlebeleid.
  8. Selecteer Beoordelen en maken om de opdracht te maken.

Nalevingsrapport weergeven

Nadat je het beleid hebt toegewezen, bekijk je het compliancerapport. Het nalevingsrapport voor een controlebeleid bevat informatie over welke opslagaccounts niet voldoen aan het beleid. Zie Beleid nalevingsgegevens ophalen voor meer informatie.

Het kan enkele minuten duren voordat het nalevingsrapport beschikbaar is nadat je de beleidstoewijzing hebt gemaakt.

Voer de volgende stappen uit om het nalevingsrapport weer te geven in Azure Portal:

  1. Ga naar de Azure Policy-service in de Azure Portal.

  2. Selecteer Compliance.

  3. Filter de resultaten voor de naam van de beleidstoewijzing die u in de vorige stap hebt gemaakt. In het rapport ziet u hoeveel resources niet voldoen aan het beleid.

  4. Je kunt dieper in het rapport duiken voor meer details, inclusief een lijst van opslagaccounts die niet aan de regels voldoen.

    Schermopname van nalevingsrapport voor controlebeleid voor minimale TLS-versie

Azure Policy gebruiken om de minimale TLS-versie af te dwingen

Azure Policy ondersteunt cloudgovernance door ervoor te zorgen dat Azure-resources voldoen aan vereisten en standaarden. Om een minimale TLS-versievereiste voor de opslagaccounts in je organisatie af te dwingen, kun je een beleid maken dat voorkomt dat een nieuw opslagaccount wordt aangemaakt dat de minimale TLS-eis op een oudere versie van TLS stelt dan het beleid voorschrijft. Dit beleid voorkomt ook alle configuratiewijzigingen aan een bestaand account als de minimale TLS-versie-instelling voor dat account niet voldoet aan het beleid.

Het handhavingsbeleid gebruikt het Deny-effect om te voorkomen dat een verzoek dat een opslagaccount zou maken of wijzigen ertoe leidt dat de minimale TLS-versie niet langer voldoet aan de normen van uw organisatie. Zie Azure Policy-effecten begrijpen voor meer informatie over effecten.

Om een beleid te maken met een Weiger-effect voor een minimale TLS-versie die kleiner is dan TLS 1.2, volg je dezelfde stappen zoals beschreven in Azure Policy gebruiken om te controleren op naleving, maar geef de volgende JSON in het policyRule-gedeelte van de beleidsdefinitie:

{
  "policyRule": {
    "if": {
      "allOf": [
        {
          "field": "type",
          "equals": "Microsoft.Storage/storageAccounts"
        },
        {
            "anyOf": [
              {
                "field": "Microsoft.Storage/storageAccounts/minimumTlsVersion",
                "notEquals": "TLS1_2"
              },
              {
                "field": "Microsoft.Storage/storageAccounts/minimumTlsVersion",
                "exists": "false"
              }
            ]
        }
      ]
    },
    "then": {
      "effect": "deny"
    }
  }
}

Nadat je het beleid met het Deny-effect hebt gemaakt en het aan een scope hebt toegewezen, kan een gebruiker geen opslagaccount aanmaken met een minimale TLS-versie die ouder is dan 1.2. Ook kan een gebruiker geen configuratiewijzigingen aanbrengen aan een bestaand opslagaccount dat momenteel een minimale TLS-versie vereist die ouder is dan 1.2. Als u dit probeert, treedt er een fout op. De vereiste minimale TLS-versie voor het opslagaccount moet zijn ingesteld op 1.2 om door te gaan met het maken of configureren van het account.

In de volgende afbeelding ziet u de fout die optreedt als u probeert een opslagaccount te maken met de minimale TLS-versie die is ingesteld op TLS 1.0 (de standaardinstelling voor een nieuw account) wanneer een beleid met een weigeren-effect vereist dat de minimale TLS-versie is ingesteld op TLS 1.2.

Schermopname van de fout die optreedt bij het maken van een opslagaccount in strijd met het beleid

Machtigingen die nodig zijn om een minimale versie van TLS te vereisen

Om de MinimumTlsVersion-eigenschap voor het opslagaccount in te stellen, heb je rechten nodig om opslagaccounts aan te maken en te beheren. Azure RBAC-rollen (op rollen gebaseerd toegangsbeheer) van Azure die deze machtigingen bieden, omvatten de actie Microsoft.Storage/storageAccounts/write of Microsoft.Storage/storageAccounts/* . Ingebouwde rollen met deze actie zijn onder andere:

Deze functies bieden geen toegang tot gegevens in een opslagaccount via Microsoft Entra ID. Ze bevatten echter de Microsoft.Storage/storageAccounts/listkeys/action, die toegang verleent tot de accounttoegangssleutels. Met deze toestemming kun je de toegangssleutels van het account gebruiken om alle gegevens in een opslagaccount te benaderen.

Roltoewijzingen moeten worden toegewezen op het niveau van het opslagaccount of hoger, zodat je een minimale versie van TLS voor het opslagaccount kunt vereisen. Zie Bereik begrijpen voor Azure RBAC voor meer informatie over rolbereik.

Wees voorzichtig met het beperken van de toewijzing van deze rollen aan degenen die de mogelijkheid nodig hebben om een opslagaccount te maken of de eigenschappen ervan bij te werken. Gebruik het principe van least privilege om ervoor te zorgen dat gebruikers zo min mogelijk rechten hebben om hun taken uit te voeren. Zie Best practices voor Azure RBAC voor meer informatie over het beheren van toegang met Azure RBAC.

Notitie

De klassieke abonnementsbeheerdersrollen Servicebeheerder en Medebeheerder bevatten het equivalent van de rol Azure Resource Manager-eigenaar. De rol Eigenaar bevat alle acties, zodat een gebruiker met een van deze beheerdersrollen ook opslagaccounts kan maken en beheren. Zie Azure-rollen, Microsoft Entra-rollen en klassieke abonnementsbeheerdersrollen voor meer informatie.

Overwegingen voor het netwerk

Wanneer een client een verzoek naar een opslagaccount stuurt, maakt de client eerst verbinding met het publieke eindpunt van het opslagaccount voordat deze verzoeken kan verwerken. De minimale TLS-versie-instelling wordt gecontroleerd nadat de verbinding tot stand is gebracht. Als het verzoek een eerdere versie van TLS gebruikt dan de versie die door de instelling is gespecificeerd, blijft de verbinding slagen, maar het verzoek faalt uiteindelijk. Zie de syntaxis van de resource-URI voor meer informatie over openbare eindpunten voor Azure Storage.

Volgende stappen