Een minimaal vereiste versie van Tls (Transport Layer Security) afdwingen voor aanvragen naar een opslagaccount
Communicatie tussen een clienttoepassing en een Azure Storage-account wordt versleuteld met TLS (Transport Layer Security). 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 momenteel drie versies van het TLS-protocol: 1.0, 1.1 en 1.2. Azure Storage maakt gebruik van TLS 1.2 op openbare HTTPS-eindpunten, maar TLS 1.0 en TLS 1.1 worden nog steeds ondersteund voor achterwaartse compatibiliteit.
Tip
Azure Storage is afhankelijk van de Windows-implementatie van SSL die niet is gebaseerd op OpenSSL en wordt daarom niet blootgesteld aan beveiligingsproblemen met betrekking tot OpenSSL.
Met Azure Storage-accounts kunnen clients gegevens verzenden en ontvangen met de oudste versie van TLS, TLS 1.0 en hoger. Als u strengere beveiligingsmaatregelen wilt afdwingen, kunt u uw opslagaccount zo configureren dat clients gegevens verzenden en ontvangen met een nieuwere versie van TLS. Als voor een opslagaccount een minimale versie van TLS is vereist, mislukken alle aanvragen met een oudere versie.
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 coderingssuite die wordt gebruikt wanneer clients gegevens verzenden naar en ontvangen van een opslagaccount, is afhankelijk van de gebruikte TLS-versie. Het is niet mogelijk om een opslagaccount te configureren om het gebruik van specifieke coderingen te blokkeren, 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.
De TLS-versie detecteren die wordt gebruikt door clienttoepassingen
Wanneer u een minimale TLS-versie voor uw opslagaccount afdwingt, riskeert u het weigeren van aanvragen van clients die gegevens verzenden met een oudere versie van TLS. Als u wilt weten hoe het configureren van de minimale TLS-versie van invloed kan zijn op clienttoepassingen, raadt Microsoft u aan logboekregistratie in te schakelen voor uw Azure Storage-account en de logboeken na een tijdsinterval te analyseren om te detecteren welke versies van TLS-clienttoepassingen worden gebruikt.
Als u aanvragen wilt registreren bij uw Azure Storage-account en de TLS-versie wilt bepalen die door de client wordt gebruikt, kunt u Azure Storage-logboekregistratie in Azure Monitor gebruiken. Zie Azure Storage bewaken voor meer informatie.
Logboekregistratie van Azure Storage in Azure Monitor ondersteunt het gebruik van logboekquery's om logboekgegevens te analyseren. Als u logboeken wilt opvragen, kunt u een Azure Log Analytics-werkruimte gebruiken. Zie Zelfstudie: Aan de slag met Log Analytics-query's voor meer informatie over logboekquery'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:
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.
Ga in het Navigeer naar uw opslagaccount in de Azure-portal.
Selecteer in de sectie Bewaking Diagnostische instellingen.
Selecteer de Azure Storage-service waarvoor u aanvragen wilt registreren. Kies bijvoorbeeld Blob om aanvragen in Blob-opslag te registreren.
Selecteer Diagnostische instellingen toevoegen.
Voer een naam in voor de diagnostische instelling.
Kies onder Categoriedetails in de sectie Logboek welke typen aanvragen moeten worden vastgelegd. U kunt aanvragen voor lezen, schrijven en verwijderen registreren. Als u bijvoorbeeld StorageRead en StorageWrite kiest, worden lees- en schrijfaanvragen naar de geselecteerde service vastgelegd.
Selecteer onder Bestemmingsdetails Verzenden naar Log Analytics. Selecteer uw abonnement en de Log Analytics-werkruimte die u eerder hebt gemaakt, zoals wordt weergegeven in de volgende afbeelding.
Nadat u de diagnostische instelling hebt gemaakt, worden aanvragen voor het opslagaccount vervolgens vastgelegd volgens die instelling. Zie Diagnostische instelling maken voor het verzamelen van resourcelogboeken en metrische gegevens in Azure voor meer informatie.
Zie Resourcelogboeken voor een verwijzing naar velden die beschikbaar zijn in Azure Storage-logboeken in Azure Monitor.
Query's uitvoeren op vastgelegde aanvragen 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:
Query's uitvoeren op geregistreerde aanvragen door het IP-adres van de beller en de header van de gebruikersagent
Azure Storage-logboeken in Azure Monitor bevatten ook het IP-adres van de beller en de header van de gebruikersagent om te evalueren welke clienttoepassingen toegang hebben tot het opslagaccount. U kunt deze waarden analyseren om te bepalen of clienttoepassingen moeten worden bijgewerkt om een nieuwere versie van TLS te gebruiken, of dat het acceptabel is om de aanvraag van een client uit te voeren als deze niet wordt verzonden met de minimale TLS-versie.
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 uit te voeren, 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 u een service gebruikt die verbinding maakt met Azure Storage, moet u ervoor zorgen dat de service de juiste versie van TLS gebruikt om aanvragen naar Azure Storage te verzenden voordat u de vereiste minimale versie 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. Wanneer u een opslagaccount maakt met PowerShell, Azure CLI of een Azure Resource Manager-sjabloon, wordt de eigenschap MinimumTlsVersion niet standaard ingesteld en wordt er pas een waarde geretourneerd als u deze expliciet hebt ingesteld.
Wanneer de eigenschap MinimumTlsVersion niet is ingesteld, kan de waarde ervan worden weergegeven als null of een lege tekenreeks, afhankelijk van de context. Het opslagaccount staat aanvragen toe die worden verzonden met TLS-versie 1.0 of hoger 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:
Notitie
Nadat u de minimale TLS-versie voor het opslagaccount hebt bijgewerkt, kan het tot 30 seconden duren voordat de wijziging volledig wordt 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
Als u de minimaal vereiste TLS-versie wilt controleren voor een set opslagaccounts met optimale prestaties, kunt u Azure Resource Graph Explorer gebruiken in Azure Portal. Zie de quickstart: Uw eerste Resource Graph-query uitvoeren met behulp van Azure Resource Graph Explorer voor meer informatie over het gebruik van 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
Als u wilt testen of de minimaal vereiste TLS-versie voor een opslagaccount aanroepen met een oudere versie verbiedt, kunt u een client configureren voor het gebruik van een oudere versie van TLS. 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 is geconfigureerd voor het account, retourneert Azure Storage foutcode 400-fout (ongeldige aanvraag) en een bericht dat aangeeft dat de GEBRUIKTE TLS-versie niet is toegestaan voor het indienen van aanvragen voor dit opslagaccount.
Notitie
Wanneer u een minimale TLS-versie voor een opslagaccount configureert, wordt die minimale versie afgedwongen op de toepassingslaag. Hulpprogramma's die TLS-ondersteuning op de protocollaag proberen te bepalen, kunnen TLS-versies retourneren naast de minimaal vereiste versie wanneer deze rechtstreeks worden uitgevoerd op het eindpunt van het opslagaccount.
Azure Policy gebruiken om te controleren op naleving
Als u een groot aantal opslagaccounts hebt, kunt u een controle uitvoeren om ervoor te zorgen dat alle accounts zijn geconfigureerd voor de minimale versie van TLS die uw organisatie nodig heeft. 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 u om deze resources te laten voldoen aan uw bedrijfsstandaarden en serviceovereenkomsten. 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 controle-effect maakt een waarschuwing wanneer een resource niet voldoet aan de naleving, maar de aanvraag niet stopt. Zie Azure Policy-effecten begrijpen voor meer informatie over effecten.
Als u een beleid wilt maken met een controle-effect voor de minimale TLS-versie met Azure Portal, voert u de volgende stappen uit:
Navigeer in de Azure-portal naar de Azure Policy-service.
Selecteer Definities in de sectie Ontwerpen.
Selecteer Beleidsdefinitie toevoegen om een nieuwe beleidsdefinitie te maken.
Selecteer voor het veld Definitielocatie de knop Meer om op te geven waar de resource voor het controlebeleid zich bevindt.
Geef een naam op voor het beleid. U kunt desgewenst een beschrijving en categorie opgeven.
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" } } }
Sla het beleid op.
Het beleid toewijzen
Wijs vervolgens het beleid toe aan een resource. Het bereik van het beleid komt overeen met die resource en alle onderliggende resources. Zie de structuur van Azure Policy-toewijzingen voor meer informatie over beleidstoewijzing.
Volg deze stappen om het beleid toe te wijzen met Azure Portal:
- Navigeer in de Azure-portal naar de Azure Policy-service.
- Selecteer Opdrachten in de sectie Ontwerpen.
- Selecteer Beleid toewijzen om een nieuwe beleidstoewijzing te maken.
- Selecteer voor het veld Bereik het bereik van de beleidstoewijzing.
- Selecteer voor het veld Beleidsdefinitie de knop Meer en selecteer vervolgens het beleid dat u in de vorige sectie in de lijst hebt gedefinieerd.
- Geef een naam op voor de beleidstoewijzing. De beschrijving is optioneel.
- Laat beleids afdwingen ingesteld op Ingeschakeld. Deze instelling heeft geen invloed op het controlebeleid.
- Selecteer Beoordelen en maken om de opdracht te maken.
Nalevingsrapport weergeven
Nadat u het beleid hebt toegewezen, kunt u het nalevingsrapport bekijken. Het nalevingsrapport voor een controlebeleid bevat informatie over welke opslagaccounts niet voldoen aan het beleid. Zie Nalevingsgegevens voor beleid ophalen voor meer informatie.
Het kan enkele minuten duren voordat het nalevingsrapport beschikbaar is nadat de beleidstoewijzing is gemaakt.
Voer de volgende stappen uit om het nalevingsrapport weer te geven in Azure Portal:
Navigeer in de Azure-portal naar de Azure Policy-service.
Selecteer Naleving.
Filter de resultaten voor de naam van de beleidstoewijzing die u in de vorige stap hebt gemaakt. Het rapport laat zien hoeveel resources niet voldoen aan het beleid.
U kunt inzoomen op het rapport voor meer informatie, waaronder een lijst met opslagaccounts die niet in overeenstemming zijn.
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. Als u een minimale TLS-versievereiste wilt afdwingen voor de opslagaccounts in uw organisatie, kunt u een beleid maken dat het maken van een nieuw opslagaccount voorkomt dat de minimale TLS-vereiste instelt op een oudere versie van TLS dan die wordt bepaald door het beleid. Dit beleid voorkomt ook dat alle configuratiewijzigingen in een bestaand account worden gewijzigd als de minimale TLS-versie-instelling voor dat account niet compatibel is met het beleid.
Het afdwingingsbeleid maakt gebruik van het effect Weigeren om een aanvraag te voorkomen die een opslagaccount maakt of wijzigt, zodat de minimale TLS-versie niet meer voldoet aan de standaarden van uw organisatie. Zie Azure Policy-effecten begrijpen voor meer informatie over effecten.
Als u een beleid wilt maken met een weigeren-effect voor een minimale TLS-versie die kleiner is dan TLS 1.2, volgt u dezelfde stappen die worden beschreven in Azure Policy gebruiken om te controleren op naleving, maar geeft u de volgende JSON op in de sectie policyRule 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 u het beleid hebt gemaakt met het effect Weigeren en dit hebt toegewezen aan een bereik, kan een gebruiker geen opslagaccount maken met een minimale TLS-versie die ouder is dan 1.2. Een gebruiker kan geen configuratiewijzigingen aanbrengen in een bestaand opslagaccount waarvoor momenteel een minimale TLS-versie is 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.
Machtigingen die nodig zijn om een minimale versie van TLS te vereisen
Als u de eigenschap MinimumTlsVersion voor het opslagaccount wilt instellen, moet een gebruiker machtigingen hebben voor het maken en beheren van opslagaccounts. 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:
- De rol Eigenaar voor Azure Resource Managers
- De rol Inzender voor Azure Resource Managers
- De rol Eigenaar in het opslagaccount
Deze rollen 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 machtiging kan een gebruiker de toegangssleutels voor het account gebruiken om toegang te krijgen tot alle gegevens in een opslagaccount.
Roltoewijzingen moeten worden toegewezen aan het niveau van het opslagaccount of hoger om een gebruiker toe te staan een minimale versie van TLS voor het opslagaccount te 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 minimale bevoegdheden om ervoor te zorgen dat gebruikers de minste machtigingen hebben die ze nodig 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 aanvraag naar het opslagaccount verzendt, brengt de client eerst een verbinding tot stand met het openbare eindpunt van het opslagaccount voordat deze aanvragen verwerkt. De minimale TLS-versie-instelling wordt gecontroleerd nadat de verbinding tot stand is gebracht. Als de aanvraag een eerdere versie van TLS gebruikt dan die is opgegeven door de instelling, blijft de verbinding slagen, maar mislukt de aanvraag uiteindelijk. Zie de syntaxis van de resource-URI voor meer informatie over openbare eindpunten voor Azure Storage.