Author Image

Ruud Silvrants

Developer

TYPO3 tovenaar. Duikt ook in webapplicaties. Rots in de branding. Laat zich niet opjagen. Is nooit te beroerd om te helpen. Heeft eindelijk teckel Meggie zindelijk gekregen.  
 

Blog Header

Hou je gitlab branches veiliger met deze 2 stappen

Push je veel code naar gitlab? Werk je veel samen aan projecten? Zorg er dan voor dat de branche rechten goed staan. Anders kunnen anderen die eigenlijk geen rechten behoren te hebben schade aanbrengen door gevaarlijke code te pushen. Met onze twee stappen houd je je gitlab branch veilig.

Projecten van klanten moeten altijd veilig zijn. Dat is waarom we altijd testen op gitlab rechten en het goed afschermen van keys voor derden. Briljante code verpakt in een mooi jasje kan ervoor zorgen dat je data wordt blootgelegd en zo je data kan stelen of een applicatie kan platleggen. Waardoor organisaties die afhankelijk zijn van jouw applicatie de dupe worden. Een boze klant aan de lijn is dan het minste van je problemen.

Voor wie dien je de rechten nu goed af te schermen? Gebruikers hebben toch al bepaalde toegang tot je repository. Is zo de gebruiker dan al niet goed afgeschermd? Waarom is het dan toch zo belangrijk dat dit afgeschermd wordt op branch niveau?

Een developer krijg toegang tot je project om een nieuwe feature te kunnen bijdragen en heeft daardoor schrijfrechten nodig voor de repository om te kunnen bijdragen. De branches zijn nog niet beschermd en de gebruiker pushed bijvoorbeeld zijn prototype per ongeluk naar een release branch. Door automatische deployment wordt deze branch gereleased. Het prototype staat nu op de server en kan dus je applicatie stuk maken. Hoe voorkom je dit?

Stappenplan
Volg de twee stappen en je bent helemaal safe.

Stap 1, afschermen van je branches

Het veilig afschermen van branches die gebruikt worden voor deployments of releases. In Gitlab kan dit worden ingesteld door middel van “protected branches” die je als volgt kunt vinden:

  • Ga naar de juiste repository die je wilt beveiligen
  • Ga naar de instellingen -> repository
  • Klik op protected branches
  • Hier vind je de instellingen voor het protecten van je branches
  • Selecteer de branches/ wildcard voor de branches die je wilt afschermen.
  • Selecteer de personen die rechten mogen hebben om merge request te mogen doorvoeren naar de branch
  • Selecteer de personen die rechten mogen hebben om wijzigingen te pushen.
  • Sla de wijzigingen op, “Protect”

Een veilig manier van werken is om de branches die worden gereleased naar je live omgeving af te schermen om te pushen. Dit voorkomt dat je per ongeluk een wijziging naar de verkeerde branch pushed, het dient namelijk nog eerst in Gitlab goedgekeurd worden door middel van een merge request.

Je branches zijn door de vorige stap nu wel veilig, maar andere branches kunnen mogelijk wel nog gevaarlijk zijn. Nu zal je vast denken, ‘makkelijk, dan beveilig ik deze toch ook?’ Misschien denk je, ‘wat is er onveilig hij/zij heeft geen toegang tot de beveiligde branches?’ Het probleem zit zich hier in de mogelijke keys die gebruikt worden voor automatische deployment. 

Stap 2, het afschermen van je keys

Een gebruiker kan bijvoorbeeld zijn onbeveiligde branch deployen aangezien de keys die nodig voor deployment nog niet zijn afgeschermd. De keys kunnen namelijk ook worden afgeschermd voor de protected branches. Dit kan worden ingesteld door middel van het toevoegen van je deployment keys en je key “protected” te zetten. Hierdoor wordt de key afgeschermd en is deze alleen te gebruiken in je beveiligde branches. 

Het automatisch deployen zonder enige key is mogelijk. Wil je dit veilig houden, let er dan op dat dat de deployment strikt alleen de beveiligde branches kan deployen. Het moet dus niet mogelijk zijn om je deployment instellingen aan te passen in het project of in een branch.

Voila, je gitlab instellingen zijn door deze twee stappen een stuk veiliger!

Lees meer