A DevSecOps a DevSecOps Tools segítségével a DevOps életciklus minden lépésében a biztonság megvalósításának gyakorlata.
A szoftverfejlesztésben a DevOps konkrét fejlesztési tevékenységek és informatikai műveletek kombinációja. Ennek a kombinációnak a célja a szoftver minőségének javítása és a folyamatos szállítás.
Ha hozzáadjuk a DevOps-hoz a biztonsági menedzsmentet, akkor az DevSecOps lesz: egy olyan tudományág, amely a biztonságot az IT-világ és a szoftverfejlesztési világ megosztott felelősségeként integrálja.
A múltban a biztonság egy speciális csapat kizárólagos felelőssége volt, akik a projektek végső fázisában csatlakoztak. Ez jól működött hónapokig vagy évekig tartó fejlesztési ciklusokban. Ám a hetekben mérhető agilis fejlesztési ciklusokban a projekt elejétől a végéig át kell gondolni a biztonsági gyakorlatokat, és a biztonsági felelősséget meg kell osztani a teljes fejlesztői és informatikai csapatnak.
Ahhoz, hogy a DevSecOps az agilis módszerek paradigmáinak megtörése nélkül működjön, integrálását automatizálni kell. Ez az egyetlen módja annak, hogy a DevOps munkafolyamat ne legyen lassú a biztonsági felügyelet beépítésekor. És ehhez az automatizáláshoz megfelelő mechanizmusokra van szükség, amelyek integrálják a fejlesztőeszközöket, például az integrált fejlesztői környezeteket (IDE-k) biztonsági funkciókkal.
Tartalomjegyzék
A DevSecOps eszközök típusai
A biztonság és a DevOps kombinációja számos formát ölthet. Emiatt különböző típusú DevSecOps eszközök léteznek, amelyek a következőkben foglalhatók össze:
- Sebezhetőségi vizsgálat nyílt forráskódú összetevőkben: Az elemzett kódbázisban található nyílt forráskód-összetevőkben és könyvtárakban keresik a lehetséges sebezhetőségeket, valamint azok összes függőségét.
- Statikus és dinamikus alkalmazásbiztonsági tesztelés (SAST/DAST): A statikus tesztelés átvizsgálja a fejlesztők forráskódját nem biztonságos kód után, hogy azonosítsa a lehetséges biztonsági problémákat. A dinamikus tesztelés biztonsági teszteket hajt végre futó alkalmazásokon anélkül, hogy hozzá kellene férnie a forráskódhoz.
- Képellenőrzés: Sebezhetőségeket keresnek a Docker-tárolókban.
- Infrastruktúra automatizálás: Különféle konfigurációs problémák és sebezhetőségek észlelése és kijavítása az infrastruktúra konfigurációjában, különösen felhőalapú környezetben.
- Vizualizálás: Láthatóságot biztosít a KPI-k és trendek számára, hogy észlelje a sebezhetőségek számának idővel történő növekedését vagy csökkenését.
- Fenyegetés modellezés: Proaktív döntéshozatal lehetővé tétele a fenyegetések kockázatának előrejelzésével a támadás teljes felületén.
- Figyelmeztetések: A zajszint csökkentése és a DevSecOps-munkafolyamatok megszakításának elkerülése érdekében csak akkor értesítse a biztonsági csapatot, ha a rendszer rendellenes eseményt azonosított, és azt fenyegetésként kezeli.
Az alábbi lista a DevSecOps eszközök válogatott listáját mutatja be, amelyekre támaszkodhat, ha beépítheti a „Sec” szót a DevOps munkafolyamataiba.
Invicti
Az Invicti egy olyan eszköz, amelyet integrálhat az SDLC-be, így a szoftvertermékek biztonságkezelését a fejlesztési folyamat agilitásának megőrzése mellett hajthatja végre.
Az Invicti által végzett elemzés kimerítő, pontosságot biztosít a problémák észlelésében anélkül, hogy feláldozná az SDLC kezelésének sebességét.
Az Invicti által kínált automatizálási lehetőségek elkerülik az emberi beavatkozást a biztonsági feladatok végrehajtása során, így havonta akár több száz órát is megtakaríthat a csapat.
Ezeket a megtakarításokat növeli a valóban fontos sebezhetőségek azonosítása, és automatikusan hozzárendeli azokat a legmegfelelőbb helyreállítási erőforrásokhoz.
Az Invicti emellett teljes rálátást biztosít a fejlesztés alatt álló alkalmazások sebezhetőségeire és a kockázat csökkentésére tett erőfeszítésekre.
SonarQube
A SonarQube automatikusan ellenőrzi a kódot a sebezhetőségek szempontjából, és megkeresi azokat a hibákat, amelyek fenyegetéssé válhatnak. Az írás idején közel 30 különböző programozási nyelvet támogat.
A SonarQube egyedülálló QualityGates funkciói egyszerű módot jelentenek a problémák megállítására, mielőtt egy termék a világra kerülne. A fejlesztőcsapatnak is közös minőségi rálátást biztosítanak, így mindenki megismerheti a szabványokat és azt, hogy fejlesztései megfelelnek-e azoknak.
A SonarQube zökkenőmentesen integrálódik a DevSecOps folyamatba, biztosítva, hogy a csapat minden tagja hozzáférjen az eszköz által generált jelentésekhez és visszajelzésekhez.
Egyszerű telepítésével a SonarQube egyértelműen jelzi, hogy a véglegesítések tiszták-e, és a projektjei készen állnak-e a kiadásra. Ha valami nem stimmel, az eszköz azonnal tájékoztatja, hol a probléma, és mi lehet a megoldás.
Aqua
Az Aqua lehetővé teszi a fenyegetések megjelenítését és megállítását szoftvertermékei életciklusának minden szakaszában, a forráskód írásától az alkalmazás felhőben történő telepítéséig.
A felhőalapú alkalmazásvédelmi platformként (CNAPP) működő eszköz szoftver-ellátási lánc biztonsági ellenőrzéseket, kockázat- és sebezhetőség-ellenőrzést, valamint fejlett kártevő-védelmet kínál.
Az Aqua integrációs lehetőségei lehetővé teszik alkalmazásai biztonságossá tételét a fejlesztéshez és telepítéshez használt platformoktól és mechanizmusoktól függetlenül, legyen szó felhőről, konténerről, szerver nélküli, CI/CD-folyamatról vagy hangszerelőről. A SIEM platformokkal és elemzőeszközökkel is integrálható.
Az Aqua megkülönböztető jellemzője, hogy lehetővé teszi a Kubernetes-tárolók biztonsági vezérlését KSPM-mel (Kubernetes Security Posture Management) és fejlett védelmet a Kubernetes futtatókörnyezetében. A natív K8s-funkciók használata házirend-vezérelt védelmet tesz lehetővé a tárolókban telepített alkalmazások teljes életciklusára vonatkozóan.
ProwlerPro
A ProwlerPro egy nyílt forráskódú eszköz, amelyet kifejezetten az Amazon Web Services (AWS) fejlesztői környezetek biztonságának ellenőrzésére fejlesztettek ki.
A ProwlerPro úgy lett megtervezve, hogy néhány perc alatt létrehozhat egy fiókot, és elkezdheti a fejlesztési folyamatok vizsgálatát, holisztikus képet nyújtva infrastruktúrájáról, függetlenül attól, hogy melyik régióban tartózkodik. Vizualizációs eszközei lehetővé teszik az összes AWS-szolgáltatás biztonsági állapotának egyetlen ablakban történő megtekintését.
Miután létrehozta ProwlerPro-fiókját, és elindult, beállíthatja a rendszert úgy, hogy 24 óránként automatikusan lefusson egy sor ajánlott ellenőrzést. A ProwlerPro-val végzett keresések párhuzamosan futnak a sebesség érdekében, hogy ne lassuljanak a DevSecOps munkafolyamatai.
A szkennelési eredmények egy sor előre meghatározott irányítópulton jelennek meg, amelyek könnyen megoszthatók és navigálhatók, ha közvetlenül betekintést nyerhet a biztonsági helyzet bármely részletének szintjére.
Valószínűleg
Ha már rendelkezik DevOps-munkafolyamattal, és biztonsági vizsgálatokat szeretne bele integrálni, a Probely ezt percek alatt lehetővé teszi, webalkalmazás-sebezhetőség-ellenőrző eszközeinek és API-inak köszönhetően.
A Probely megközelítése az API-első fejlesztésen alapul, ami azt jelenti, hogy az eszköz minden új funkcióját először az API-n keresztül kínálják fel, majd hozzáadják a felülethez. Ez a stratégia lehetővé teszi, hogy ha a Probely-t munkafolyamatokkal vagy egyéni szoftverekkel kell integrálnia, bármikor használhatja az API-ját.
Regisztrálhat webhookot is, hogy alkalmazásai értesítést kapjanak minden egyes, a Probely által generált eseményről.
Mivel a Probely számos kész integrációt kínál, valószínűleg nem kell az API-ját használnia, hogy integrálja az eszközeivel. Ha már használja a Jira-t és a Jenkinst a munkafolyamataiban, az integráció azonnali lesz.
A Probely automatikusan vizsgálatokat indít a CI/CD-folyamatokban, és regisztrálja a talált sebezhetőségeket a Jira-ban problémaként. A sérülékenységek elhárítása után újra teszteli őket, és szükség esetén újra megnyitja a megoldatlan problémát a Jira-ban.
Checkov
A Checkov átvizsgálja a felhő-infrastruktúrák konfigurációit azzal a szándékkal, hogy konfigurációs hibákat keressen egy szoftvertermék üzembe helyezése előtt. Egy közös parancssori felülettel ellenőrzi az eredményeket különböző platformokon, például Kubernetes, Terraform, Helm, CloudFormation, ARM Templates és Serverless keretrendszereken.
Az attribútum-alapú házirend-sémával a Checkov lehetővé teszi a felhő-erőforrások átvizsgálását fordítási időben, és az attribútumok konfigurációs hibáit egy egyszerű házirend-kódú Python-keretrendszer segítségével észleli. A Checkov többek között gráfalapú YAML-házirendek segítségével elemzi a felhő-erőforrások közötti kapcsolatokat.
A CI/CD folyamatokba és verzióvezérlő rendszerekbe való integrálással a Checkov végrehajtja, teszteli és módosítja a futóparamétereket a céltárral összefüggésben.
A bővíthető integrációs felületnek köszönhetően architektúrája kibővíthető egyéni házirendek, eltiltási feltételek és szolgáltatók meghatározásához. Interfésze lehetővé teszi a támogatási platformokkal való integrációt, a folyamatok felépítését és az egyedi kiadási rendszereket is.
Faraday
A Faraday segítségével automatizálhatja a sebezhetőségek kezelését és a műveletek ellenőrzését, hogy figyelme az igazán fontos munkára irányuljon. Munkafolyamatai lehetővé teszik bármilyen művelet elindítását egyéni eseményekkel, amelyeket szabadon megtervezhet a feladatok ismétlődésének elkerülése érdekében.
A Faraday lehetővé teszi a biztonsági eszközök szabványosítását és munkafolyamataiba való integrálását, így több mint 80 vizsgálóeszközből szerezhet be sebezhetőségi információkat. Ügynökök segítségével a szkennerek automatikusan integrálódnak a munkafolyamataiba, hogy a lehető legkönnyebben feldolgozzák és normalizálják az adatokat, és webes felületen keresztül megtekinthető eredményeket hozzanak létre.
A Faraday figyelemre méltó és érdekes aspektusa, hogy egy központi adattárat használ a biztonsági információk tárolására, amelyeket a DevSecOps csapat különböző tagjai könnyen elemezhetnek és tesztelhetnek.
Ez további előnyt jelent, amely a különböző eszközök által jelentett ismétlődő problémák azonosításának és kombinálásának képessége. Ez csökkenti a csapattagok erőfeszítéseit, elkerülve, hogy többször is odafigyeljenek ugyanarra a problémára, amelyet többször is jelentenek.
CircleCI
Ahhoz, hogy a CircleCI-t a legnépszerűbb DevOps biztonsági eszközökkel integrálhassa, a számos partner egyikét be kell vonnia a fejlesztési folyamatokba. A CircleCI partnerek több kategóriában is megoldást kínálnak, ideértve a SAST-t, a DAST-t, a statikus tárolóelemzést, a szabályzat érvényesítését, a titokkezelést és az API-biztonságot.
Ha olyasmit kell tennie a fejlesztési folyamat biztonsága érdekében, amit az elérhető orbok egyikével sem tehet meg, akkor kihasználhatja, hogy az orbok nyílt forráskódúak. Emiatt egy meglévő gömb funkcionalitásának hozzáadása csak a PR jóváhagyásának és egyesítésének kérdése.
Még akkor is, ha van olyan használati esete, amelyről úgy érzi, hogy kívül esik a CircleCI-nyilvántartásban elérhető orbok készletén, létrehozhat egyet, és hozzájárulhat a közösséghez. A vállalat közzéteszi a bevált gyakorlatok listáját az automatizált orb-összeállításhoz és a folyamatok teszteléséhez, hogy megkönnyítse az utat.
A folyamat biztonsága érdekében szükségtelenné tegye a házon belüli fejlesztést, és tegye lehetővé csapata számára, hogy harmadik féltől származó szolgáltatásokat vegyen igénybe. A CircleCI orbs használatával csapatának csak ezeket a szolgáltatásokat kell tudnia használni, és nem kell megtanulnia integrálni vagy kezelni őket.
Apróság
A Trivy egy nyílt forráskódú biztonsági eszköz, amely több szkennerrel rendelkezik, amelyek képesek észlelni a biztonsági problémákat, és különféle célpontokat találhat ilyen problémákra. A Trivy által ellenőrzött célok között szerepel a fájlrendszer, a konténerképek, a Git-tárolók, a virtuálisgép-képfájlok, a Kubernetes és az AWS-tárolók.
Az összes lehetséges célpont átvizsgálásával a Trivy ismert sebezhetőségeket, konfigurációs hibákat, titkokat vagy érzékeny információkat és szoftverlicenceket találhat, és észlelheti a szoftverellátási lánc problémáit, beleértve a használt szoftverektől és az operációs rendszercsomagoktól való függőséget.
Azok a platformok és alkalmazások, amelyekkel a Trivy integrálódni tud, megtalálhatók az ökoszisztéma oldalán. Ez a lista a legnépszerűbb neveket tartalmazza, például CircleCI, GitHub Actions, VS Code, Kubernetes vagy JetBrains.
A Trivy elérhető apt, yum, brew és dockerhub változatban. Nincsenek olyan előfeltételei, mint például adatbázisok, telepítési környezetek vagy rendszerkönyvtárak, és a becslések szerint az első vizsgálat mindössze 10 másodperc alatt befejeződik.
GitLeaks
A Gitleaks egy nyílt forráskódú eszköz, parancssori felülettel, amely a Docker, a Homebrew vagy a Go segítségével telepíthető. Bináris futtatható fájlként is elérhető a legnépszerűbb platformokon és operációs rendszereken. Közvetlenül a repóba is telepítheti előzetes véglegesítési horogként vagy GitHub-megosztásként a Gitleaks-Action segítségével.
Parancsfelülete egyszerű és minimalista. Mindössze 5 parancsból áll a kódban lévő titkok észleléséhez, a titkok védelméhez, szkriptek generálásához, segítségért vagy az eszköz verziójának megjelenítéséhez. Az észlelési parancs lehetővé teszi a tárolók, fájlok és könyvtárak vizsgálatát. Használható fejlesztőgépeken és CI környezetekben is.
A GitLeaks-szel végzett munka nagy része az észlelés és védelem parancsok használatával történik. Ezek Git-tárolókon működnek, elemzik a git log vagy git diff parancsok kimenetét, és javításokat generálnak, amelyeket a GitLeaks a titkok észlelésére és védelmére használ.
Maradjon versenyképes és biztonságos
Egyrészt a CI/CD-folyamatok mozgékonysága és sebessége kulcsfontosságú a gyors piacra kerülés biztosításában, ami viszont kulcsfontosságú a szoftverfejlesztői versenyképesség megőrzéséhez.
Másrészt a biztonsági eszközök fejlesztési folyamataiba való bevonása vitathatatlan szükségszerűség. A DevSecOps eszközök jelentik a megoldást, hogy a biztonságot az SDLC idővonalainak negatív befolyásolása nélkül építsék be.