Best practices voor het beveiligen van PaaS-web- en mobiele toepassingen met Azure Storage

In dit artikel bespreken we een verzameling van Azure Storage beveiligingsprocedures voor het beveiligen van uw PaaS-webtoepassingen (Platform-as-a-Service) en mobiele toepassingen. Deze best practices zijn afgeleid van onze ervaring met Azure en de ervaringen van klanten zoals uzelf.

Azure maakt het mogelijk om opslag te implementeren en te gebruiken op manieren die on-premises niet eenvoudig te bereiken zijn. Met Azure Storage kunt u met relatief weinig moeite hoge schaalbaarheids- en beschikbaarheidsniveaus bereiken. Niet alleen is Azure Storage de basis voor Windows En Linux Azure Virtual Machines, het kan ook grote gedistribueerde toepassingen ondersteunen.

Azure Storage biedt de volgende vier services: Blob Storage, Table Storage, Queue Storage en File Storage. Zie Inleiding tot Microsoft Azure Storage voor meer informatie.

De Azure Storage is een uitstekende bron voor gedetailleerde informatie over Azure Storage en beveiliging. In dit artikel met best practices worden enkele van de concepten uit de beveiligingshandleiding en koppelingen naar de beveiligingshandleiding, evenals andere bronnen, voor meer informatie beschreven.

In dit artikel worden de volgende best practices beschreven:

  • Shared Access Signatures (SAS)
  • Azure RBAC (op rollen gebaseerd toegangsbeheer van Azure)
  • Versleuteling aan de clientzijde voor gegevens met een hoge waarde
  • Storage Service Encryption

Een Shared Access Signature gebruiken in plaats van een opslagaccountsleutel

Toegangsbeheer is essentieel. Om u te helpen de toegang tot Azure Storage, genereert Azure twee 512-bits opslagaccountsleutels (SAK's) wanneer u een opslagaccount maakt. Het niveau van sleutel redundantie maakt het mogelijk voor u om serviceonderbrekingen tijdens routinematige sleutelrotatie te voorkomen.

Storage zijn geheimen met hoge prioriteit en mogen alleen toegankelijk zijn voor degenen die verantwoordelijk zijn voor toegangsbeheer voor opslag. Als de verkeerde personen toegang krijgen tot deze sleutels, hebben ze volledige controle over de opslag en kunnen ze bestanden vervangen, verwijderen of toevoegen aan de opslag. Dit omvat malware en andere soorten inhoud die mogelijk uw organisatie of uw klanten in gevaar kunnen brengen.

U hebt nog steeds een manier nodig om toegang te bieden tot objecten in de opslag. Als u gedetailleerdere toegang wilt bieden, kunt u profiteren van Shared Access Signature (SAS). Met de SAS kunt u specifieke objecten in de opslag delen voor een vooraf gedefinieerd tijdsinterval en met specifieke machtigingen. Met een shared access signature kunt u het volgende definiëren:

  • Het interval waarover de SAS geldig is, met inbegrip van de begintijd en de verlooptijd.
  • De machtigingen die worden verleend door de SAS. Een SAS op een blob kan bijvoorbeeld een gebruiker lees- en schrijfmachtigingen verlenen voor die blob, maar geen machtigingen voor verwijderen.
  • Een optioneel IP-adres of bereik van IP-adressen van waaruit Azure Storage sas accepteert. U kunt bijvoorbeeld een bereik opgeven van IP-adressen die tot uw organisatie behoren. Dit biedt een andere mate van beveiliging voor uw SAS.
  • Het protocol waarover Azure Storage sas accepteert. U kunt deze optionele parameter gebruiken om de toegang tot clients te beperken met https.

Met SAS kunt u inhoud delen op de manier waarop u deze wilt delen zonder uw opslagaccountsleutels weg te geven. Het altijd gebruiken van SAS in uw toepassing is een veilige manier om uw opslagbronnen te delen zonder dat dit ten koste gaat van de sleutels van uw opslagaccount.

Zie Handtekeningen voor gedeelde toegang gebruiken voor meer informatie over Shared Access Signature.

Op rollen gebaseerd toegangsbeheer van Azure gebruiken

Een andere manier om toegang te beheren, is met op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC). Met Azure RBAC richt u zich op het geven van werknemers de exacte machtigingen die ze nodig hebben, op basis van de noodzaak om de beveiligingsprincipes te kennen en de beveiligingsprincipes met minste bevoegdheden te kennen. Te veel machtigingen kunnen een account blootstellen aan aanvallers. Te weinig machtigingen betekent dat werknemers hun werk niet efficiënt kunnen doen. Azure RBAC helpt dit probleem op te lossen door een fijner toegangsbeheer voor Azure aan te bieden. Dit is belangrijk voor organisaties die beveiligingsbeleid willen afdwingen voor gegevenstoegang.

