Toepassingsconfiguratie en afhankelijkheden beveiligen

Beveiliging van een toepassing die wordt gehost in Azure is een gedeelde verantwoordelijkheid tussen u als eigenaar van de toepassing en Azure. Voor IaaS bent u verantwoordelijk voor configuraties met betrekking tot de VM, het besturingssysteem en de onderdelen die op de VM zijn geïnstalleerd. Voor PaaS bent u verantwoordelijk voor de beveiliging van de configuraties van de toepassingsservice en zorgt u ervoor dat de afhankelijkheden die door de toepassing worden gebruikt, ook veilig zijn.

Belangrijkste punten

  • Sla geen geheimen op in broncode of configuratiebestanden. Bewaar ze in plaats daarvan in een beveiligde opslag, zoals Azure App Configuration of Azure Key Vault.
  • Geef geen gedetailleerde foutinformatie weer bij het afhandelen van toepassingsafzonderingen.
  • Maak geen platformspecifieke informatie beschikbaar.
  • Sla de toepassingsconfiguratie op buiten de toepassingscode om deze afzonderlijk bij te werken en om een strenger toegangsbeheer te hebben.
  • Beperk de toegang tot Azure-resources die niet voldoen aan de beveiligingsvereisten.
  • Valideer de beveiliging van alle opensource-code die aan uw toepassing is toegevoegd.
  • Werk frameworks en bibliotheken bij als onderdeel van de toepassingslevenscyclus.

Configuratiebeveiliging

Houd tijdens de ontwerpfase rekening met de manier waarop u geheimen opgeslagen en uitzonderingen verwerkt. Hier zijn enkele punten.

Hoe wordt de toepassingsconfiguratie opgeslagen en hoe krijgt de toepassing er toegang toe?


Informatie over de toepassingsconfiguratie kan worden opgeslagen met de toepassing. Dit wordt echter niet aanbevolen. Overweeg het gebruik van een toegewezen configuratiebeheersysteem, zoals Azure App Configuration of Azure Key Vault. Op die manier kan het onafhankelijk van de toepassingscode worden bijgewerkt.

Toepassingen kunnen geheimen bevatten, zoals databaseverbindingsreeksen, certificaatsleutels, en meer. Sla geen geheimen op in broncode of configuratiebestanden. Bewaar ze in plaats daarvan in een beveiligde opslag, zoals Azure Key Vault. Identificeer geheimen in code met hulpprogramma's voor het scannen van statische code. Voeg het scanproces toe aan uw CI-pijplijn (Continue integratie).

Voor meer informatie over geheimbeheer, verwijzen wij u naar Sleutel- en geheimbeheer.

Worden fouten en uitzonderingen correct verwerkt zonder die informatie beschikbaar te stellen aan gebruikers?


Wanneer u toepassingsafzonderingen afhandelt, moet u ervoor zorgen dat de toepassing op een goede manier mislukt en de fout in een logboek opsyste. Geef geen gedetailleerde informatie op met betrekking tot de fout, zoals aanroepstack, SQL query's of niet-bereikfouten. Deze informatie kan aanvallers waardevolle informatie bieden over de interne gegevens van de toepassing.

Kunnen configuratie-instellingen worden gewijzigd of gewijzigd zonder de toepassing opnieuw te bouwen of opnieuw te bouwen?


Toepassingscode en -configuratie mogen niet dezelfde levenscyclus delen om operationele activiteiten mogelijk te maken. Deze activiteiten omvatten de activiteiten die specifieke configuraties wijzigen en bijwerken zonder tussenkomst van de ontwikkelaar of herconfiguratie.

Wordt platformspecifieke informatie verwijderd uit de communicatie tussen server en client?


Geef geen informatie weer over het toepassingsplatform. Dergelijke informatie (bijvoorbeeld , ) kan worden weergegeven X-Powered-By X-ASPNET-VERSION via HTTP-banners, HTTP-headers, foutberichten en websitevoetteksten. Kwaadwillende actoren kunnen deze informatie gebruiken bij het toewijzen van aanvalsvectoren van de toepassing.

Voorgestelde acties

Overweeg het gebruik Azure Front Door of API Management om platformspecifieke HTTP-headers te verwijderen. Gebruik in plaats daarvan Azure CDN het hostingplatform te scheiden van eindgebruikers. Azure API Management biedt transformatiebeleid waarmee u HTTP-headers kunt wijzigen en gevoelige informatie kunt verwijderen.

Meer informatie

Wordt Azure-beleid gebruikt om de configuratie van de oplossingsbronnen te beheren?


Gebruik Azure Policy om instellingen te implementeren, indien van toepassing. Resources blokkeren die niet voldoen aan de juiste beveiligingsvereisten die zijn gedefinieerd tijdens het inschakelen van de service.

Afhankelijkheden, frameworks en bibliotheken

Wat zijn de frameworks en bibliotheken die door de toepassing worden gebruikt?


Toepassingskaders worden vaak bijgewerkt en uitgebracht door de leverancier of community's. Het is essentieel om de frameworks en bibliotheken bij te houden die door de toepassing worden gebruikt, inclusief eventuele resulterende beveiligingsproblemen die ze introduceren. Deze frameworks en bibliotheken zijn onder andere aangepast, OSS, derden en andere. De technologieën begrijpen en beheren die de toepassing gebruikt, zoals:

  • .NET Core
  • Spring
  • Node.js

Geautomatiseerde oplossingen kunnen helpen bij deze evaluatie.

Houd rekening met de volgende best practices:

  • Valideer de beveiliging van alle opensource-code die aan uw toepassing is toegevoegd. Gratis hulpprogramma's voor deze evaluatie zijn onder andere:

    • OWASP-Dependency-Check
    • NPM-controle
    • WhiteSource Bolt

    Deze hulpprogramma's zoeken verouderde onderdelen en werken deze bij naar de nieuwste versies.

  • Een lijst met frameworks en bibliotheken onderhouden als onderdeel van de toepassingsinventaris. Houd ook bij welke versies in gebruik zijn. Als beveiligingsproblemen worden gepubliceerd, helpt deze kennis bij het identificeren van betrokken workloads.

  • Werk frameworks en bibliotheken bij als onderdeel van de toepassingslevenscyclus. Prioriteit geven aan kritieke beveiligingspatches.

Worden de vervaldatums van SSL/TLS-certificaten bewaakt en worden er processen gebruikt om deze te vernieuwen?


Het bijhouden van vervaldatums van SSL/TLS-certificaten en het vernieuwen ervan op tijd is zeer essentieel. In het ideale moment moet het proces worden geautomatiseerd, hoewel dit vaak afhankelijk is van de CA die voor het certificaat wordt gebruikt. Als dit niet geautomatiseerd is, moet er voldoende waarschuwing worden toegepast om ervoor te zorgen dat vervaldatums niet ongemerkt blijven.

Meer informatie

Azure-services waarnaar wordt verwezen

Volgende stappen

Communitybronnen