DevSecOps-arsenaali: Nollasta sankariksi
Ollaanpa rehellisiä: trivy image -komennon ajaminen ei ole DevSecOpsia. Se on vain melun tuottamista.
Todellinen tietoturvainsinöörityö liittyy signaali-kohinasuhteeseen. Kyse on putkiston rakentamisesta, jota kehittäjät kunnioittavat, ei sellaisesta, jonka he kiertävät. Tämä opas tarjoaa “tuotantovalmiit” konfiguraatiot 17 teollisuuden standardityökalulle haavoittuvuuksien estämiseksi ilman, että liiketoiminta pysähtyy.
Vaihe 1: Pre-Commit & Paikallinen (Siirry vasemmalle tai mene kotiin)
Ongelmien havaitseminen CI
on jo liian myöhäistä. Olet juuri tuhlannut laskentakrediittejä ja kehittäjän kontekstinvaihtoaikaa. Havaitse se heidän kannettavallaan.1. Gitleaks (Salaisuuksien vartija)
Älä ole se yritys, joka vuotaa AWS-avaimia GitHubiin.
Useimmat ihmiset ajavat Gitleaksia sokeasti. Ammattilaiset käyttävät peruslinjoja.
--baseline-path: Kultainen lippu. Suorita uusi skannaus, tallenna tulos. Nyt Gitleaks hälyttää VAIN uusista salaisuuksista.--redact: Peitä löydetyt salaisuudet tuloslokissa (prosenttiosuus 0-100). Älä koskaan vuoda kahdesti.--enable-rule: Keskity tiettyihin salaisuustyyppeihin (esim. vain AWS-avaimiin) ID perusteella.--follow-symlinks: Älä anna salaisuuksien piiloutua symbolisten linkkien taakse.--ignore-gitleaks-allow: Estä inline “ohita”-kommenttien käyttö. Vahvista säännöt.--max-target-megabytes: Vältä massiivisten binääritiedostojen skannausta.
2. Trufflehog (Varmistaja)
Merkkijonon löytäminen, joka näyttää avaimelta, on yksi asia. Tarkistaa, toimiiko se, on toinen.
Trufflehog erottautuu varmentamalla tunnistetiedot palveluntarjoajaa vastaan.
--no-verification: Nopeampi tila. Ohittaa “live-tarkistuksen”, jos haluat vain staattisen analyysin.--results: Suodata tuloksetverified(todellinen vaara) taiunknownmukaan.--filter-entropy: Löydä korkean entropian merkkijonoja (todennäköisesti salasanoja) ilman regex-osumaa. Aloita arvolla 3.0.--detector-timeout: Rajoita suoritusaika per tunnistin estääksesi CI jumiutumisen.--archive-max-depth: Älä jää jumiin sisäkkäisiin zip-pommeihin.
3. Opengrep (Nopea staattinen analyysi)
Grep on kuollut. Kauan eläköön rakenteellinen haku.
Semgrep-yhteensopiva moottori, joka löytää virheitä koodimalleilla, ei pelkästään merkkijonoilla.
--baseline-commit: Tärkeä. Skannaa vain koodi, joka on muuttunut tietystä sitoumuksesta lähtien (Delta-skannaus).--config: Lataa mukautetut säännöt YAML-rajoista tai rekisteristä.--dataflow-traces: Näytä koko polku, miten data liikkuu lähteestä kohteeseen.--exclude-minified-files: Ohita.min.jsja muut tiheät, ei-ihmisen luettavat tiedostot.--strict: Epäonnistu rakennuksessa, jos konfiguraatio on virheellinen tai WARN-tason virheitä ilmenee.
4. Bandit (Python-turvallisuus)
Python AST -analyysin standardi.
-t/--tests: Suorita VAIN tietyt testitunnukset (sallittujen lista).-s/--skips: Ohita tietyt testitunnukset (kiellettyjen lista).--severity-level: Näytä vain tulokset, joiden vakavuus onlow,mediumtaihigh.--confidence-level: Suodata “arvailut” pois—näytä vain korkean luottamustason löydökset.--ignore-nosec: Katso, mitä kehittäjät yrittävät ohittaa käyttämällä# nosec.
5. Dustilock (Riippuvuuksien sekaannus)
Estä hyökkääjää injektoimasta haitallista yksityistä pakettia.
-a: Vain auditointi. Tarkista, oletko altis pakettinimen kaappaukselle pysäyttämättä putkea.
6. Hadolint (Docker Intelligence)
Dockerfile on huono. Hadolint tietää miksi.
--trusted-registry: Toimitusketjun turvallisuus. Salli vain kuvatinternal.ecr.aws.--strict-labels: Metadatan standardien noudattaminen (esim.maintainer,cost-center).--ignore: Hiljennä säännöt, jotka eivät koske rakennettasi.--error/--warning: Muuta sääntöjen vakavuusasteet vastaamaan politiikkaasi.--require-label: Vaatia tiettyjä etiketin muotoja (Regex).
7. TFLint (Terraform Logic)
terraform validate on syntaksitarkistus. TFLint on logiikkatarkistus.
--enable-plugin: Lataa palveluntarjoajakohtaiset säännöt (esim. AWS, Azure) tarkistaaksesi API-määrityksiä vastaan.--minimum-failure-severity: Hallitse rakennuskatkon kynnystä (Error, Warning, Notice).--call-module-type: Skannaaall,localtainonemoduulit.--var-file: Syötä muuttujia arvioidaksesi ehdollista logiikkaa tarkasti.
Vaihe 2: CI-portinvartijat (Luota, mutta varmista)
Tämä on sotahuone. Syvä analyysi rakennusprosessin aikana.
8. Trivy (Raskas lyöjä)
Sveitsin armeijan linkkuveitsi.
--ignore-unfixed: Pakollinen. Jos korjausta ei ole, älä epäonnistu rakennuksessa. Seuraa sitä.--ignore-status: Suodata pois haavoittuvuudet, joilla on tietyt tilat.--pkg-types: Keskity skannauksissaos-paketteihin tailibrary-riippuvuuksiin.--offline-scan: Suorita ilman verkkoyhteyttä olevissa ympäristöissä.--include-dev-deps: Älä ohitadevDependencies-riippuvuuksia—ne voivat silti vaarantaa rakennusympäristön.--list-all-pkgs: Tulosta kaikki. Välttämätön täydellisen SBOM luomiseksi.
9. Syft (SBOM Generaattori)
Et voi suojata sitä, mitä et tiedä omistavasi.
--enrich: Lisää online-metatietoja rikkaamman käyttökontekstin saamiseksi (Golang, Java, jne.).-s/--scope: Skannaa kaikki kerrokset (all-layers) tai vain lopullinen kuva (squashed).--select-catalogers: Kohdista tietyt pakettienhallintajärjestelmät (npm, pip, apk).--platform: Kohdista tietyt arkkitehtuurit (esim.arm64).
10. Grype (SBOM Skanneri)
Ottaa viestikapulan Syftiltä.
-f/--fail-on: Keskeytä rakennus, jos vakavuus >=medium,high, jne.--only-fixed: Raportoi vain haavoittuvuudet, jotka ovat toiminnallisesti korjattavissa.--by-cve: Järjestä tuloste CVE-tunnuksen mukaan seurantaa varten.--ignore-states: Ohita yleiset “wontfix” tai “not-affected” tilat.
11. Checkov (IaC Hallinta)
Estä pilvikonfiguraatiovirheet ennen kuin ne maksavat sinulle rahaa.
-s/--soft-fail: Varoita, mutta älä riko. Paras “havainnointitilaan”.--check/--skip-check: valko- tai mustalista tietyt tarkistukset (CKV_AWS_1).--skip-framework: Ohita kokonaiset kehykset (esim. skannaa Terraform, mutta ohita CloudFormation).--enable-secret-scan-all-files: Laajenna salaisuuksien skannausta standardikonfiguraatiotiedostojen ulkopuolelle.--block-list-secret-scan: Sulje tietyt tiedostot pois salaisuuksien skannerista.
12. KICS (Keeping IaC Secure)
Vaihtoehto laajalle IaC-kattavuudelle.
--exclude-queries: Poista hälyä suodattamalla pois tietyt kyselytunnukset.--exclude-categories: Suodata löydökset turvallisuusalueen mukaan.--fail-on: Määritä, mitkä vakavuustasot palauttavat nollasta poikkeavan poistumiskoodin.--minimal-ui: Yksinkertaistettu CLI-ulostulo puhtaampia lokitietoja varten.--disable-secrets: Poista sisäinen salaisuuksien skannaus käytöstä (käytä sen sijaan Gitleaksia).
13. Terrascan (Policy-as-Code)
Erikoistunut monipilvipolitiikan täytäntöönpanoon.
-i/--iac-type: Optimoi määrittämällä alusta (k8s, helm, terraform).-t/--policy-type: Suodata politiikat tarjoajan mukaan (aws, azure, gcp).--severity: Määritä raportoitava vähimmäisvakavuus.--non-recursive: Skannaa vain nykyinen hakemisto.
14. OWASP Dependency-Check (Legacy & Compliance)
Raskaan sarjan työkalu Java- ja .NET-SCA
.--failOnCVSS: Katkaise rakennus, jos jokin kirjasto ylittää CVSS-pisteytyksen (esim. 7.0).--suppression: Käytä XML-tiedostoa “vaimentamaan” tunnetut turvalliset haavoittuvuudet (VEX-lite).--enableExperimental: Käytä uusia analysoijia vähemmän yleisille kielille.
15. DevSkim (Polyglot Hygiene)
Kehittäjäkeskeiset IDE- ja CI-tarkistukset.
--rule-ids: Rajoita analyysi tiettyihin sääntöihin.--ignore-globs: Käytä standardoituja glob-malleja ohittaaksesi meluisat tiedostot.--skip-git-ignored-files: Synkronoi automaattisesti.gitignore-tiedoston kanssa.--skip-excerpts: Pidä raportit pieninä poistamalla koodinäytteet.
Vaihe 3: Ajoaika & Artefaktit (Viimeinen Linja)
Lopullisen artefaktin tai live-ympäristön skannaus.
16. Clamscan (Haittaohjelmien Torjunta)
Koska joskus ihmiset lataavat viruksia S3-kansioosi.
--exclude/--exclude-dir: Ohita tiedosto/hakemistomallit ajan säästämiseksi.--detect-pua: Etsi “Mahdollisesti Ei-toivottuja Sovelluksia” (mainosohjelmat, louhijat).--detect-structured: Skannaa herkkiä tietomalleja, kuten luottokortit/SSN.--scan-pdf/--scan-html: Ota käyttöön syvä tarkastus dokumenttityypeille.--cross-fs: Salli skannaus eri tiedostojärjestelmien välillä (käytä varoen).
17. Nuclei (Hakkerin Veitsi)
Mallipohjainen skannaus, joka tuntuu laittomalta.
-t/--templates: Aja tiettyjä mallikansioita tai -tiedostoja.-tags: Kohdista skannaukset teknologian perusteella (esim.wordpress,cve).-s/--severity: Suodata mallipohjat vaikutustason mukaan.-fr/--follow-redirects: Seuraa HTTP 301/302 uudelleenohjauksia löytääksesi hyötykuorman.-passive: Skannaa tarkastelemalla olemassa olevia otsikoita/vastauksia lähettämättä uusia “hyökkäyksiä”.-etags fuzz: Sulje pois fuzzing-mallit tuotannossa.
Yhteenveto: “Täydellinen” putki
- Paikallinen:
pre-commitajaa Gitleaks (peruslinja), Trufflehog (varmistettu) ja Hadolint. - Rakenna: Trivy skannaa riippuvuudet (
--ignore-unfixed). Syft luo SBOM. Dependency-Check vaatimustenmukaisuuden tarkistamiseen. - Testaa: Checkov ja KICS skannaavat Terraform-suunnitelman. Opengrep tarkistaa koodimallit.
- Artefakti: Clamscan tarkistaa lopullisen binäärin/varat.
- Ota käyttöön: Nuclei tarkistaa live-päätepisteen järkevyyden.
Säädä työkalujasi, tai ne säätävät sinut pois.
Plexicus teki kaiken helpommaksi
Yhdellä yhtenäisellä kojelaudalla ja pääsyllä kaikkiin työkalujemme integraatioihin, se vie vain muutaman klikkauksen Plexicus