U kunt ingebouwde Azure-rollen in Azure gebruiken om bevoegdheden toe te wijzen aan gebruikers. Gebruik bijvoorbeeld de Storage accountbijdrager voor cloudoperators die opslagaccounts moeten beheren en de rol Storage klassieke opslagaccounts moeten beheren. Voor cloudoperators die VM's moeten beheren, maar niet het virtuele netwerk of het opslagaccount waarmee ze zijn verbonden, kunt u ze toevoegen aan de rol Inzender voor virtuele machines.

Organisaties die geen toegangsbeheer voor gegevens afdwingen met behulp van mogelijkheden zoals Azure RBAC, kunnen meer bevoegdheden verlenen dan nodig is voor hun gebruikers. Dit kan leiden tot gegevenscompromitteerd door sommige gebruikers toegang te verlenen tot gegevens die ze in de eerste plaats niet mogen hebben.

Zie voor meer informatie over Azure RBAC:

Versleuteling aan de clientzijde gebruiken voor gegevens met een hoge waarde

Met versleuteling aan de clientzijde kunt u gegevens die onderweg zijn programmatisch versleutelen voordat u ze uploadt naar Azure Storage en programmatisch gegevens ontsleutelen wanneer u ze opvraagt. Dit biedt versleuteling van gegevens die onderweg zijn, maar biedt ook versleuteling van data-at-rest. Versleuteling aan de clientzijde is de veiligste methode voor het versleutelen van uw gegevens, maar u moet wel programmatische wijzigingen aanbrengen in uw toepassing en processen voor sleutelbeheer toepassen.

Met versleuteling aan de clientzijde hebt u ook de volledige controle over uw versleutelingssleutels. U kunt uw eigen versleutelingssleutels genereren en beheren. Er wordt gebruikgemaakt van een enveloptechniek waarbij de Azure Storage-clientbibliotheek een inhoudsversleutelingssleutel (CEK) genereert die vervolgens wordt verpakt (versleuteld) met behulp van de sleutelversleutelingssleutel (KEK). De KEK wordt geïdentificeerd door een sleutel-id en kan een asymmetrisch sleutelpaar of een symmetrische sleutel zijn en kan lokaal worden beheerd of opgeslagen in Azure Key Vault.

Versleuteling aan de clientzijde is ingebouwd in de Java- en .NET-opslagclientbibliotheken. Zie Client-side encryption and Azure Key Vault for Microsoft Azure Storage (Versleuteling aan de clientzijde en -beveiliging) Microsoft Azure Storage informatie over het versleutelen van gegevens in clienttoepassingen en het genereren en beheren van uw eigen versleutelingssleutels.

Versleuteling Storage service inschakelen voor data-at-rest

Wanneer Storage Service Encryption for File Storage is ingeschakeld, worden de gegevens automatisch versleuteld met AES-256-versleuteling. Microsoft verwerkt alle versleuteling, ontsleuteling en sleutelbeheer. Deze functie is beschikbaar voor LRS- en GRS-redundantietypen.

Volgende stappen

In dit artikel hebt u kennis kunnen maken met een aantal Azure Storage beveiligingsprocedures voor het beveiligen van uw PaaS-web- en mobiele toepassingen. Zie voor meer informatie over het beveiligen van uw PaaS-implementaties: