Delen via


Aanbevolen procedures voor het beveiligen van geheimen

Dit artikel bevat richtlijnen voor het beveiligen van uw geheimen en het verminderen van het risico op onbevoegde toegang. Volg deze richtlijnen om ervoor te zorgen dat u geen gevoelige informatie opslaat, zoals referenties in code, GitHub-opslagplaatsen, logboeken, CI/CD-pijplijnen (continue integratie/continue implementatie), enzovoort. De richtlijnen in dit artikel worden samengesteld op basis van aanbevelingen van afzonderlijke services, evenals van de Microsoft Cloud Security Benchmark (MCSB).

Algemene aanbevolen procedures

In het digitale landschap van vandaag is het beveiligen van gevoelige informatie, zoals toepassingsreferenties en geheimen, van cruciaal belang. Een schending kan leiden tot ernstige gevolgen, waaronder gegevensverlies, financiële sancties en schade aan reputatie. Het implementeren van een uitgebreide strategie voor geheimbeheer is essentieel om deze risico's te beperken.

Een controle uitvoeren om geheimen te identificeren

Voordat u uw geheimen kunt beveiligen, moet u weten waar ze zich bevinden. Het uitvoeren van een grondige controle van uw systemen en toepassingen helpt bij het identificeren van alle gevoelige informatie die bescherming nodig heeft. Dit omvat wachtwoorden, API-sleutels, verbindingsreeks s en andere referenties. Regelmatige controles zorgen ervoor dat nieuwe geheimen worden verantwoordelijk en dat bestaande geheimen correct worden beheerd.

Het is belangrijk te weten dat zelfs dynamisch gemaakte geheimen, zoals OAuth-tokens, die tijdelijk kunnen zijn, nog steeds moeten worden beveiligd met dezelfde rigor als langetermijngeheimen.

Coderen van geheimen voorkomen

Het rechtstreeks insluiten van geheimen in uw code- of configuratiebestanden is een aanzienlijk beveiligingsrisico. Als uw codebase is gecompromitteerd, zijn dit uw geheimen. Gebruik in plaats daarvan omgevingsvariabelen of hulpprogramma's voor configuratiebeheer die geheimen buiten uw broncode houden. Deze procedure minimaliseert het risico op onbedoelde blootstelling en vereenvoudigt het proces van het bijwerken van geheimen.

Bovendien kan het integreren van geheim ophalen in uw geautomatiseerde implementatiepijplijn en het gebruik van geheime injectiepatronen voorkomen dat geheimen per ongeluk worden weergegeven in logboeken of versiebeheer, waardoor de beveiliging van uw implementatieproces verder wordt verbeterd.

Zie Aanbevelingen voor het beveiligen van toepassingsgeheimen

Beveiligde sleutelarchieven gebruiken

Door gebruik te maken van beveiligde sleutelarchieven, zorgt u ervoor dat uw geheimen worden opgeslagen op een veilige, versleutelde locatie. Services zoals Azure Key Vault en Azure Managed HSM bieden robuuste beveiligingsfuncties, waaronder toegangsbeheer, logboekregistratie en automatische rotatie. Deze aanpak centraliseert het beheer van uw geheimen en vermindert het risico op onbevoegde toegang.

Voor nog meer beveiliging, met name voor zeer gevoelige of kritieke geheimen, kunt u overwegen het geheim te versleutelen met een sleutelarchief in een HSM (Hardware Security Model), dat verbeterde beveiliging biedt in vergelijking met op software gebaseerde geheime winkels. Zie Sleutelbeheer in Azure en de juiste oplossing voor sleutelbeheer kiezen voor een overzicht van alle aanbiedingen voor sleutelbeheer in Azure en richtlijnen.

Hulpprogramma's voor geheim scannen implementeren

Regelmatig scannen van uw codebase voor ingesloten geheimen kan onbedoelde blootstelling voorkomen. Hulpprogramma's zoals Azure DevOps Credential Scanner en de functie voor het scannen van GitHub-geheimen kunnen u automatisch detecteren en waarschuwen voor geheimen in uw opslagplaatsen. Het integreren van deze hulpprogramma's in uw CI/CD-pijplijn zorgt voor continue bewaking. Het is van cruciaal belang om elk geheim te behandelen dat door deze scanprogramma's is gevonden als aangetast, wat betekent dat het onmiddellijk moet worden ingetrokken en vervangen om de integriteit van uw beveiligingspostuur te behouden.

Beheerde identiteiten gebruiken

Beheerde identiteiten in Azure bieden een veilige manier om toepassingen te verifiëren bij Azure-services zonder referenties in de code op te slaan. Door beheerde identiteiten voor Azure-resources in te schakelen, hebt u veilig toegang tot Azure Key Vault en andere services, waardoor geheimen niet handmatig hoeven te worden verwerkt. Deze aanpak minimaliseert niet alleen het maken van geheimen, maar vermindert ook het oppervlak voor potentiële schendingen, omdat de verantwoordelijkheid voor het beheren van referenties wordt gedelegeerd aan het platform.

Gedetailleerd toegangsbeheer toepassen

