Artikelen
Tutorials
Interactieve handleidingen
Snyk en Bitbucket Cloud integreren om DevSecOps mogelijk te maken
Simon Maple
Field CTO bij Snyk
Bereik DevSecOps door Snyk te integreren met Bitbucket Cloud en Jira.
Snyk integreert met meerdere Atlassian-producten om de workflows en pipelines van DevSecOps-teams te verbeteren. Deze tutorial beschrijft patronen om de beveiliging naar links te laten verschuiven door gebruik te maken van Atlassian Bitbucket en Snyk. Met deze technieken kan je team je toepassings- en containergebaseerde workloads scannen op het tempo van DevSecOps. Je leert hoe je deze patronen gebruikt voor beveiliging in alle fases van je pipeline.
Tijd
15 minuten lezen.
Publiek
- Ontwikkelaars
- DevOps- en DevSecOps-engineers
- Teams voor toepassingsbeveiliging en toepassingsontwikkeling
Vereisten
Je hebt een Snyk-account, hier beschikbaar.
Je hebt een Atlassian Bitbucket-account. Log hier in of ga hier aan de slag.
Stap 1: Je omgeving configureren
Installeer de Snyk CLI
De Snyk CLI verifieert je machine met behulp van je Snyk-account. Met de CLI-tool kun je bekende kwetsbaarheden in je afhankelijkheden vinden en oplossen, zowel handmatig als in je CI/CD-pipeline. De volledige instructies voor het installeren van de CLI zijn beschikbaar bij Snyk in meerdere formaten voor populaire besturingssystemen en omgevingen. De CLI is bijvoorbeeld beschikbaar met brew met deze opdrachten:
brew tap snyk/tap
brew install snyk
Nadat je de CLI hebt geïnstalleerd, verifieer je vervolgens met de volgende opdracht:
snyk auth
Deze opdracht opent een browsertabblad om het verificatieproces af te ronden. Je bent klaar om je repository te scannen als je op de knop Verifiëren klikt. Wanneer de verificatie afgerond is kun je terugkeren naar je terminal en weer werken.
Aanvullende labresources
De oefeningen in deze tutorial omvatten een combinatie van opdrachten of codefragmenten die worden gedeeld binnen de opgegeven modulepagina's, evenals sjablonen en broncode die beschikbaar zijn in een openbare Bitbucket-repository. Zodra je Bitbucket Cloud-account is ingesteld, moet je deze resources naar je account kopiëren. Volg hiervoor de volgende stappen:
Vertak de repository
Klik hier om de upstream-repository te vertakken naar je Bitbucket-account. De documentatie van Atlassian biedt gedetailleerde instructies voor het vertakken van een repository.
Kloon je vertakking lokaal
Zodra de vertakking is voltooid, moet je je geforkte repository klonen. Raadpleeg de documentatie van Atlassian over het klonen van een repository voor gedetailleerde instructies.
Stap 2: Koppel Snyk aan Bitbucket
In deze sectie zullen we Snyk koppelen aan Bitbucket om onze Bitbucket-toepassing te scannen op open source-kwetsbaarheden.
Wat is software composition analysis (SCA)?
Software composition analysis (SCA) is een open source-tool voor componentbeheer. Het genereert een rapport met alle open source-componenten in een toepassing, inclusief directe en indirecte afhankelijkheden. Met behulp van een SCA-tool kunnen ontwikkelteams de open source-componenten die in een project zijn toegevoegd snel volgen en analyseren.
Hoewel ze handig zijn en veel worden gebruikt, zijn open source-componenten van oudsher moeilijk te volgen. Als gevolg hiervan hebben ontwikkelaars vertrouwd op handmatige processen zoals e-mails en spreadsheets om de situatie te verzachten. Deze handmatige processen dreigen echter het gemak van open source ongedaan te maken en een onvolledige oplossing te bieden. Een meer gewenste aanpak is om gebruik te maken van een SCA-tool die onmiddellijk inzicht geeft in elk component.
Waarom een SCA-tool gebruiken?
Open source-componenten zijn belangrijke bouwstenen in de ontwikkeling van software in vrijwel elke verticale omgeving. Ongeacht de omvang van je organisatie, helpt SCA open source-componenten te identificeren in de toepassingen die cruciaal zijn voor je bedrijf. SCA-tools stellen ontwikkelaars in staat om:
1. Inzicht te krijgen in afhankelijkheden die in toepassingen worden gebruikt.
2. Beveiligings- en compliancebeleid te handhaven gedurende de levenscyclus van softwareontwikkeling (SDLC).
3. Proactief potentiële kwetsbaarheden bij de bron op te lossen.
4. De efficiëntie van het team en de beveiliging van het bedrijf te verbeteren.
Stap 3: Een app-wachtwoord aanmaken
Je moet een app-wachtwoord aanmaken om Snyk toegang te geven tot je repository en Snyk's Bitbucket Cloud-integratie in te schakelen.
Een app-wachtwoord aanmaken:
1. Klik via je avatar linksonder op Persoonlijke instellingen.
2. Klik onder Toegangsbeheer op App-wachtwoorden.
3. Klik op App-wachtwoord aanmaken.
4. Geef het app-wachtwoord een naam die gerelateerd is aan de toepassing die het wachtwoord gebruikt.
5. Selecteer de specifieke toegang en rechten die je met dit app-wachtwoord wil hebben.
- Account:
lezen
- Teamlidmaatschap:
lezen
- Projecten:
lezen
- Repository's:
lezen en schrijven
- Pull requests:
lezen en schrijven
- Webhooks:
lezen en schrijven
6. Kopieer het gegenereerde wachtwoord en noteer het of plak het in de toepassing die je toegang wilt verlenen. Het wachtwoord wordt maar één keer weergegeven.
Stap 4: Repository-variabelen toevoegen
Je moet repository-variabelen definiëren op het niveau van de repository, waarnaar later in je pipeline wordt verwezen. Deze zullen uit het volgende bestaan:
- SNYK_TOKEN - Snyk API-token voor verificatie met je Snyk-account. Dit is een beveiligde variabele.
- IMAGE - Naam containerafbeelding. Dit is geen beveiligde variabele.
De andere variabelen zijn bedoeld voor verbeterde pipelinebewerkingen die niet in deze tutorial worden behandeld.
Stap 5: Je Snyk API-token verkrijgen
1. Je Snyk API-token verkrijgen
Navigeer vanuit de Snyk-console naar Instellingen (het tandwieltje in de afbeelding) en in het menu Algemeen, kopieer je je organisatie-ID.
Zodra je je token hebt gekopieerd, ga je terug naar de Bitbucket Cloud UI en definieer je de SNYK_TOKEN
repository-variabele.
Stap 6: Bitbucket-integratie inschakelen
Navigeer vanuit de Snyk-console naar Integraties en selecteer Bitbucket Cloud.
Voer op de Bitbucket Cloud-integratiepagina je Bitbucket-gebruikersnaam in het veld Gebruikersnaam in en het wachtwoord van de Bitbucket-app uit de vorige stap in het veld App-wachtwoord. Klik vervolgens op Opslaan.
Zodra je je Snyk- en Bitbucket-accounts hebt gekoppeld, zie je een bevestigingsbericht en de mogelijkheid om je Bitbucket Cloud-repository aan Snyk toe te voegen.
Blijf op deze pagina, dan leer je in het volgende gedeelte hoe je een Bitbucket Cloud-repository importeert en deze scant met Snyk.
Scan en monitor je Bitbucket-toepassing
Het scannen van je toepassing op kwetsbaarheden in je open source-afhankelijkheden begint bij de bron. In de vorige sectie hebben we de Snyk-integratie in Bitbucket ingeschakeld en nu kunnen we ons eerste project importeren.
Stap 7: Bitbucket Cloud-repository's toevoegen aan Snyk
Klik in het laatste scherm in de vorige sectie op Je Bitbucket Cloud-repository toevoegen aan Snyk.
Zoek de repository die je hebt vertakt in de module Omgeving configureren. Klik op het selectievakje om het aan te vinken en klik vervolgens op de knop Geselecteerde repository toevoegen om je project te importeren.
Stap 8: Bekijk het kwetsbaarheidsrapport
Je zou het aantal kwetsbaarheden moeten zien op basis van packages.json, met gedetailleerde informatie voor elke kwetsbaarheid. Klik op het project dat net is gescand en bekijk de resultaten in Snyk. Je ontvangt niet alleen context zoals ernst en exploitvolwassenheid voor kwetsbaarheden, maar ook de volgende krachtige functies:
- Deze kwetsbaarheid fixen zodat je kwetsbaarheden op kunt lossen door de directe afhankelijkheden te upgraden of de kwetsbaarheid te patchen.
- Prioriteitscore zodat je je effectief prioriteiten kunt stellen voor oplossingen. De score, variërend van 1-1000, wordt gevormd door een eigen algoritme dat een breed scala aan factoren verwerkt, zoals CVSS-score, de beschikbaarheid van opgeloste bekende exploits, hoe nieuw de kwetsbaarheid is en of deze bereikbaar is.
- Jira-integratie stelt je in staat om issues aan te maken in Jira.
Bekijk meer integraties voor Atlassian Open DevOps.
Deel dit artikel
Volgend onderwerp
Aanbevolen artikelen
Bookmark deze resources voor meer informatie over soorten DevOps-teams of voor voortdurende updates over DevOps bij Atlassian.