Naar de hoofdinhoud

Hersteltermijn (SLA)

Elke openstaande bevinding (SAST, afhankelijkheden, containerimages, malware) krijgt naast haar ernst een SLA-label. Het label wordt berekend uit één gegeven, namelijk hoe oud de bevinding is, en één instelling: het SLA-beleid per ernst van je organisatie.

Standaardwaarden

Elke organisatie krijgt standaard deze termijnen:

ErnstStandaard-SLA
Kritiek7 dagen
Hoog30 dagen
Gemiddeld90 dagen
Laaggeen SLA

Deze standaardwaarden sluiten aan bij gangbare patchritmes in grote organisaties, zoals genoemd in NIST SP 800-40r4 en vergelijkbare kaders. Maak ze strenger als je auditpositie dat vraagt.

Toestanden van het label

De kleur van het label geeft de toestand aan, de tekst het aantal dagen.

  • Binnen termijn (groen): binnen de SLA, minder dan 80% van de weg naar de deadline. Het label toont de leeftijd van de bevinding tegenover de SLA, bijvoorbeeld 12/30 d.
  • Bijna verlopen (oranje): tussen 80% en 100% van de deadline. Plan deze week een fix. Het label toont de resterende dagen, bijvoorbeeld nog 5 dagen.
  • Overschreden (rood): voorbij de deadline. Wordt meegeteld in de wekelijkse digest en in de tegel SLA-overschrijdingen op het overzicht. Het label toont hoe ver de deadline voorbij is, bijvoorbeeld 3 d over SLA.
  • Geen SLA (grijs): aan deze ernst hangt geen beleid (de standaard voor low). Het label toont Geen SLA.

De drempel van 80% voor bijna verlopen is bewust gekozen: de meeste fixes vragen echt werk om op te pakken, te reviewen en uit te rollen, en een waarschuwing vóór de deadline geeft je die ruimte.

Beleid per organisatie instellen

De SLA per organisatie stel je in onder Beveiliging › Prioriteren › Hersteltermijn (SLA) (/<org>/_admin/security/prioritise/sla). Kies per ernst een strengere deadline. De berekening van overschrijdingen leest de rij security_sla_policy van je tenant direct, zonder nieuwe scan. De standaardwaarden hierboven gelden tot je ze overschrijft. Heb je een SLA nodig die niet op kalenderdagen is gebaseerd (bijvoorbeeld werkdagen of een feestdagenkalender), open dan een supportticket.

Bevindingen die niet bereikbaar zijn (optionele vermenigvuldiger)

Voor bevindingen in afhankelijkheden en containerimages berekent fremforge een oordeel over bereikbaarheid. Je organisatie kan de SLA van bevindingen met het oordeel niet bereikbaar (unreachable) verlengen met een geheel getal van 1 tot 4, met de vermenigvuldiger op dezelfde pagina, Beveiliging › Prioriteren › Hersteltermijn (SLA). De standaard, 1, betekent uit.

OordeelSLA
Geen aanroeppad (unreachable)De volledige SLA × de vermenigvuldiger
Bereikbaar, onbekend of niet geanalyseerdAltijd de volledige SLA
Bekend misbruikt: vermeld door de EU (ENISA EUVD) of de VS (CISA KEV)De volledige SLA, bij elke ernst en ongeacht het oordeel
Kritiek met EPSS in de hoogste 10 %De volledige SLA, ongeacht het oordeel

De deadline telt altijd vanaf het moment dat de bevinding voor het eerst is gezien. Vindt een latere scan een aanroeppad, of kan hij het niet bepalen, dan geldt direct weer de volledige SLA, zodat een bevinding meteen op Overschreden kan springen. Een verlengd label toont ×2 (of ×3, ×4) en de tooltip geeft beide deadlines; staat de vermenigvuldiger aan, dan legt de tooltip van een label met volledige SLA uit waarom het niet is verlengd. SAST-, licentie-, secret- en malwarebevindingen hebben geen oordeel en houden de volledige SLA.

De vermenigvuldiger verandert alleen deadlines. Wat een pull request blokkeert blijft hetzelfde, en er wordt geen enkele bevinding verborgen of genegeerd.

