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

In dit artikel bespreken we een verzameling best practices voor Azure Storage-beveiliging 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 realiseren zijn. Met Azure Storage kunt u met relatief weinig moeite hoge schaalbaarheids- en beschikbaarheidsniveaus bereiken. Azure Storage is niet alleen de basis voor Windows en Linux Azure Virtual Machines, het biedt ook ondersteuning voor grote gedistribueerde toepassingen.

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.

In dit artikel worden de volgende aanbevolen procedures behandeld:

  • Shared Access Signatures (SAS)
  • Azure RBAC (op rollen gebaseerd toegangsbeheer van Azure)
  • Versleuteling aan clientzijde voor gegevens van 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 te beheren, genereert Azure twee 512-bits opslagaccountsleutels (SAK's) wanneer u een opslagaccount maakt. Het niveau van sleutelredundantie maakt het mogelijk om serviceonderbrekingen tijdens het draaien van de routinesleutel te voorkomen.

Toegangssleutels voor opslag hebben hoge prioriteit en mogen alleen toegankelijk zijn voor personen 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 komen.

U hebt nog steeds een manier nodig om toegang te bieden tot objecten in de opslag. Als u gedetailleerdere toegang wilt bieden, kunt u gebruikmaken van Shared Access Signature (SAS). Met de SAS kunt u specifieke objecten in de opslag delen gedurende 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, inclusief de begintijd en de verlooptijd.
  • De machtigingen die worden verleend door de SAS. Een SAS in een blob kan een gebruiker bijvoorbeeld lees- en schrijfmachtigingen verlenen aan die blob, maar geen machtigingen voor verwijderen.
  • Een optioneel IP-adres of een bereik van IP-adressen waarvan Azure Storage de SAS accepteert. U kunt bijvoorbeeld een bereik van IP-adressen opgeven die tot uw organisatie behoren. Dit biedt een andere beveiligingsmaatregel voor uw SAS.
  • Het protocol waarvoor Azure Storage de SAS accepteert. U kunt deze optionele parameter gebruiken om de toegang tot clients via HTTPS te beperken.

Met SAS kunt u inhoud delen op de manier waarop u deze wilt delen zonder uw opslagaccountsleutels weg te geven. Altijd SAS gebruiken in uw toepassing is een veilige manier om uw opslagresources te delen zonder uw opslagaccountsleutels in gevaar te brengen.

Zie Shared Access Signatures gebruiken voor meer informatie over Shared Access Signature.

Op rollen gebaseerd toegangsbeheer van Azure gebruiken

Een andere manier om toegang te beheren, is door op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) te gebruiken. Met Azure RBAC richt u zich op het geven van werknemers de exacte machtigingen die ze nodig hebben, op basis van de noodzaak om te weten en de beveiligingsprincipes met minimale bevoegdheden. 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 gedetailleerd toegangsbeheer voor Azure aan te bieden. Toegangsbeheer is essentieel voor organisaties die beveiligingsbeleid voor gegevenstoegang willen afdwingen.

U kunt ingebouwde Azure-rollen in Azure gebruiken om bevoegdheden toe te wijzen aan gebruikers. Gebruik bijvoorbeeld Inzender voor opslagaccounts voor cloudoperators die opslagaccounts moeten beheren en de rol Inzender voor klassieke opslagaccounts om klassieke opslagaccounts te 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, geven hun gebruikers mogelijk meer bevoegdheden dan nodig is. Meer bevoegdheden dan nodig zijn, kunnen leiden tot inbreuk op gegevens doordat sommige gebruikers toegang hebben tot gegevens die ze in de eerste plaats niet mogen hebben.

Zie voor meer informatie over Azure RBAC:

Versleuteling aan clientzijde gebruiken voor hoogwaardige gegevens

Met versleuteling aan de clientzijde kunt u gegevens die onderweg zijn programmatisch versleutelen voordat u uploadt naar Azure Storage, en gegevens programmatisch ontsleutelen bij het ophalen ervan. Versleuteling aan de clientzijde 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 hiervoor moet u programmatische wijzigingen aanbrengen in uw toepassing en sleutelbeheerprocessen instellen.

Met versleuteling aan de clientzijde hebt u ook de volledige controle over uw versleutelingssleutels. U kunt uw eigen versleutelingssleutels genereren en beheren. Er wordt een enveloptechniek gebruikt 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 clientbibliotheken van Java en .NET Storage. Zie Versleuteling aan de clientzijde en Azure Key Vault voor Microsoft Azure Storage voor informatie over het versleutelen van gegevens in clienttoepassingen en het genereren en beheren van uw eigen versleutelingssleutels.

Opslagserviceversleuteling inschakelen voor data-at-rest

Wanneer Opslagserviceversleuteling voor Bestandsopslag is ingeschakeld, worden de gegevens automatisch versleuteld met behulp van AES-256-versleuteling. Microsoft zorgt voor alle versleuteling, ontsleuteling en sleutelbeheer. Deze functie is beschikbaar voor LRS- en GRS-redundantietypen.

Volgende stappen

In dit artikel hebt u kennisgemaakt met een verzameling best practices voor Azure Storage-beveiliging voor het beveiligen van uw PaaS-web- en mobiele toepassingen. Zie voor meer informatie over het beveiligen van uw PaaS-implementaties: