Welkom terug bij het tweede deel van onze blogserie, waarin we dieper ingaan op de krachtige mogelijkheden van Valint. In dit artikel concentreren we ons op de beleidsmotor van Valint en zijn cruciale rol bij het garanderen van naleving in uw gehele toeleveringsketen.
In onze vorige blogpost gaven we een overzicht ervan Valint's ontwerpprincipes.
Hoe de beleidsengine werkt
De beleidsmotor van Valint werkt op basis van een reeks regels die zijn georganiseerd in beleid dat is geverifieerd op basis van bewijsmateriaal dat is verzameld in de toeleveringsketen. Laten we de belangrijkste componenten ervan opsplitsen:
bewijsmateriaal: onveranderlijke objecten die bedoeld zijn om automatisch door het beleid te worden gebruikt. Deze objecten bevatten metagegevens die nodig zijn om beleidshandhaving mogelijk te maken en om aan compliance-eisen te voldoen. Bewijsinhoud omvat metagegevens over artefacten, gebeurtenissen en instellingen, maar kan ook daadwerkelijke rapporten, configuraties of scans verzamelen. Bewijsmateriaal kan zowel in ondertekende als in niet-ondertekende vorm voorkomen. Wij raden u aan de Intoto te volgen attest spec gebruikmakend van de ondertekende getuigenis en niet-ondertekende formaten.
- Attesten (ook wel verifieerbaar ondertekend bewijsmateriaal genoemd): Verifieerbaar bewijs gekoppeld aan een specifiek gegeven ecologische context, het overbrengen van vertrouwen met behulp van een of andere vorm van PKI-handtekeningen.
beleid: Deze definiëren de eisen waaraan uw toeleveringsketen moet voldoen en omvatten verschillende aspecten, zoals validatie, nalevingsdetails en het uiteindelijke oordeel op basis van bewijsmateriaal. De organisatie zou bijvoorbeeld een ‘Container Image-beleid’ kunnen hebben
Beleidsregels: Beleid bestaat uit regels die elk een specifieke nalevingscontrole vertegenwoordigen. Voorbeelden hiervan zijn de verificatie van handtekeningen en identiteiten, verificatie van SBOM-componenten, verificatie van de afwezigheid van kritische kwetsbaarheden. In navolging van het vorige voorbeeld zou het “Container Image-beleid” uit de volgende regels kunnen bestaan:
- Dwing ondertekening van afbeeldingen af.
- Waarschuw op afbeelding, geen klacht met specifieke labels.
bundels: Verzamelingen van beleid en regels waarnaar gemakkelijk als geheel kan worden verwezen. Bundels bieden een modulaire en georganiseerde manier om beleidssets als code te beheren en toe te passen. De standaardbeleidsbundel van Scribe wordt gepubliceerd onder https://github.com/scribe-public/sample-policies, aarzel niet om ernaar te verwijzen.
Beleid gebruiken met Valint
Valint stelt gebruikers in staat beleid te gebruiken als code uit publieke of private repository's, wat flexibiliteit en aanpassingsmogelijkheden biedt. Om aan de slag te gaan, installeert u eenvoudig Valint en definieert u uw beleid op basis van uw compliance-behoeften.
Installatie: Begin met het installeren van Valint met behulp van het meegeleverde script. Voer de volgende opdracht uit in uw terminal:
curl -sSfL https://get.scribesecurity.com/install.sh | sh -s — -t valint
Beleidsdefinitie: Definieer vervolgens uw beleid op basis van de nalevingsvereisten van uw organisatie. Maak een YAML-bestand, zoals my_policy.yaml
en structureer het zodat het de door u gewenste regels omvat. Hier is een voorbeeld van hoe uw beleidsbestand eruit zou kunnen zien:
naam: my_image_policy standaardwaarden: bewijs: ondertekend: waar regels: - gebruikt: images/fresh-image@v1 met: max_days: 100 - gebruikt: images/verify-labels-exist@v1 niveau: waarschuwing met: labels: # afbeelding vereist om gelabeld worden (Dockerfile LABEL commando) - beheerder # Vereist een onderhoudslabel. - org.opencontainers.image.source # Vereist dat afbeeldingen zijn gelabeld met hun bronnen
In dit voorbeeld hebben we een beleid gedefinieerd met de naam my_image_policy
, die bepaalt dat bewijsartefacten moeten worden ondertekend en dat afbeeldingen binnen de afgelopen 100 dagen moeten worden gemaakt. Bovendien geeft het een waarschuwing als afbeeldingen geen specifieke labels hebben.
Voel je vrij om uit te checken andere regels wij ondersteunen out-of-the-box.
Bewijscreatie: Voordat u uw beleid evalueert, moet u het nodige bewijsmateriaal verzamelen. Gebruik Valint om bewijs te creëren voor uw doelimago:
valint bom nginx:latest -o attest
Deze opdracht genereert bewijs voor de nginx:latest
beeld, waarbij ervoor wordt gezorgd dat het metagegevens bevat, zoals de identiteit van het beeld en de aanmaaktijd. Standaard gebruikt Valint de sigstore dienst als ondertekenaar voor het genereren van bewijs, waardoor een OIDC-identiteit aan een certificaat wordt gekoppeld. Valint ondersteunt echter ook het gebruik van uw eigen programma's x509 PKI-sleutels en CA-ketens voor ondertekening.
Selecteer eenvoudigweg de OIDC-identificatie van uw keuze om mee te ondertekenen.
Ten slotte kunt u het succes van het proces voor het genereren van bewijs samen met de identiteit ervan beoordelen om de integriteit en betrouwbaarheid ervan te garanderen.
[2024-03-26 12:41:55] INFO attest: [VERTROUWD] tekensucces, CA: fulcio-signer, CN: sigstore-intermediate, e-mails: [uw_identiteit@gmail.com], URI's: [] ... [2024-03-26 12:41:55] INFO attest: succesvol gegenereerd bewijs
Beleidsevaluatie: Nu uw beleid is gedefinieerd en bewijsmateriaal is gegenereerd, is het tijd om het te evalueren aan de hand van de onderdelen van uw toeleveringsketen. Maak gebruik van de valint verify
opdracht gevolgd door de doelafbeelding en uw beleidsbestand:
valint verify nginx:latest --policy my_policy.yaml
Samenvatting van de evaluatie:
Zodra de evaluatie is voltooid, bekijkt u de overzichtstabel die wordt geleverd door Valint-logboeken.
In dit specifieke geval illustreert de Valint-analyse dat de nginx:latest
afbeelding voldoet met succes aan de versheidseis, maar voldoet niet aan de etiketteringscriteria, zoals verwacht. De verstrekte tabel geeft beknopt de evaluatiestatus van elke regel weer, waarbij wordt aangegeven of het bewijsmateriaal correct is ondertekend.
SARIF-geformatteerde resultaten:
Bovendien kunt u de SARIF-geformatteerde resultaten verkennen die door Valint zijn geproduceerd als weer een stukje bewijsmateriaal om de evaluatie, overtredingen, niveaus en bewijsreferenties te detailleren.
Ondersteunde beheerplatforms:
Dit gestandaardiseerde formaat wordt ondersteund door verschillende beveiligingsbeheersystemen zoals GitHub, Azure en Scribe SAAS. Scribe-platforms verwerken niet alleen beleidsresultaten, maar vergemakkelijken ook het beheer van bewijsmateriaal en bieden uitgebreide functies voor kwetsbaarheidsbeheer, het bijhouden van statistieken en meer.
Informatievoorbeeld:
Om een indruk te geven van de informatie die beschikbaar is in de beleidsresultaten:
{ "versie": "2.1.0", "$schema": "https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json", "runs": [ { "tool": { "driver": { "informationUri": "https://scribesecurity.com", "name": "valint", "rules": [ { "id": "fresh -image", "name": "Nieuwe afbeelding", "shortDescription": { "text": "Een regel om te verifiëren dat de afbeelding niet ouder is dan een drempelwaarde" }, }, { "id": "labels", "name": "Labels", "shortDescription": { "text": "Een regel om te verifiëren dat de afbeelding alle vereiste labels heeft" }, }, "results": [ { "ruleId": "fresh-image" , "ruleIndex": 0, "kind": "pass", }, { "ruleId": "labels", "ruleIndex": 1, "kind": "fail", "level": "waarschuwing", "beleid .violation": { "type": "Ontbrekende labels", "details": [ { "label": "not_found" }, { "label": "org.opencontainers.image.source" } }, ... ] }
Beleidsbundels
Een bundel in Valint is een beleid als codepakket, in wezen een Git-opslagplaats het hosten van een reeks beleidsmaatregelen en regels. Gebruikers kunnen hun eigen bundel opzetten door de voorbeeldrepository van Valint te gebruiken en deze aan te passen aan hun behoeften.
Vork en pas aan: Begin met het forken van Valint's voorbeeld opslagplaats. Pas het beleid en de regels aan zodat ze aansluiten op de behoeften van uw organisatie.
Verstrekking aan Valint: Lever uw aangepaste bundel aan Valint:
valint verifiëren --bundle https://github.com/my_org/my_bundle.git \ --policy my_policy.yaml
Aangepaste regels
Bij het aanpassen van regels is de fundamentele verantwoordelijkheid het ontleden van de bewijslast en het rapporteren van overtredingen op basis van de gedefinieerde nalevingscriteria. Of u nu bestaande regels wijzigt of nieuwe regels maakt.
Nalevingscriteria definiëren: Definieer de nalevingscriteria op basis van organisatiebeleid, beveiligingsnormen of regelgeving.
De bewijscriteria definiëren: Definieer het bewijsmateriaal dat naar verwachting naleving zal aantonen.
Naleving evalueren en overtredingen melden: Gebruik de bewijslading om de naleving te beoordelen aan de hand van de gedefinieerde criteria. Meld overtredingen als het onderdeel niet aan de eisen voldoet.
Valint zorgt ervoor dat vereisten voor handtekeningen en bewijsoorsprong direct beschikbaar zijn voor elke aangepaste regel.
Terwijl Valint momenteel in dienst is OPA Rego voor het formuleren van regels wacht er een opwindende horizon, aangezien Python-regels in de nabije toekomst zullen worden geïntegreerd.
What’s next?
Integratie met Gatekeeper is nu toegankelijk! Raadpleeg onze documentatie voor details. Houd ons in de gaten voor een komende blogpost waarin we dieper ingaan op deze opwindende ontwikkeling.
Houd toekomstige blogposts in de gaten waarin we beleidsinitiatieven zullen onderzoeken, waaronder beleid op hoog niveau dat beveiligingsframeworks zoals SLSA en SSDF zal implementeren.
Spannend nieuws voor Python-enthousiastelingen! Onze nieuwste update bevat uitgebreide Python-ondersteuning, wat een aanzienlijke compatibiliteitsboost oplevert. Dit stelt beleidsschrijvers in staat om regels aan te passen met behulp van Python en gebruik te maken van het enorme scala aan bibliotheken.
Conclusie
Samenvattend biedt de beleidsengine van Valint een robuuste oplossing om compliance binnen uw supply chain te garanderen. Door gebruik te maken van de componenten ervan, zoals bewijsmateriaal, beleid en bundels, kunnen organisaties de compliance-inspanningen stroomlijnen en risico's effectief beperken.
Deze inhoud wordt u aangeboden door Scribe Security, een toonaangevende aanbieder van end-to-end software supply chain-beveiligingsoplossingen die state-of-the-art beveiliging levert voor codeartefacten en codeontwikkelings- en leveringsprocessen in de software supply chain. Meer informatie.