Inleiding

Voltooid

Als u wilt weten wat er mis kan gaan met het beheren van de configuratiegeheimen van een app, kijkt u niet verder dan het verhaal van Steve, een senior ontwikkelaar.

Steve werkte een paar weken bij een bedrijf voor dierenvoeding. Tijdens het verkennen van de details van de web-app van het bedrijf, een .NET Core-web-app die een Azure SQL-database gebruikte voor het opslaan van ordergegevens en API's van derden voor facturering van creditcards en het toewijzen van klantadressen, plakte Steve per ongeluk de verbindingsreeks voor de orderdatabase in een openbaar forum.

Dagen later merkte de boekhoudafdeling op dat het bedrijf een aanzienlijke hoeveelheid huisdierenvoer leverde die niet werd betaald. Iemand heeft de verbindingsreeks gebruikt om toegang te krijgen tot de database en orders te maken door de database rechtstreeks bij te werken.

Nadat Steve zijn fout besefte, veranderde hij haastig het databasewachtwoord om de aanvaller te vergrendelen. Nadat Steve het wachtwoord heeft gewijzigd, begon de website fouten te retourneren aan gebruikers. De app-server heeft een bijgewerkte configuratie met het nieuwe wachtwoord nodig. Steve meldde zich rechtstreeks aan bij de app-server en wijzigde de app-configuratie in plaats van de app opnieuw te implementeren. Aanvragen bij de server mislukten echter nog steeds.

Steve is vergeten dat meerdere exemplaren van de app op verschillende servers zijn uitgevoerd. Hij heeft alleen de configuratie voor één gewijzigd. Er moest volledig opnieuw worden geïmplementeerd, waardoor er sprake was van nóg 30 minuten downtime.

Gelukkig kon de boekhoudafdeling de fouten snel corrigeren en werd slechts één dag aan orders beïnvloed. Steve is in de toekomst misschien niet zo gelukkig en moet een manier vinden om de beveiliging en onderhoudbaarheid van de app te verbeteren.

Als een database verbindingsreeks, API-sleutel of servicewachtwoord wordt gelekt, kan dit onherstelbaar zijn. Een lek kan leiden tot gestolen of verwijderde gegevens, financiële schade, downtime van apps en onherstelbare schade aan bedrijfsactiva en reputatie. Geheime waarden moeten echter vaak op meerdere plaatsen tegelijk worden geïmplementeerd en op onhandige momenten worden gewijzigd. En u moet ze wel ergens opslaan! Bekijk hoe Steve risico's kan verminderen en de beveiliging en onderhoudbaarheid van zijn app met Azure Key Vault kan verbeteren.

Leerdoelen

In deze module wordt het volgende behandeld:

  • Verkennen welke typen gegevens kunnen worden opgeslagen in Azure Key Vault.
  • Een Azure Key Vault te maken en deze gebruiken om geheime configuratiewaarden op te slaan.
  • Veilige toegang tot Azure Key Vault inschakelen vanuit een Azure-app Service-web-app met beheerde identiteiten voor Azure-resources.
  • Implementeer een web-app waarmee geheimen worden opgehaald uit Azure Key Vault.