Bevindingen op beschermde releasebranches tonen ook een hersteldatum uit dit beleid, maar tellen niet mee in SLA-overschrijdingen, de SLA-tegel of een andere SLA-meting.

Over de reikwijdte van de SLA. De tabel hierboven is de klok voor het oplossen van bevindingen: hoe lang jij hebt om een bevinding in je code op te lossen. Die staat los van twee andere SLA’s die elders bij fremforge zijn beschreven:

  • De SLA voor het patchen van CVE’s in het platform (Kritiek 48 u / Hoog 72 u / Gemiddeld 7 d) gaat over hoe snel fremforge zijn eigen stack patcht; zie de beveiligingstoezeggingen voor het platform op Beveiliging en supply chain.
  • De SLA voor het melden van kwetsbaarheden (kritieke fix binnen 24 u / openbaarmaking 30 d na de fix, enzovoort) gaat over kwetsbaarheden in fremforge zelf die door onderzoekers zijn gemeld; zie Kwetsbaarheden melden.

Via de REST API

Het SLA-beleid per ernst kun je instellen via de publieke API. Handig als je met een configuratiescript of compliance-pipeline één consistent beleid over veel organisaties wilt afdwingen.

  • Beleid bijwerken PUT /_app/api/v1/orgs/:slug/security/sla-policy body: { "critical_sla_days": 3, "high_sla_days": 14, "medium_sla_days": 60, "low_sla_days": null, "unreachable_sla_multiplier": 2 }

Elk dagveld accepteert 1–365 dagen, of null om een ernst zonder SLA te laten; een ontbrekend dagveld telt als null. unreachable_sla_multiplier accepteert een geheel getal van 1 (uit) tot 4; anders dan bij de dagvelden blijft de opgeslagen waarde behouden als je het weglaat. GET /_app/api/v1/orgs/:slug/security geeft het beleid terug. Elke wijziging wordt geaudit als code-security.sla_policy.updated, met de vorige vermenigvuldiger als die is veranderd. Je hebt een Personal Access Token (PAT) met de scope policy:write nodig:

curl -X PUT \
  -H "Authorization: Bearer ${FREMFORGE_PAT}" \
  -H "Content-Type: application/json" \
  -d '{"critical_sla_days":3,"high_sla_days":14,"medium_sla_days":60,"low_sla_days":null}' \
  https://frem.sh/_app/api/v1/orgs/acme/security/sla-policy

Zie de referentie van de publieke REST API voor de volledige OpenAPI-specificatie.

Het compliancerapport meet de naleving van de SLA over een periode die je zelf kiest: bevindingen opgelost binnen de SLA, opgelost na de SLA, en nog open na de SLA, per ernst. Staat de vermenigvuldiger aan, dan meet het rapport elke bevinding tegen dezelfde deadline als haar label en toont het de beleids-SLA naast de verlengde.

Hoe overschrijdingen in andere pagina’s terechtkomen

  • De widget met openstaande beveiligings-PR’s op /<org>/_admin/overview toont de overschreden aanbeveling met de hoogste ernst als eerste.
  • De wekelijkse digest telt overschrijdingen in de samenvatting bovenaan.
  • SIEM-doorsturing verstuurt auditgebeurtenissen code-security.sla.breached op het moment dat een bevinding voor het eerst over de grens gaat. Staat de vermenigvuldiger aan, dan bevat de gebeurtenis van een verlengde bevinding ook full_sla_days en unreachable_sla_multiplier.

De telling in de digest, de tegel op het overzicht en de SIEM-gebeurtenis gebruiken allemaal dezelfde deadlines als de labels, inclusief de vermenigvuldiger. De Findings-API geeft ze ook terug, als object sla bij elke bevinding in afhankelijkheden en images (state, sla_days, due_at, full_sla_days, full_due_at, unreachable_multiplier, exempt). exempt is known_exploited (met exempt_sources: euvd, cisa_kev) of exploit_likely (kritiek, EPSS in de hoogste 10 %) wanneer een ingeschakelde vermenigvuldiger om die reden niet is toegepast, en anders null.

Zie ook