Otestujte si bezpečnost OSS komponent ve vašem softwaru, za 15 min. z nuly do CI-CD

Vyzkoušejte si scénář, který jsem ukazoval minulou středu jako úvodní čtvrthodinové demo semináře DevTest a DevOps multiplatformně v cloudu.

clip_image030Cílem bylo malé intro do Azure a do Visual Studio Team Services formou demo ukázky úplně z nuly.
V jedné ruce mikrofon v druhé myš, určený čas 15 minut a začínáme prakticky z ničeho, jediné co je k tomu třeba je aktivní Azure Account, stačí i trial.

Během pár minutek jsme si „naklikali“ CI/CD proces, který nám ověří bezpečnost komponent řešení, které máme v externím git repositáři pomocí Visual Studia Team Services a addonu Whitesource Bolt doinstalovaného z Visual Studio Team Services Marketplace. Jen tak mimochodem vznikla celá CI-CD pipeline s nasazením do Azure webu na nodejs.

Odstavec o komponentě Whitesource Bolt pro VSTS a TFS, kterou jsem použil v demu

clip_image004Prakticky všechny moderní softwarové aplikace méně či více využívají open source komponenty a knihovny. Někdy v průběhu tvorby softwaru je vývojáři použili, případně je připojili jako součást různých balíčků. Později již však nikdo nekontroluje, zdali jsou aktuální a bezpečné, zda jejich licenční model odpovídá finálnímu modelu aplikace, a co vlastně vše je v softwaru použito, navíc se toto průběžně mění s update softwaru. Bylo by však dobré znát alespoň nějaké odpovědi. Společnost White Source Software se zabývá tím, že kompletuje seznamy bezpečnostních chyb OSS komponent a poskytuje DevOps týmům nástroje na jejich kontinuální kontrolu i reporting.
WhitesourceBolt je free Addon do TFS a VSTS, který někteří majitelé Visual Studia Subscriptions mají jako dlouhodobou free součást benefitů svého předplatného, ostatní mohou použít zdarma časově omezenou verzi, jinak pro dlouhodobé použití je služba placená.

 

A konečně postup jak na to, aneb. vyzkoušejte si to také:

1. Udělám si úplně nový free VSTS account typu „nějakéjmeno.visualstudio.com“ u nás to bylo https://devopspraha.visualstudio.com

2. Zároveň se mi vygeneruje prázdný startovací VSTS projekt.

3. Naimportuji tam externí git repositář, který budu zkoumat. (U mne to je starší web aplikace založená na nodejs sample pro Windows WebMatrix a importoval jsem z githubu zde .)

clip_image006

4. Po importu se mi ve VSTS objeví nové zdrojáky...

5. Můžete si pohrát s nimi na webu
clip_image008

6. Nový VSTS tenant se mi také objeví v Azure portálu, v oblasti Team Services Accounts.
Vše je propojeno jednotným accountem a jedním loginem, stejným pro Azure a VSTS. (Pozor na různé Azure/O365 Active directory, je třeba v obou prostředí, VSTS i Azure pracovat v jednom nebo propojeném adresáři!)

7.
clip_image010

8. Nebudu se sám klikat s build pipelinou,(kombinace mikrofonu v jedné ruce, zpětných lomítek, hvězdiček v pipeline a času 15 minut je smrtelná), nechám si v Azure předgenerovat celý CI/CD proces na nějaké úplně nové websitě v Azure. Pro demo testík si nejprve založím nový web.

9.
clip_image012

10. Poté si nechám pomocí Azure vygenerovat CICD proces s nasazením do daného téměř prázdného webu na platformě nodejs:

11.
clip_image014

12.
clip_image016

13. Pokud vše dopadne dobře, ukáže to první Build

clip_image018

14. Přeskočím do VSTS accountu  a dotáhnu si do VSTS Addon WhitesourceBolt https://marketplace.visualstudio.com/items?itemName=whitesource.ws-bolt clip_image020 clip_image022

15. Po instalaci aktivuji 14tidenní verzi na záložce Build and Release

clip_image024

16. Přidám Whitesource do vygenerovaného Build procesu, který mi předtím Azure sám udělal
clip_image026

17. Zkusím změnit zdroják v git repu přímo ve VSTS a předpřipravený proces kontinuálního nasazení (viz CI Triger v třetí záložka obr. výše) mi spustí automaticky build a pak i release ... to jen abych ukázal to kontinuálno :).

18. Ještě se kouknu jestli se mi nová verze webu nasadila (což ale nemá s kontrolou nic společného.) a také časem uvidím dva Release, první kdy se tvořila pipeline z Azure, druhý, kdy jsem změnil zdroják ve VSTS git repu a tím vygeneroval triger pro nasazení. clip_image028

 

 

19. V nové vezi buildu je již přidán Whitesource Bolt a CI pipeline ho aktivovala, zkontroloval tedy knihovny a vygeneroval mi onen kýžený reportík:

HOTOVO, čas 14 minut.

clip_image030

 

 

 

 

 

Jenom pro informaci: Za pár hodin po prezentaci jsme celosvětově uvedli novinku:   Azure DevOps Projects

Zde je „klikačka“ dovedena téměř k dokonalosti, udělá to samo i website třeba na dockeru, také VSTS account, přidá telemetrii atd…
WSBold si ale do pipeline musíte samozřejmě přidat opět sami.

clip_image032 clip_image034 clip_image036


Jiří Burian
https://www.linkedin.com/in/jiribur/