Volg het principe van minimale bevoegdheden door gedetailleerd toegangsbeheer toe te passen op uw geheimen. Gebruik op rollen gebaseerd toegangsbeheer (RBAC) van Azure om ervoor te zorgen dat alleen geautoriseerde entiteiten toegang hebben tot specifieke geheimen. Controleer regelmatig de toegangsmachtigingen en werk deze bij om onbevoegde toegang te voorkomen. Het is ook raadzaam om afzonderlijke rollen te implementeren, zoals gebruiker, beheerder en auditor voor het beheren van de toegang tot geheimen, zodat alleen vertrouwde identiteiten het juiste machtigingsniveau hebben.

Raadpleeg de azure Key Vault RBAC-handleiding.

Geheimen regelmatig roteren

Geheimen zijn vatbaar voor lekkage of blootstelling in de loop van de tijd. Het regelmatig roteren van uw geheimen vermindert het risico op onbevoegde toegang. U kunt geheimen roteren in Azure Key Vault voor bepaalde geheimen. Voor geheimen die niet automatisch kunnen worden geroteerd, stelt u een handmatig rotatieproces in en zorgt u ervoor dat ze worden opgeschoond wanneer ze niet meer worden gebruikt.

Door het proces voor geheimrotatie te automatiseren en redundantie in uw geheimbeheer te bouwen, kan de beschikbaarheid van de service niet worden onderbroken. Het implementeren van logica voor opnieuw proberen en gelijktijdige toegangspatronen in uw code kan helpen bij het minimaliseren van problemen tijdens het draaivenster.

Toegang tot logboeken bewaken en registreren

Schakel logboekregistratie en bewaking in voor uw geheime beheersysteem om de toegang en het gebruik bij te houden. Gebruik Key Vault-logboekregistratie en/of -services, zoals Azure Monitor en Azure Event Grid, om alle activiteiten met betrekking tot uw geheimen te bewaken. Dit biedt inzicht in wie toegang heeft tot uw geheimen en helpt bij het detecteren van verdacht gedrag of mogelijke beveiligingsincidenten. Het onderhouden van gedetailleerde audittrails is essentieel voor het inspecteren en valideren van toegang tot geheimen, wat kan helpen identiteitsdiefstal te voorkomen, afkeer te voorkomen en onnodige blootstelling te verminderen.

Netwerkisolatie implementeren

Verminder de blootstelling van uw geheimen door netwerkisolatie te implementeren. Configureer firewalls en netwerkbeveiligingsgroepen om de toegang tot uw sleutelkluizen te beperken. Alleen vertrouwde toepassingen en services toegang geven tot uw geheimen, waardoor het kwetsbaarheid voor aanvallen wordt geminimaliseerd en onbevoegde toegang wordt voorkomen. Overweeg bovendien meerdere sleutelkluizen te gebruiken om isolatiegrenzen voor verschillende onderdelen te maken, zodat het ene onderdeel geen controle kan krijgen over andere geheimen of de hele workload.

Geheimen at rest en in transit versleutelen

Zorg ervoor dat uw geheimen zowel at-rest als in transit zijn versleuteld. In Azure Key Vault worden geheimen veilig opgeslagen met envelopversleuteling, waarbij DEK's (Data Encryption Keys) worden versleuteld door SLEUTELversleutelingssleutels (KEK's), wat een extra beveiligingslaag biedt. Deze aanpak verbetert de beveiliging tegen onbevoegde toegang. Gebruik bovendien beveiligde communicatieprotocollen zoals HTTPS om gegevens tijdens de overdracht tussen uw toepassingen en de sleutelkluis te versleutelen, zodat uw geheimen tijdens zowel opslag als overdracht worden beveiligd.

In Azure wordt versleuteling-at-rest geïmplementeerd in verschillende services met behulp van AES 256-versleuteling, terwijl gegevens in transit worden beveiligd via TLS en MACsec om onbevoegde toegang tijdens verzending te voorkomen. Deze versleutelingsprocedures bieden uitgebreide beveiliging voor uw gegevens, ongeacht of deze worden opgeslagen of verzonden tussen systemen. Zie Encryption at rest en in transit voor meer informatie.

Veilige distributie van geheimen

Wanneer u geheimen distribueert, moet u ervoor zorgen dat ze veilig binnen en buiten de organisatie worden gedeeld. Gebruik hulpprogramma's die zijn ontworpen voor veilig delen en bevatten geheime herstelprocedures in uw noodherstelplannen. Als een sleutel is aangetast of gelekt, moet deze onmiddellijk opnieuw worden gegenereerd. Als u de beveiliging verder wilt verbeteren, gebruikt u afzonderlijke sleutels voor elke consument in plaats van sleutels te delen, zelfs als ze vergelijkbare toegangspatronen hebben. Deze procedure vereenvoudigt sleutelbeheer en intrekking, waardoor gecompromitteerde sleutels kunnen worden ingetrokken zonder dat dit van invloed is op andere consumenten.

Aanbevolen procedures voor services

Afzonderlijke services hebben mogelijk aanvullende aanbevolen procedures en richtlijnen voor het beveiligen van geheimen. Hieronder volgen een aantal voorbeelden:

Volgende stappen

Het minimaliseren van beveiligingsrisico's is een gedeelde verantwoordelijkheid. U moet proactief zijn bij het nemen van stappen om uw workloads te beveiligen. Meer informatie over gedeelde verantwoordelijkheid in de cloud.

Bekijk best practices en patronen voor Azure-beveiliging voor meer aanbevolen beveiligingsprocedures die u kunt gebruiken wanneer u uw cloudoplossingen ontwerpt, implementeert en beheert met behulp van Azure.