Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
✔️ Gäller för: Azure Blob Storage, Azure Data Lake Storage, Azure Queue Storage, Azure Table Storage
✖️ Gäller inte: Azure Files (Microsoft.Storage eller Microsoft.FileShares)
Kommunikationen mellan en klientapplikation och ett Azure Storage-konto krypteras med Transport Layer Security (TLS). TLS är ett kryptografiskt standardprotokoll som säkerställer sekretess och dataintegritet mellan klienter och tjänster via Internet. Mer information om TLS finns i Transport Layer Security.
Azure Storage stöder två versioner av TLS-protokollet: 1.2 och 1.3. Även om Azure Storage nu stöder TLS 1.3 har det för närvarande inte stöd för att kräva TLS 1.3 som lägsta TLS-version för Azure Storage-konton. Den rekommenderade lägsta TLS-versionen är TLS 1.2. Klienter som använder de senaste TLS-versionerna förhandlar automatiskt om att använda TLS 1.3 om det finns tillgängligt.
Tips
Azure Storage förlitar sig på Windows-implementering av SSL som inte baseras på OpenSSL och därför inte exponeras för OpenSSL-relaterade säkerhetsrisker.
Med Azure Storage-konton kan klienter skicka och ta emot data med TLS-version 1.2 och senare. När ett lagringskonto kräver en minsta TLS-version misslyckas alla förfrågningar som använder en äldre version.
Den här artikeln beskriver hur du använder ett DRAG-ramverk (Detection-Remediation-Audit-Governance) för att kontinuerligt hantera säker TLS för dina lagringskonton.
Information om hur du anger en viss version av TLS när du skickar en begäran från ett klientprogram finns i Konfigurera Transport Layer Security (TLS) för ett klientprogram.
Kommentar
Chiffersviten som används när klienter skickar data till och tar emot data från ett lagringskonto beror på vilken TLS-version som används. Du kan inte konfigurera ett lagringskonto för att blockera användningen av specifika chiffer, annat än att kräva en minsta TLS-version. Om du behöver möjligheten att endast tillåta specifika chiffersviter när du ansluter till ditt lagringskonto bör du överväga att använda Azure Application Gateway. Mer information om hur du använder Application Gateway för detta ändamål finns i Konfigurera TLS-principversioner och chiffersviter på Azure Application Gateway.
För Azure Files, se FileREST-kryptering vid överföring. Lagringskonton som innehåller Azure-fildelningar använder samma inställning, men artikeln i Azure Files beskriver överväganden för Azure Files.
Identifiera den TLS-version som används av klientprogram
När du upprätthåller en minsta TLS-version för ditt lagringskonto riskerar du att avvisa förfrågningar från klienter som använder en äldre version av TLS. För att förstå hur konfiguration av minsta TLS-version påverkar klientapplikationer rekommenderar Microsoft att du aktiverar loggning för ditt Azure Storage-konto och analyserar loggarna efter en viss tid för att upptäcka vilka TLS-versioner klientapplikationer använder.
För att logga förfrågningar till ditt Azure Storage-konto och avgöra vilken TLS-version klienten använder, använd Azure Storage-loggning i Azure Monitor. Mer information finns i Övervaka Azure Storage.
Azure Storage-loggning i Azure Monitor stöder användning av loggfrågor för att analysera loggdata. För att söka loggar, använd en arbetsyta i Azure Log Analytics. Mer information om loggfrågor finns i Självstudie: Kom igång med Log Analytics-frågor.
Om du vill logga Azure Storage-data med Azure Monitor och analysera dem med Azure Log Analytics måste du först skapa en diagnostikinställning som anger vilka typer av begäranden och för vilka lagringstjänster du vill logga data för. Följ dessa steg om du vill skapa en diagnostikinställning i Azure-portal:
Skapa en ny Log Analytics-arbetsyta i prenumerationen som innehåller ditt Azure Storage-konto. När du har konfigurerat loggning för ditt lagringskonto är loggarna tillgängliga på Log Analytics-arbetsytan. Mer information finns i Skapa en Log Analytics-arbetsyta i Azure-portal.
Gå till ditt lagringskonto i Azure-portalen.
I avsnittet Övervakning, välj Diagnostikinställningar.
Välj den Azure Storage-tjänst som du vill logga begäranden för. Välj till exempel Blob för att logga begäranden till Blob Storage.
Välj Lägg till diagnostikinställning.
Tillhandahåll ett namn för diagnostikinställningen.
Under Kategoriinformation går du till loggavsnittet och väljer vilka typer av begäranden som ska loggas. Du kan logga läs-, skriv- och borttagningsbegäranden. Till exempel loggas läs- och skrivförfrågningar för den valda tjänsten om du väljer StorageRead och StorageWrite.
Under Målinformation, select Skicka till Log Analytics. Välj din prenumeration och Log Analytics-arbetsytan som du skapade tidigare, enligt följande bild.
Efter att du skapat diagnostikinställningen loggar lagringskontot förfrågningar enligt den inställningen. Mer information finns i Skapa diagnostikinställning för att samla in resursloggar och mått i Azure.
En referens för fält som är tillgängliga i Azure Storage-loggar i Azure Monitor finns i Resursloggar.
Fråga efter loggade begäranden per TLS-version
Azure Storage-loggar i Azure Monitor innehåller TLS-versionen som används för att skicka en begäran till ett lagringskonto. Använd egenskapen TlsVersion för att kontrollera TLS-versionen av en loggad begäran.
Om du vill ta reda på hur många begäranden som har gjorts mot Blob Storage med olika versioner av TLS under de senaste sju dagarna öppnar du Log Analytics-arbetsytan. Klistra sedan in följande fråga i en ny loggfråga och kör den. Kom ihåg att ersätta platshållarvärdena inom hakparenteser med dina egna värden:
StorageBlobLogs
| where TimeGenerated > ago(7d) and AccountName == "<account-name>"
| summarize count() by TlsVersion
Resultatet visar antalet begäranden som görs med varje version av TLS:
Fråga loggade begäranden efter anroparens IP-adress och användaragenthuvud
Azure Storage-loggar i Azure Monitor inkluderar också anroparens IP-adress och användaragenthuvud för att hjälpa dig utvärdera vilka klientapplikationer som har haft åtkomst till lagringskontot. Du kan analysera dessa värden för att avgöra om klientapplikationer måste uppdateras för att använda en nyare version av TLS, eller om det är acceptabelt att neka en klients begäran om den inte skickas med den lägsta TLS-versionen.
Om du vill ta reda på vilka klienter som har gjort begäranden med en version av TLS som är äldre än TLS 1.2 under de senaste sju dagarna klistrar du in följande fråga i en ny loggfråga och kör den. Kom ihåg att ersätta platshållarvärdena inom hakparenteser med dina egna värden:
StorageBlobLogs
| where TimeGenerated > ago(7d) and AccountName == "<account-name>" and TlsVersion != "TLS 1.2"
| project TlsVersion, CallerIpAddress, UserAgentHeader
Åtgärda säkerhetsrisker med en lägsta version av TLS
När du är säker på att trafik från klienter som använder äldre versioner av TLS är minimal eller att det är acceptabelt att misslyckas med begäranden som görs med en äldre version av TLS, kan du börja tillämpa en lägsta TLS-version på ditt lagringskonto. Att kräva att klienter använder en lägsta version av TLS för att göra begäranden mot ett lagringskonto är en del av en strategi för att minimera säkerhetsriskerna för dina data.
Viktigt!
Om du använder en tjänst som ansluter till Azure Storage, se till att den tjänsten använder rätt version av TLS för att skicka förfrågningar till Azure Storage innan du sätter den minsta versionen för ett lagringskonto.
Konfigurera den lägsta TLS-versionen för ett lagringskonto
Om du vill konfigurera den lägsta TLS-versionen för ett lagringskonto anger du MinimumTlsVersion-versionen för kontot. Den här egenskapen är tillgänglig för alla lagringskonton som skapas med Azure Resource Manager-distributionsmodellen. Mer information om Azure Resource Manager-distributionsmodellen finns i Översikt över lagringskonto.
Standardvärdet för egenskapen MinimumTlsVersion skiljer sig beroende på hur du ställer in den. När du skapar ett lagringskonto med Azure Portal är den lägsta TLS-versionen inställd på 1.2 som standard. När man skapar ett lagringskonto med PowerShell, Azure CLI eller en Azure Resource Manager-mall är egenskapen MinimumTlsVersion inte inställd som standard och returnerar inget värde förrän du uttryckligen konfigurerar det.
När egenskapen MinimumTlsVersion inte är satt kan dess värde visas som antingen null eller en tom sträng, beroende på kontexten. Lagringskontot tillåter förfrågningar skickade med TLS version 1.0 eller högre om egenskapen inte är satt.
När du skapar ett lagringskonto med Azure Portal är den lägsta TLS-versionen inställd på 1.2 som standard.
Följ dessa steg för att konfigurera den lägsta TLS-versionen för ett befintligt lagringskonto med Azure Portal:
Kommentar
Efter att du uppdaterat minsta TLS-versionen för lagringskontot kan det ta upp till 30 sekunder innan ändringen är helt spridd.
För att konfigurera den lägsta TLS-versionen krävs version 2019-04-01 eller senare av Azure Storage-resursprovidern. Mer information finns i REST API för Azure Storage-resursprovider.
Kontrollera den lägsta TLS-versionen som krävs för flera konton
För att kontrollera den lägsta TLS-version som krävs över en uppsättning lagringskonton med optimal prestanda, använd Azure Resource Graph Explorer i Azure-portalen. Mer information om hur du använder Resource Graph Explorer finns i Snabbstart: Kör din första Resource Graph-fråga med Azure Resource Graph Explorer.
När du kör följande fråga i Resource Graph Explorer returneras en lista över lagringskonton och den lägsta TLS-versionen för varje konto visas:
resources
| where type =~ 'Microsoft.Storage/storageAccounts'
| extend minimumTlsVersion = parse_json(properties).minimumTlsVersion
| project subscriptionId, resourceGroup, name, minimumTlsVersion
Testa den lägsta TLS-versionen från en klient
För att testa att den minsta TLS-versionen för ett lagringskonto förbjuder anrop med en äldre version, konfigurera en klient att använda en äldre version av TLS. Mer information om hur du konfigurerar en klient för att använda en viss version av TLS finns i Konfigurera TLS (Transport Layer Security) för ett klientprogram.
När en klient får tillgång till ett lagringskonto med en TLS-version som inte uppfyller den minsta TLS-versionen konfigurerad för kontot, returnerar Azure Storage felkod 400 (Bad Request) och ett meddelande som indikerar att TLS-versionen inte är tillåten för att göra förfrågningar mot detta lagringskonto.
Kommentar
När du konfigurerar en minsta TLS-version för ett lagringskonto, upprätthåller applikationslagret den minimiversionen. Verktyg som försöker fastställa TLS-stöd på protokolllagret kan returnera TLS-versioner utöver den minsta nödvändiga versionen när de körs direkt mot lagringskontots endpoint.
Använda Azure Policy för att granska efterlevnad
Om du har ett stort antal lagringskonton kan du vilja göra en revision för att säkerställa att alla konton är konfigurerade för den minsta versionen av TLS som din organisation kräver. Om du vill granska en uppsättning lagringskonton för deras efterlevnad använder du Azure Policy. Azure Policy är en tjänst som du kan använda för att skapa, tilldela och hantera principer som tillämpar regler för Azure-resurser. Azure Policy hjälper dig att hålla dessa resurser så att de uppfyller dina företagsstandarder och servicenivåavtal. Mer information finns i Översikt över Azure Policy.
Skapa en princip med en granskningseffekt
Azure Policy stöder effekter som avgör vad som händer när en principregel utvärderas mot en resurs. Audit-effekten skapar en varning när en resurs inte följer reglerna, men den stoppar inte förfrågan. Mer information om effekter finns i Förstå Azure Policy-effekter.
För att skapa en policy med en Granska-effekt för den minsta TLS-versionen med hjälp av Azure-portalen följer du dessa steg:
I Azure-portalen går du till tjänsten Azure Policy.
Under avsnittet Redigering väljer du Definitioner.
Välj Lägg till principdefinition för att skapa en ny principdefinition.
I fältet Definitionsplats väljer du knappen Mer för att ange var resursen för granskningsprinciper finns.
Ange ett namn för principen. Du kan även ange en beskrivning och kategori.
Under Principregel lägger du till följande principdefinition i avsnittet 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" } } }Spara principen.
Tilldela policyn
Tilldela sedan principen till en resurs. Omfånget för policyn motsvarar den resursen och eventuella underliggande resurser. Mer information om principtilldelning finns i Azure Policy-tilldelningsstruktur.
Följ dessa steg för att tilldela principen till Azure-portalen:
- I Azure-portalen går du till tjänsten Azure Policy.
- Under avsnittet Redigering väljer du Tilldelningar.
- Välj Tilldela princip för att skapa en ny principtilldelning.
- I fältet Omfång väljer du omfånget för principtilldelningen.
- I fältet Principdefinition väljer du knappen Mer och väljer sedan den princip som du definierade i föregående avsnitt i listan.
- Ange ett namn för principtilldelningen. Beskrivningen är valfri.
- Lämna Principtillämpning inställd på Aktiverad. Den här inställningen påverkar inte granskningsprincipen.
- Välj Granska + skapa för att skapa uppgiften.
Visa efterlevnadsrapport
Efter att du tilldelat policyn, titta på efterlevnadsrapporten. Efterlevnadsrapporten för en granskningsprincip innehåller information om vilka lagringskonton som inte följer principen. Mer information finns i Hämta principefterlevnadsdata.
Det kan ta flera minuter innan efterlevnadsrapporten blir tillgänglig efter att du skapat principtilldelningen.
Följ dessa steg om du vill visa efterlevnadsrapporten i Azure Portal:
I Azure-portalen går du till tjänsten Azure Policy.
Välj Efterlevnad.
Filtrera resultatet efter namnet på den principtilldelning som du skapade i föregående steg. Rapporten visar hur många resurser som inte följer principen.
Du kan gå djupare i rapporten för fler detaljer, inklusive en lista över lagringskonton som inte följer reglerna.
Använda Azure Policy för att framtvinga den lägsta TLS-versionen
Azure Policy stöder molnstyrning genom att se till att Azure-resurser följer krav och standarder. För att upprätthålla ett minimikrav på TLS-versionen för lagringskontona i din organisation kan du skapa en policy som förhindrar skapandet av ett nytt lagringskonto som sätter minimikravet på TLS till en äldre version av TLS än vad policyn föreskriver. Denna policy förhindrar också alla konfigurationsändringar på ett befintligt konto om den minsta TLS-versionen för det kontot inte uppfyller policyn.
Principen för framtvingande använder Deny-effekten för att förhindra en förfrågan som skulle skapa eller ändra ett lagringskonto så att den lägsta TLS-versionen inte längre följer organisationens standarder. Mer information om effekter finns i Förstå Azure Policy-effekter.
För att skapa en policy med en Deny-effekt för en minsta TLS-version som är mindre än TLS 1.2, följ samma steg som beskrivs i Use Azure Policy för att granska efterlevnad, men ange följande JSON i policyRule-avsnittet i policydefinitionen:
{
"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"
}
}
}
Efter att du skapat policyn med Deny-effekten och tilldelat den till ett scope kan en användare inte skapa ett lagringskonto med en minsta TLS-version som är äldre än 1.2. Inte heller kan en användare göra några konfigurationsändringar på ett befintligt lagringskonto som för närvarande kräver en minsta TLS-version som är äldre än 1.2. Om du försöker göra det resulterar det i ett fel. Den lägsta TLS-version som krävs för lagringskontot måste anges till 1.2 för att kunna fortsätta med att skapa eller konfigurera kontot.
Följande bild visar felet som uppstår om du försöker skapa ett lagringskonto med den lägsta TLS-versionen inställd på TLS 1.0 (standardvärdet för ett nytt konto) när en princip med en neka-effekt kräver att den lägsta TLS-versionen är inställd på TLS 1.2.
Behörigheter som krävs för att kräva en lägsta version av TLS
För att ställa in egenskapen MinimumTlsVersion för lagringskontot behöver du behörigheter för att skapa och hantera lagringskonton. Rollbaserade Azure-åtkomstkontrollroller (Azure RBAC) som ger dessa behörigheter omfattar åtgärden Microsoft.Storage/storageAccounts/write eller Microsoft.Storage/storageAccounts/* . Inbyggda roller med den här åtgärden är:
- Azure Resource Manager Ägarrollen
- Azure Resource Manager rollen Contributor
- Lagringskontomedverkande
Dessa roller ger inte tillgång till data i ett lagringskonto via Microsoft Entra ID. De innehåller dock åtgärden Microsoft.Storage/storageAccounts/listkeys/action, som ger åtkomst till kontoåtkomstnycklarna. Med denna behörighet kan du använda kontots åtkomstnycklar för att komma åt all data i ett lagringskonto.
Rolltilldelningar måste omfatta lagringskontonivån eller högre för att tillåta att du kan kräva en minsta version av TLS för lagringskontot. Mer information om rollomfång finns i Förstå omfånget för Azure RBAC.
Var noga med att begränsa tilldelningen av dessa roller endast till dem som behöver möjligheten att skapa ett lagringskonto eller uppdatera dess egenskaper. Använd principen om minsta privilegium för att säkerställa att användarna har så få behörigheter som krävs för att utföra sina uppgifter. Mer information om hur du hanterar åtkomst med Azure RBAC finns i Metodtips för Azure RBAC.
Kommentar
De klassiska prenumerationsadministratörsrollerna Tjänstadministratör och medadministratör innehåller motsvarigheten till rollen Azure Resource Manager-ägare. Rollen Ägare innehåller alla åtgärder, så att en användare med någon av dessa administrativa roller också kan skapa och hantera lagringskonton. Mer information finns i Azure-roller , Microsoft Entra-roller och klassiska prenumerationsadministratörsroller.
Nätverksöverväganden
När en klient skickar en förfrågan till ett lagringskonto ansluter klienten först till lagringskontots publika endpoint innan några förfrågningar behandlas. Inställningen för lägsta TLS-version kontrolleras när anslutningen har upprättats. Om förfrågan använder en tidigare version av TLS än den version som anges av inställningen fortsätter anslutningen att lyckas, men förfrågan misslyckas till slut. Mer information om offentliga slutpunkter för Azure Storage finns i Resurs-URI-syntax.