Writing
Bezpečnostné kontroly Dockerfile pomocou pravidiel OPA Rego a Conftest
Bezpečnostné pravidlá pre Dockerfile pomocou Open Policy Agent a osvedčené postupy.
Table of Contents
Bezpečnostné kontroly Dockerfile pomocou pravidiel OPA Rego a Conftest
Docker je všade! V modernom každodennom vývoji a prevádzke používame Docker obrazy a kontajnery na spúšťanie našich aplikácií od vývojárskych notebookov, Raspberry Pi až po stagingové a produkčné prostredia.
Pri používaní moderných technológií a nástrojov často zabúdame na ich zabezpečenie počas zostavovania a poskytovania služieb zákazníkom. Preto môžeme zapísať a kodifikovať naše zabezpečenie do pravidiel (policies) a overovať ich voči Dockerfiles (Infrastructure as Code), aby sme identifikovali potenciálne bezpečnostné riziká ešte pred nasadením do produkcie.
Čo je Conftest?
Conftest je nástroj, ktorý vám pomáha písať testy pre štruktúrované konfiguračné údaje. Môžete napríklad písať testy pre svoje konfigurácie Kubernetes, kód Terraformu, konfigurácie Serverless alebo akékoľvek iné štruktúrované údaje. V našom kontexte ho použijeme na písanie validačných pravidiel pre zastarané verzie rozhrania Kubernetes API. Conftest sa pri písaní tvrdení spolieha na jazyk Rego z Open Policy Agent.
Čo je OPA (Open Policy Agent)?
Open Policy Agent (OPA, vyslovované „oh-pa“) je univerzálny open-source nástroj na presadzovanie pravidiel naprieč celým stackom. OPA poskytuje deklaratívny jazyk na vysokej úrovni, ktorý vám umožňuje špecifikovať pravidlá ako kód, a jednoduché rozhrania API na odľahčenie rozhodovania o pravidlách z vášho softvéru.
Príklad Rego Playground: https://play.openpolicyagent.org/p/hSVfocnUgg
Čo je docker-security-checker?
docker-security-checker využíva pravidlá Rego z Open Policy Agent na bezpečnostné kontroly Dockerfile pomocou Conftest.
Viac informácií nájdete na https://github.com/madhuakula/docker-security-checker