Close

Snyk en Bitbucket Cloud integreren om DevSecOps mogelijk te maken

Headshot Simon Maple
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.

Diagram van bitbucket-proces

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.

Venster Persoonlijke instellingen

2. Klik onder Toegangsbeheer op App-wachtwoorden.

venster voor toegangsbeheer

3. Klik op App-wachtwoord aanmaken.

venster voor app-wachtwoord

4. Geef het app-wachtwoord een naam die gerelateerd is aan de toepassing die het wachtwoord gebruikt.

venster voor app-wachtwoord

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.

Venster Repository-instellingen

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.

Snyk algemene instellingen

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.

Venster Snyk-integraties

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.

Instellingen: venster integraties

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

miniatuur scannen en bewaken van bitbucket

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.

Bitbucket Cloud-repository's 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.

Knop geselecteerde repository's toevoegen in de rechterbovenhoek

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:

Kwetsbaarheidsrapport
  • 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.
Simon Maple
Simon Maple

Simon Maple is the Field CTO at Snyk, a Java Champion since 2014, Virtual JUG founder, and London Java Community co-leader. He is an experienced speaker, with a passion for community. When not traveling, Simon enjoys spending quality time with his family, cooking and eating great food.


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.

Toelichting DevOps

DevOps-community

Toelichting DevOps

DevOps-leertraject

Afbeelding van kaart

Gratis aan de slag

Meld je aan voor onze DevOps-nieuwsbrief

Thank you for signing up