Code scannen zonder agent in Microsoft Defender voor Cloud
Scannen van code zonder agent in Microsoft Defender voor Cloud biedt snelle en schaalbare beveiligingsdekking voor alle opslagplaatsen in Azure DevOps. Er worden snel beveiligingsproblemen gevonden in configuraties voor code en infrastructuur als code (IaC), zonder dat agents of CI/CD-pijplijnwijzigingen (Continuous Integration and Continuous Deployment) nodig zijn. Deze aanpak vereenvoudigt de installatie en het onderhoud met één Azure DevOps-connector en biedt brede dekking, continue inzichten en bruikbare beveiligingsresultaten. Hiermee kunnen beveiligings- en ontwikkelteams zich richten op het probleemloos oplossen van risico's zonder dat ontwikkelwerkstromen worden onderbroken.
Vereisten
Releasestatus: openbare preview
Ondersteunde gebruiksvoorbeelden:
Clouds: commerciële Azure-clouds
Ondersteunde regio's: Australië - oost, Canada - centraal, VS - centraal, Azië - oost, VS - oost, Europa - noord, Zweden - centraal, VK - zuid, Europa - west
Ondersteunde omgevingen: Azure DevOps-connector
Rollen en machtigingen:
De connector instellen en configureren:
- Projectverzamelingsbeheerder: vereist in Azure DevOps om de eerste installatie uit te voeren.
- Inzender voor abonnementen: vereist voor het Azure-abonnement om de connector te maken en te configureren.
Beveiligingsresultaten weergeven:
- Beveiligingsbeheerder: kan beveiligingsinstellingen, beleidsregels en waarschuwingen beheren, maar kan de connector niet wijzigen.
- Beveiligingslezer: kan aanbevelingen, waarschuwingen en beleidsregels bekijken, maar geen wijzigingen aanbrengen.
Belangrijkste voordelen
- Proactief risicobeheer: identificeer risico's vroeg in het ontwikkelingsproces. Dit biedt ondersteuning voor veilige coderingsprocedures en vermindert beveiligingsproblemen voordat ze productie bereiken.
- Moeiteloze onboarding: snel instellen met minimale configuratie en geen pijplijnwijzigingen.
- Gecentraliseerd beheer op ondernemingsniveau: Code automatisch scannen in meerdere opslagplaatsen met één connector. Dit biedt uitgebreide dekking voor grote omgevingen.
- Snelle inzichten voor snel herstel: Ontvang bruikbare inzichten over beveiligingsproblemen direct na de onboarding. Dit maakt snelle oplossingen mogelijk en vermindert de blootstellingstijd.
- Ontwikkelaarsvriendelijk en naadloos: gebruik onafhankelijk van CI/CD-pijplijnen (continue integratie en continue implementatie), zonder dat er wijzigingen nodig zijn of directe betrokkenheid van ontwikkelaars. Dit maakt continue beveiligingsbewaking mogelijk zonder de productiviteit of werkstromen van ontwikkelaars te verstoren.
Detectiemogelijkheden voor risico's
Het scannen van code zonder agent verbetert de beveiliging door gerichte beveiligingsaanbeveling te bieden voor zowel code- als IaC-sjablonen (Infrastructure-as-Code). Dit is een aanvulling op de aanbevelingen voor de beveiliging van De basisbeveiligingspostuurbeheer (CSPM) die via de connector worden gegeven. Belangrijke detectiemogelijkheden zijn onder andere:
- Codeproblemen: zoek veelvoorkomende coderingsfouten, onveilige coderingsprocedures en bekende beveiligingsproblemen in meerdere programmeertalen.
- Onjuiste configuraties van infrastructuur als code: detecteer onjuiste beveiligingsconfiguraties in IaC-sjablonen die kunnen leiden tot onveilige implementaties.
Het maken van de connector verbetert de beveiliging door een basisset beveiligingsaanaanvelingen te bieden voor opslagplaatsen, pijplijnen en serviceverbindingen.
Hulpprogramma's voor scannen
Scannen van code zonder agent maakt gebruik van verschillende opensource-hulpprogramma's om beveiligingsproblemen en onjuiste configuraties te vinden in code- en IaC-sjablonen (Infrastructure-as-Code):
Tool | Ondersteunde IaC/talen | Licentie |
---|---|---|
Bandiet | Python | Apache 2.0 |
Checkov | Terraform IaC-sjablonen, Terraform-planbestanden, AWS CloudFormation-sjablonen, Kubernetes-manifestbestanden, Helm-grafiekbestanden, Dockerfiles, Arm-sjablonen (Azure Resource Manager) IaC-sjablonen, Azure Bicep IaC-sjablonen, AWS SAM-sjablonen (serverloos toepassingsmodel), Kustomize-bestanden, serverloze frameworksjablonen, OpenAPI-specificatiebestanden | Apache 2.0 |
ESLint | JavaScript, TypeScript, JSX, TSX | MIT |
Sjabloonanalyse | ARM IaC-sjablonen, Bicep IaC-sjablonen | MIT |
Deze hulpprogramma's ondersteunen een breed scala aan talen en IaC-frameworks en zorgen voor een grondige beveiligingsanalyse in uw codebasis.
Ondersteunde platforms en bestandstypen
Versiebeheersystemen
- Azure DevOps: volledige ondersteuning voor opslagplaatsen die zijn verbonden via de Azure DevOps-connector.
Programmeertalen
- Python
- JavaScript/TypeScript
IaC-platformen (Infrastructure-as-Code) en -configuraties
IaC-platform | Ondersteunde bestandstypen | Notes |
---|---|---|
Terraform | .tf , .tfvars |
Ondersteunt Terraform IaC-sjablonen in HCL2-taal, inclusief variabele bestanden in .tfvars . |
Terraform-plan | JSON-bestanden | Bevat JSON-bestanden die geplande configuraties vertegenwoordigen, die worden gebruikt voor analyse en scannen. |
AWS CloudFormation | JSON-, YAML-bestanden | Ondersteunt AWS CloudFormation-sjablonen voor het definiëren van AWS-resources. |
Kubernetes | YAML-, JSON-bestanden | Ondersteunt Kubernetes-manifestbestanden voor het definiëren van configuraties in clusters. |
Helm | Helm-grafiekmapstructuur, YAML-bestanden | Volgt de standaardgrafiekstructuur van Helm; ondersteunt Helm v3-grafiekbestanden. |
Docker | Bestanden met de naam Dockerfile | Ondersteunt Dockerfiles voor containerconfiguraties. |
Azure ARM-sjablonen | JSON-bestanden | Ondersteunt Arm-sjablonen (Azure Resource Manager) in JSON-indeling. |
Azure Bicep | .bicep-bestanden | Ondersteunt Bicep IaC-sjablonen, een domeinspecifieke taal (DSL) voor ARM. |
AWS SAM | YAML-bestanden | Ondersteunt SAM-sjablonen (Serverless Application Model) van AWS voor serverloze resources. |
Kustomize | YAML-bestanden | Ondersteunt configuratiebestanden voor Kubernetes-aanpassing (Kustomize). |
Serverloos framework | YAML-bestanden | Ondersteunt sjablonen voor het serverloze framework bij het definiëren van serverloze architecturen. |
OpenAPI | YAML-, JSON-bestanden | Ondersteunt OpenAPI-specificatiebestanden voor het definiëren van RESTful-API's. |
Scannen van code zonder agent inschakelen in uw Azure DevOps-organisaties
Als u uw Azure DevOps-organisaties wilt verbinden met Defender voor Cloud en het scannen van code zonder agent wilt inschakelen, raadpleegt u de instructies in Uw Azure DevOps-organisaties verbinden. In de volgende visual ziet u het snelle, eenvoudige installatieproces, dat u begeleidt bij elke stap voor naadloze onboarding.
Hoe scannen van code zonder agent werkt
Scannen van code zonder agent werkt onafhankelijk van CI/CD-pijplijnen. De Azure DevOps-connector wordt gebruikt om automatisch code- en IaC-configuraties (Infrastructure-as-Code) te scannen. U hoeft geen pijplijnen te wijzigen of extensies toe te voegen. Deze instelling maakt een brede en continue beveiligingsanalyse mogelijk voor meerdere opslagplaatsen. De resultaten worden rechtstreeks in Microsoft Defender voor Cloud verwerkt en weergegeven.
Scanproces
Zodra u de functie voor het scannen van code zonder agent in een connector hebt ingeschakeld, volgt het scanproces de volgende stappen:
- Detectie van opslagplaatsen: het systeem identificeert automatisch alle opslagplaatsen die zijn gekoppeld via de Azure DevOps-connector, direct na het maken van de connector en vervolgens om de 8 uur.
- Ophalen van code: De code wordt veilig opgehaald uit de standaardvertakking (hoofdvertakking) van elke opslagplaats voor analyse, eerst na de installatie van de connector en vervolgens om de 3-4 dagen.
- Analyse: Het systeem maakt gebruik van een set ingebouwde scanhulpprogramma's die worden beheerd en bijgewerkt binnen Microsoft Defender voor Cloud om beveiligingsproblemen en onjuiste configuraties in code- en IaC-sjablonen te vinden.
- Resultaten verwerken: er worden scanresultaten verwerkt via de back-end van Defender voor Cloud om bruikbare beveiligingsaankopen te maken.
- Resultatenlevering: Het systeem toont bevindingen als beveiligingsaanbevelingen in Defender voor Cloud, zodat beveiligingsteams problemen kunnen beoordelen en oplossen.
Scanfrequentie en duur
- Scanfrequentie:
- De beveiligingspostuur van opslagplaatsen, pijplijnen en serviceverbindingen wordt beoordeeld wanneer u de connector maakt en vervolgens om de 8 uur.
- Het systeem scant code- en Infrastructure-as-Code-sjablonen (IaC) op beveiligingsproblemen nadat u de connector hebt gemaakt en vervolgens elke 3-4 dagen.
- Scanduur: scans worden doorgaans binnen 15 tot 60 minuten voltooid, afhankelijk van de grootte en complexiteit van de opslagplaats.
Scanresultaten weergeven en beheren
Nadat de scans zijn voltooid, hebt u toegang tot beveiligingsresultaten binnen Microsoft Defender voor Cloud.
Toegangsresultaten
Ga in Microsoft Defender voor Cloud naar het tabblad Aanbevelingen voor beveiliging.
Bekijk de lijst met aanbevelingen, waaronder bevindingen zoals:
Azure DevOps-opslagplaatsen moeten codescanresultaten hebben opgelost : geeft beveiligingsproblemen aan die zijn gevonden in codeopslagplaatsen.
Azure DevOps-opslagplaatsen moeten een infrastructuur hebben als het scannen van code is opgelost . Verwijst naar onjuiste beveiligingsconfiguraties die zijn gedetecteerd in IaC-sjabloonbestanden in opslagplaatsen.
Andere beveiligingsaan aanbevelingen die zijn gegenereerd door de Azure DevOps-connector, zijn onder andere:
- Voor Azure DevOps-opslagplaatsen moet GitHub Advanced Security voor Azure DevOps (GHAzDO) zijn ingeschakeld
- Azure Pipelines mag geen geheimen beschikbaar hebben voor builds van forks
- Azure DevOps-serviceverbindingen mogen geen toegang verlenen tot alle pijplijnen
- Azure DevOps-variabelegroepen met geheime variabelen mogen geen toegang verlenen tot alle pijplijnen
- Klassieke Azure DevOps-serviceverbindingen mogen niet worden gebruikt voor toegang tot een abonnement
- (Preview) Azure DevOps-opslagplaatsen moeten minimaal goedkeuring van twee revisoren vereisen voor codepushes
- (Preview) Azure DevOps-opslagplaatsen mogen niet toestaan dat aanvragers hun eigen pull-aanvragen goedkeuren
- (Preview) Voor Azure DevOps Projects moet het maken van klassieke pijplijnen zijn uitgeschakeld
- Beveiligde Bestanden van Azure DevOps mogen geen toegang verlenen tot alle pijplijnen
Selecteer een aanbeveling voor gedetailleerde informatie, inclusief betrokken bestanden, ernstniveaus en herstelrichtlijnen.
Verschil tussen scannen van code zonder agent en scannen in pijplijn
Scannen van code zonder agent en scannen in pijplijnen met behulp van de Microsoft Security DevOps-extensie bieden beide beveiligingsscans in Azure DevOps. Ze dienen verschillende behoeften, maar werken goed samen. In de volgende tabel ziet u de belangrijkste verschillen om u te helpen bij het kiezen van de optie die past bij uw beveiligings- en ontwikkelingsbehoeften.
Aspect | Scannen van code zonder agent | Scannen in pijplijnen |
---|---|---|
Gebruiksvoorbeeld passend | Biedt een brede dekking met minimale onderbreking van ontwikkelaars | Biedt gedetailleerde, pijplijn-geïntegreerde scans met aanpasbare besturingselementen |
Bereik en dekking scannen | Richt zich op infrastructure-as-code (IaC) en scannen van codeproblemen, die elke 3-4 dagen zijn gepland | Biedt uitgebreide dekking, waaronder binaire bestanden en containerinstallatiekopieën, geactiveerd voor elke pijplijnuitvoering |
Installatie en configuratie | Vereist geen verdere configuratie na het maken van de connector | Vereist handmatige installatie en configuratie in elke CI/CD-pijplijn |
Pijplijnintegratie | Wordt onafhankelijk van (CI/CD)-pijplijnen uitgevoerd zonder werkstromen te wijzigen | Integreert binnen de CI/CD-pijplijn, waarvoor configuratie in elke pijplijn is vereist |
Scanneraanpassing | Scanners kunnen niet worden aangepast of selectief worden uitgevoerd | Hiermee kunt u aanpassingen met specifieke scanners, categorieën, talen, gevoeligheidsniveaus en niet-Microsoft-hulpprogramma's toestaan |
Resultaten en feedback | Biedt toegang tot bevindingen binnen Defender voor Cloud | Biedt bijna realtime feedback binnen de CI/CD-pijplijn, met resultaten die ook zichtbaar zijn in Defender voor Cloud |
Criteria voor onderbreken en mislukken | Builds kunnen niet worden verbroken | Kan worden geconfigureerd om builds te verbreken op basis van de ernst van beveiligingsresultaten |
Invloed op schaalbaarheid en prestaties
Scannen van code zonder agent voorkomt het maken van resources in het abonnement en vereist geen scannen tijdens het pijplijnproces. Er wordt gebruikgemaakt van de Azure DevOps REST API om metagegevens en code op te halen. Dit betekent dat API-aanroepen worden meegeteld voor de frequentielimieten van Azure DevOps, maar dat er geen directe kosten voor gegevensoverdracht in rekening worden gebracht. De service beheert scans om ervoor te zorgen dat ze binnen de snelheidslimieten van Azure DevOps blijven zonder de ontwikkelomgeving te onderbreken. Deze methode biedt efficiënt scannen met hoge prestaties in opslagplaatsen zonder dat dit van invloed is op DevOps-werkstromen. Zie Azure DevOps-frequentie- en gebruikslimieten voor meer informatie.
Gegevensbeveiliging, naleving en toegangsbeheer voor het scannen van code zonder agent
Microsoft Defender voor Cloud's service voor het scannen van code zonder agent zorgt voor een veilige en conforme verwerking van uw code door strikte maatregelen voor gegevensbeveiliging en privacy te implementeren:
- Gegevensversleuteling en toegangsbeheer: het systeem versleutelt alle gegevens die onderweg zijn met behulp van industriestandaardprotocollen. Alleen geautoriseerde Defender voor Cloud-services hebben toegang tot uw code.
- Gegevenslocatie en -retentie: scans worden uitgevoerd in dezelfde geografische locatie als uw Azure DevOps-connector (VS of EU) om te voldoen aan de wetgeving inzake gegevensbescherming. Het systeem verwerkt code alleen tijdens het scannen en verwijdert deze later veilig, zonder langetermijnopslag.
- Toegang tot opslagplaatsen: de service genereert een beveiligd toegangstoken voor Azure DevOps om scans uit te voeren. Met dit token kunt u de benodigde metagegevens en code ophalen zonder resources in uw abonnement te maken. Alleen Defender voor Cloud onderdelen toegang hebben en gegevensintegriteit beveiligen.
- Nalevingsondersteuning: de service is afgestemd op wettelijke en beveiligingsstandaarden voor gegevensverwerking en privacy, waardoor veilige verwerking en scan van klantcode wordt gewaarborgd in overeenstemming met de regionale vereisten voor gegevensbescherming.
Deze maatregelen zorgen voor een veilig, compatibel en efficiënt scanproces voor code, waarbij de privacy en integriteit van uw gegevens behouden blijven.
Beperkingen (openbare preview)
Tijdens de openbare preview-fase gelden de volgende beperkingen:
Geen binair scannen: het systeem scant alleen code- en IaC-bestanden (Infrastructure-as-Code).
Scanfrequentie: er worden elke 3 dagen opslagplaatsen gescand.
Grootte van opslagplaats: hiermee wordt het scannen beperkt tot opslagplaatsen van minder dan 1 GB.
Vertakkingsdekking: scans hebben alleen betrekking op de standaardbranch (hoofdbranch).
Aanpassing van hulpprogramma's: u kunt scanhulpprogramma's niet aanpassen.