Kontinuerlig säkerhet
Ni ska använda olika verktyg för att hitta säkerhetsproblem i Microbloggen och lägga till dem i er CI kedja.
#Krav
När ni löser fel som hittas med nedanstående verktyg och commitar koden som löser felen, skriv tydliga commit meddelanden som förklarar vilket fel ni löser.
- I redovisningstexten ska ni förklara vilka fel ni hittade och löste.
Använd SAST verktyget Bandit för att hitta möjliga säkerhetshål i Python koden och lös dem.
- Lägg till det som ett beroende i
requirements/test.txt
. - Kör Bandit på koden i mappen
app
. Vi behöver inte köra det mot övrig kod i repot. - Lägg till ett Make kommando som kör bandit på er kod.
- Lös de fel som hittas.
- Avgör om de fel som hittas är false-positiv eller inte. Om false-positive kan ni lägga till så felet ignoreras.
- Lägg till det som ett beroende i
Använd skanner verktyget Trivy för att hitta möjliga säkerhetshål.
- Använda
target
:image
för att söka igenom er Microblog produktions image.- Använd
scanners
,vuln,secret,config
.
- Använd
fs
för att söka igenom hela repo mappen. Ni kan exkludera.venv
mappen. OBS detta kommando funkar inte på MacOS. För att köra det på Mac, lägg till det i er CI kedja och se resultatet.- Använd
scanners
,vuln,secret,config
.
- Använd
- Lägg till make kommando för båda
target
. - Lös felen som hittas.
- Använda
Använd Docker lint verktyget Dockle för att hitta möjliga säkerhetshål i er produktions image.
- Lägg till make kommando som kör Dockle på er produktions image.
- Lös de fel som hittas.
Skapa ett nytt workflow I Github Actions som kör Bandit, Trivy och Dockler på samma sätt som beskrivet ovanför.
- Ert nya workflow ska köras före era CD workflow och måste passera för att ni ska pusha er Docker image och driftsätta den.
- Det finns en färdig
dockle
Action man kan använda men ni ska inte göra det. Den söker även er “base image”, vi vill inte det och jag har inte hittat något sätt att stänga av det. Kör istället som vanligt via docker.
#Revision history
- 2023-11-17: (A, aar) Första versionen.