Aanbevelingen voor het beveiligen van resources
Is van toepassing op deze aanbeveling voor de controlelijst voor Azure Well-Architected Framework Security:
SE:08 | Verhard alle workloadonderdelen door het overbodige oppervlak te verminderen en configuraties aan te scherpen om de kosten van aanvallers te verhogen. |
---|
In deze handleiding worden de aanbevelingen voor het beveiligen van resources beschreven door gelokaliseerde besturingselementen binnen een workload te ontwikkelen en deze te onderhouden om herhaalde aanvallen te weerstaan.
Beveiligingsmaatregelen zijn een opzettelijke zelfbehoudsoefening. Het doel is om een kwetsbaarheid voor aanvallen te verminderen en de kosten van aanvallers op andere gebieden te verhogen, waardoor kwaadwillende actoren misbruik kunnen maken van beveiligingsproblemen. Implementeer best practices en configuraties voor beveiliging om uw workload te beveiligen.
Beveiligingsmaatregelen zijn een doorlopend proces dat continue bewaking en aanpassing van de veranderende bedreigingen en beveiligingsproblemen vereist.
Definities
Termijn | Definitie |
---|---|
Beperking | Het verminderen van een kwetsbaarheid voor aanvallen door overbodige resources te verwijderen of configuraties aan te passen. |
Privileged Access Workstation (PAW) | Een toegewezen en veilige machine die u gebruikt om gevoelige taken uit te voeren, waardoor het risico op inbreuk wordt verminderd. |
Beveiligd beheerwerkstation (SAW) | Een gespecialiseerd PAW dat wordt gebruikt door kritieke impactaccounts. |
Oppervlakte | Een logische footprint van een workload die beveiligingsproblemen bevat. |
Belangrijke ontwerpstrategieën
Beveiligingsmaatregelen zijn een zeer gelokaliseerde oefening die controles op onderdeelniveau versterkt, ongeacht of het resources of processen zijn. Wanneer u de beveiliging van elk onderdeel aanscherpt, verbetert dit de geaggregeerde beveiligingsgarantie van uw workload.
Beveiligingsbeveiliging houdt niet rekening met de functionaliteit van de workload en detecteert geen bedreigingen of voert geautomatiseerde scans uit. Beveiligingsmaatregelen zijn gericht op het afstemmen van configuraties met een veronderstelde inbreuk en diepgaande verdedigingsmentaliteit. Het doel is om het moeilijk te maken voor een aanvaller om controle te krijgen over een systeem. Beveiliging mag het beoogde hulpprogramma van een workload of de bijbehorende bewerkingen niet wijzigen.
Een inventaris van workloadassets maken
De eerste stap van het proces voor beveiliging is het verzamelen van een uitgebreide inventarisatie van alle hardware- en software- en gegevensassets. Houd uw voorraadrecords up-to-date door nieuwe assets toe te voegen en buiten gebruik gestelde assets te verwijderen. Houd rekening met de volgende aanbevolen procedures voor alle assets in uw inventaris:
Verminder de voetafdruk. Verwijder overbodig oppervlak of verklein het bereik. Elimineer eenvoudige doelen of goedkope en goed gevestigde aanvalsvectoren, zoals niet-gepatchte software-aanvallen en beveiligingsaanvallen. Voorafgaand aan de productie-implementatie moet u identiteiten opschonen, onderdelen bouwen en andere niet-benodigde assets uit de bronstructuur.
Configuraties verfijnen. Evalueer en draai het resterende oppervlak aan. Wanneer resources worden beperkt, worden geprobeerd en geteste methoden die door aanvallers worden gebruikt, niet meer succesvol. Het dwingt aanvallers om geavanceerde of niet-geteste aanvalsmethoden te verkrijgen en te gebruiken, waardoor hun kosten toenemen.
Houd verdediging. Behoud beschermende maatregelen door continue detectie van bedreigingen uit te voeren om ervoor te zorgen dat de beveiliging in de loop van de tijd betrouwbaar is.
Houd ook rekening met de volgende factoren.
Vertrouwde bron. Een deel van de hardening oefening omvat de software supply chain. In deze richtlijnen wordt ervan uitgegaan dat alle onderdelen worden verkregen uit vertrouwde bronnen. Uw organisatie moet software goedkeuren die afkomstig is van externe leveranciers. Deze goedkeuring is van toepassing op bronnen van het besturingssysteem, installatiekopieën en andere hulpprogramma's van derden. Zonder vertrouwde resources kan beveiliging een oneindige afvoer van beveiligingsgaranties voor niet-vertrouwde bronnen zijn.
Zie Aanbevelingen voor het beveiligen van een ontwikkelingslevenscyclus voor aanbevelingen over beveiliging voor uw toeleveringsketen.
Training. Hardening is een gespecialiseerde vaardigheid. Het is methodisch en vereist een hoog niveau van competentie. U moet inzicht hebben in de functionaliteit van een onderdeel en hoe wijzigingen van invloed zijn op het onderdeel. Een teamlid moet de richtlijnen van brancheexperts en het platform kunnen onderscheiden van richtlijnen uit onzekere bronnen. Informeer uw teamleden over het creëren van een beveiligingsbewuste cultuur. Zorg ervoor dat uw team bedreven is in best practices voor beveiliging, kennis heeft van mogelijke bedreigingen en leert van retrospectieven na incidenten.
Documentatie. Begrenzingsvereisten, beslissingen en gedefinieerde methoden documenteren en publiceren. Voor transparantie documenteert u ook uitzonderingen of afwijkingen van deze vereisten.
Beveiliging kan lastig zijn, maar het is een cruciale beveiligingsoefening die u moet documenteren. Verhard eerst de kernonderdelen en breid vervolgens uit naar andere gebieden, zoals geautomatiseerde processen en menselijke processen, om potentiële hiaten te versterken. Wees zorgvuldig over wijzigingen. Een vereiste stap is bijvoorbeeld het uitschakelen van de standaardinstellingen, omdat wijzigingen in standaardwaarden van invloed kunnen zijn op de stabiliteit van het systeem. Zelfs als de vervangingsconfiguratie hetzelfde is als de standaardconfiguratie, moet deze worden gedefinieerd. In de volgende secties worden algemene doelen voor beveiliging beschreven. Evalueer belangrijke ontwerpgebieden van uw workload en volg de belangrijkste strategieën om op onderdeelniveau te worden beperkt.
Netwerkonderdelen beperken
Verdeel het netwerk in segmenten om kritieke activa en gevoelige gegevens te isoleren van minder veilige assets, waardoor laterale verplaatsingen door aanvallers worden verminderd. In deze segmenten past u een standaardbenadering voor weigeren toe. Voeg alleen toegang toe aan de acceptatielijst als deze gerechtvaardigd is.
Schakel poorten en protocollen uit die niet actief worden gebruikt. In Azure-app Service kunt u deze bijvoorbeeld uitschakelen als u deze niet via FTP hoeft te implementeren. Of als u beheerbewerkingen uitvoert via een intern netwerk, kunt u beheertoegang via internet uitschakelen.
Verouderde protocollen verwijderen of uitschakelen. Aanvallers misbruiken systemen die gebruikmaken van oude versies. Gebruik een Azure-detectieservice om logboeken te controleren en het protocolgebruik te bepalen. Het kan lastig zijn om protocollen te verwijderen omdat het de functionaliteit van het systeem kan verstoren. Test alle wijzigingen vóór de implementatie om het risico op operationele onderbrekingen te beperken.
Behandel openbare IP-adressen (PIP) als assets met een hoog risico, omdat ze gemakkelijk toegankelijk zijn en een breed wereldwijd bereik hebben. Als u de blootstelling wilt verminderen, verwijdert u onnodige internettoegang tot de workload. Gebruik gedeelde openbare IP-adressen die Microsoft-services, zoals Azure Front Door, opgeven. Deze services zijn ontworpen om internetgericht te zijn en blokkeren de toegang tot niet-toegestane protocollen. Veel dergelijke services voeren initiële controles uit op binnenkomende aanvragen aan de netwerkrand. Met een toegewezen PIP bent u verantwoordelijk voor het beheren van de beveiligingsaspecten, het toestaan of blokkeren van poorten en het scannen van binnenkomende aanvragen om de geldigheid ervan te waarborgen.
Voor internetgerichte toepassingen beperkt u de toegang door een laag-7-service toe te voegen die ongeldig verkeer kan filteren. Verken systeemeigen services die DDoS-beveiliging (Distributed Denial-of-Service) afdwingen, webtoepassingsfirewalls hebben en beveiliging bieden aan de rand voordat verkeer de toepassingslaag bereikt.
Dns-beveiliging (Domain Name System) is een andere procedure voor netwerkbeveiliging. Om ervoor te zorgen dat de DNS-infrastructuur veilig is, raden we u aan vertrouwde DNS-resolvers te gebruiken. Als u informatie van DNS-resolvers wilt valideren en waar mogelijk een extra beveiligingslaag wilt bieden, gebruikt u een DNS-beveiligingsprotocol voor zeer gevoelige DNS-zones. Als u aanvallen zoals DNS-cachevergiftiging, DDoS-aanvallen en amplificatieaanvallen wilt voorkomen, verkent u andere DNS-gerelateerde beveiligingscontroles, zoals het beperken van queryfrequenties, het beperken van reactiefrequenties en DNS-cookies.
Toegangsbeheer voor identiteiten beperken
Verwijder ongebruikte of standaardaccounts. Schakel ongebruikte verificatie- en autorisatiemethoden uit.
Schakel verouderde verificatiemethoden uit omdat ze vaak aanvalsvectoren zijn. Oude protocollen ontbreken vaak tegen aanvallen, zoals accountvergrendelingen. Externaliseer uw verificatievereisten voor uw id-provider (IdP), zoals Microsoft Entra-id.
Voorkeur voor federatie over het maken van dubbele identiteiten. Als een identiteit is aangetast, is het eenvoudiger om de toegang ervan in te trekken wanneer deze centraal wordt beheerd.
Inzicht in platformmogelijkheden voor verbeterde verificatie en autorisatie. Besturingselementen voor toegang beperken door te profiteren van meervoudige verificatie, verificatie zonder wachtwoord, voorwaardelijke toegang en andere functies die Microsoft Entra ID biedt om de identiteit te verifiëren. U kunt extra beveiliging toevoegen rond aanmeldingsgebeurtenissen en het bereik beperken waarin een aanvaller een aanvraag kan indienen.
Gebruik waar mogelijk beheerde identiteiten en workloadidentiteiten zonder referenties. Referenties kunnen worden gelekt. Zie Aanbevelingen voor het beveiligen van toepassingsgeheimen voor meer informatie.
Gebruik de benadering met minimale bevoegdheden voor uw beheerprocessen. Verwijder onnodige roltoewijzingen en voer regelmatig microsoft Entra-toegangsbeoordelingen uit. Gebruik beschrijvingen van roltoewijzingen om een papieren spoor van redenen te behouden. Dit is van cruciaal belang voor controles.
Configuraties van cloudresources beperken
De voorgaande aanbevelingen voor beveiliging voor netwerken en identiteit zijn van toepassing op afzonderlijke cloudservices. Voor netwerken moet u speciale aandacht besteden aan firewalls op serviceniveau en de regels voor inkomend verkeer evalueren.
Ontdek en schakel ongebruikte mogelijkheden of functies, zoals ongebruikte toegang tot gegevensvlakken en productfuncties, uit die andere onderdelen kunnen omvatten. App Service ondersteunt bijvoorbeeld Kudu, dat FTP-implementaties, externe foutopsporing en andere functies biedt. Als u deze functies niet nodig hebt, schakelt u deze uit.
Blijf altijd op de hoogte van de Azure-roadmap en de workloadschema. Patching- en versiebeheerupdates toepassen die azure-services bieden. Sta door het platform geleverde updates toe en abonneer u op geautomatiseerde updatekanalen.
Risico: cloudresources hebben vaak vereisten voor vergoedingen of moeten worden uitgevoerd in gedocumenteerde configuraties om als ondersteund te worden beschouwd. Sommige beveiligingstechnieken, zoals het agressief blokkeren van uitgaand verkeer, kunnen ertoe leiden dat een service buiten een ondersteunde configuratie valt, zelfs als de service normaal werkt. Krijg inzicht in de runtimevereisten van elke cloudresource van uw platform om ervoor te zorgen dat u ondersteuning voor die resource onderhoudt.
Codeassets beveiligen
Evalueer gebieden waar uw toepassing onbedoeld informatie kan lekken. Stel dat u een API hebt waarmee gebruikersgegevens worden opgehaald. Een aanvraag heeft mogelijk een geldige gebruikers-id en uw toepassing retourneert een 403-fout. Maar met een ongeldige klant-id retourneert de aanvraag een 404-fout. Vervolgens lekt u effectief informatie over uw gebruikers-id's.
Er kunnen subtielere gevallen zijn. De reactielatentie met een geldige gebruikers-id is bijvoorbeeld hoger dan een ongeldige klant-id.
Overweeg om toepassingsbeveiliging te implementeren op de volgende gebieden:
Invoervalidatie en opschoning: voorkom injectieaanvallen zoals SQL-injectie en XSS (Cross-Site Scripting) door alle gebruikersinvoer te valideren en op te schoonen. Automatiseer het opschonen van invoer met behulp van invoervalidatiebibliotheken en frameworks.
Sessiebeheer: Beveilig sessie-id's en tokens tegen diefstal- of sessiefixatieaanvallen met behulp van veilige sessiebeheertechnieken. Implementeer sessietime-outs en dwing opnieuw verificatie af voor gevoelige acties.
Foutbeheer: Implementeer aangepaste foutafhandeling om het blootstellen van gevoelige informatie aan aanvallers te minimaliseren. Logboekfouten veilig vastleggen en deze logboeken controleren op verdachte activiteiten.
HTTP-beveiligingsheaders: Veelvoorkomende beveiligingsproblemen in internet beperken door gebruik te maken van beveiligingsheaders in HTTP-antwoorden, zoals het beleid voor inhoudsbeveiliging (CSP), X-Content-Type-Options en X-Frame-Options.
API-beveiliging: beveilig uw API's met de juiste verificatie- en autorisatiemechanismen. Implementeer snelheidsbeperking, aanvraagvalidatie en toegangsbeheer voor API-eindpunten om de beveiliging verder te verbeteren.
Volg veilige coderingsprocedures wanneer u toepassingen ontwikkelt en onderhoudt. Voer regelmatig codebeoordelingen uit en scan toepassingen op beveiligingsproblemen. Zie Aanbevelingen voor het beveiligen van een ontwikkelingslevenscyclus voor meer informatie.
Beheerbewerkingen beperken
Behard ook andere niet-runtime-resources. Verminder bijvoorbeeld de footprint van uw buildbewerkingen door een inventarisatie van alle assets te maken en ongebruikte assets uit uw pijplijn te verwijderen. Haal vervolgens taken op die zijn gepubliceerd door vertrouwde bronnen en voer alleen taken uit die zijn gevalideerd.
Bepaal of u door Microsoft gehoste of zelf-hostende buildagents nodig hebt. Zelf-hostende buildagents hebben extra beheer nodig en moeten worden beperkt.
Implementeer vanuit het perspectief van waarneembaarheid een proces voor het controleren van logboeken op potentiële schendingen. Controleer regelmatig de toegangsbeheerregels en werk deze bij op basis van toegangslogboeken. Werk samen met centrale teams om SIEM-logboeken (Security Information Event Management) en SOAR-logboeken (Security Orchestration Automated Response) te analyseren om afwijkingen te detecteren.
Overweeg om PAW's of SAW's te vereisen voor bewerkingen voor privileged management. PAW's en SAW's zijn geharde fysieke apparaten die aanzienlijke beveiligingsvoordelen bieden, maar hun implementatie vereist zorgvuldige planning en beheer. Zie Apparaten beveiligen als onderdeel van het verhaal over bevoegde toegang voor meer informatie.
Azure-facilitering
Microsoft Defender voor Cloud biedt verschillende mogelijkheden voor beveiliging:
- Serverbeveiliging
- Adaptieve netwerkbeveiliging
- Beveiliging van Docker-host
Het Center for Internet Security (CIS) biedt beperkte installatiekopieën in Azure Marketplace.
U kunt Azure VM Image Builder gebruiken om een herhaalbaar proces te bouwen voor geharde installatiekopieën van het besturingssysteem. Common Base Linux-Mariner is een beperkte Linux-distributie die is ontwikkeld door Microsoft die voldoet aan beveiligingsstandaarden en branchecertificeringen. U kunt het gebruiken met Azure-infrastructuurproducten om workload-implementaties te bouwen.
Opmerking
De volgende procedure is een voorbeeld van hoe u een besturingssysteem kunt beperken:
Verminder de voetafdruk. Verwijder overbodige onderdelen in een installatiekopie. Installeer alleen wat u nodig hebt.
Configuraties verfijnen. Ongebruikte accounts uitschakelen. De standaardconfiguratie van besturingssystemen bevat extra accounts die zijn gekoppeld aan beveiligingsgroepen. Als u deze accounts niet gebruikt, schakelt u deze uit of verwijdert u deze uit het systeem. Extra identiteiten zijn bedreigingsvectoren die kunnen worden gebruikt om toegang te krijgen tot de server.
Schakel onnodige toegang tot het bestandssysteem uit. Versleutel het bestandssysteem en verfijn toegangsbeheer voor identiteit en netwerken.
Voer alleen uit wat er nodig is. Toepassingen en services blokkeren die standaard worden uitgevoerd. Alleen toepassingen en services goedkeuren die nodig zijn voor workloadfunctionaliteit.
Houd verdediging. Werk de onderdelen van het besturingssysteem regelmatig bij met de nieuwste beveiligingsupdates en patches om bekende beveiligingsproblemen te beperken.
Verwante koppelingen
- Adaptieve netwerkbeveiliging
- Aanbevelingen voor het beveiligen van toepassingsgeheimen
- Aanbevelingen voor het beveiligen van een ontwikkelingslevenscyclus
- Apparaten beveiligen als onderdeel van het verhaal over bevoegde toegang
- Serverbeveiliging
Communitykoppelingen
Controlelijst voor beveiliging
Raadpleeg de volledige set aanbevelingen.