Levenscyclus van veilige ontwikkeling - Patronen

Lees meer over Goed Architectuurde Trust → Veilige ontwikkelingslevenscyclus

Beveiliging moet worden geïntegreerd in de gehele levenscyclus van ontwikkeling, van het eerste ontwerp tot de implementatie en operations. Deze patronen schakelen beveiligingspraktijken voor diensten naar links in, verhelpen veelvoorkomende kwetsbaarheden en beveiligen uw implementatiepijplijnen.

Patronen

Waar te zoekenHoe goed eruitziet
Ontwikkeling | Tooling✅ IDE-beveiliging scannen geïntegreerd in de ontwikkelaarswerkstroom
Ontwikkeling | Design✅ Dreigingsmodellering voltooid tijdens de ontwerpfase met behulp van STRIDE-methodologie
Ontwikkeling | Vereisten✅ Beveiligingsvereisten opgenomen in gebruikersstory’s en acceptatiecriteria
Ontwikkeling | Bronbeheer✅ Pre-commit haken afdwingen beveiligingsbeleid (geheim scannen, code-analyse)
Ontwikkeling | Training✅ Developer security training regelmatig vernieuwd om veranderende bedreigingen weer te geven
Ontwikkeling | CI/CD✅ Geautomatiseerde beveiligingstests in CI / CD-pijplijn mislukken bouwt voort op kritieke bevindingen
Ontwikkeling | Codebeoordeling✅ Beveiligingspeer reviews vereist voor authenticatie, autorisatie en gegevenstoegangscode
Ontwikkeling | Codeanalyse✅ Veilige coderingsnormen afgedwongen door middel van linters en statische analyse
Ontwikkeling | Afhankelijkheden✅ Afhankelijkheid kwetsbaarheid scannen wordt uitgevoerd op elke commit
Ontwikkeling | Testen✅ Penetratie testen scope omvat nieuwe functies vóór GA release

Anti-patronen

Waar te zoekenHoe slecht eruitziet
Ontwikkeling | Testen⚠️ Beveiligingstests uitgesteld tot handmatige beoordeling vóór release
Ontwikkeling | Training⚠️ Beveiligingstraining alleen eenmaal uitgevoerd tijdens onboarding
Ontwikkeling | Codebeoordeling⚠️ Beveiligingsteam beoordeelt code na samenvoegen
Ontwikkeling | Design⚠️ Dreigingsmodellen niet bijgewerkt wanneer architectuur verandert
Ontwikkeling | Bronbeheer⚠️ Geheim scannen uitgeschakeld om vals-positieven te verminderen
Ontwikkeling | CI/CD⚠️ Beveiligingsbevindingen genegeerd wanneer releasedeadlines opdoemen

Patronen

Waar te zoekenHoe goed eruitziet
Injectie✅ SOQL-query’s gebruiken bindingsvariabelen om injectie te voorkomen
Injectie✅ Gebruikersinvoer gevalideerd en opgeschoond voor gebruik in SOQL, SOSL of dynamische query’s
Injectie✅ Dynamische SOQL beperkt tot vertrouwde invoer alleen
Toegangscontrole✅ CRUD en FLS machtigingen afgedwongen met behulp van Security.stripInaccessible ()
XSS✅ Lightning componenten escape door de gebruiker gegenereerde inhoud in UI-weergave
Injectie✅ Externe API-integraties valideren en zuiveren alle invoer
Toegangscontrole✅ Gastgebruikerstoegang geminimaliseerd en zwaar beperkt
Authenticatie✅ Benoemde inloggegevens die worden gebruikt voor externe authenticatie (geen hard-coded inloggegevens)
Authenticatie✅ OAuth 2.0-stromen correct geïmplementeerd met PKCE
Sessiebeheer✅ Sessiebeveiligingsbeleidsvormen dwingen time-out- en IP-beperkingen af
Configuratie✅ Controle van beveiligingstoestand beoordeeld op kwartaalbasis en bevindingen met hoog risico verholpen
Toegangscontrole✅ Aangepaste metagegevens en machtigingen gecontroleerd om te voorkomen dat te veel privileges

Anti-patronen

Waar te zoekenHoe slecht eruitziet
Injectie⚠️ SOQL-query’s die zijn samengesteld met behulp van tekenreeksaaneenvoeging met gebruikersinvoer
Toegangscontrole⚠️ Gastgebruikersprofielen waaraan machtigingen Maken, Bijwerken of Verwijderen zijn verleend
XSS⚠️ Lightning componenten gebruiken niet-ontsnapte expressies in sjablonen
Authenticatie⚠️ Externe integraties gebruiken hard-coded inloggegevens in code
Vastleggen⚠️ Foutopsporingslogboeken bevatten gevoelige gegevens zoals wachtwoorden of PII
Toegangscontrole⚠️ FLS en CRUD controles weggelaten omdat “we alle gebruikers controleren”
Configuratie⚠️ Bevindingen van Controle van beveiligingstoestand genegeerd of voor onbepaalde tijd uitgesteld

Patronen

Waar te zoekenHoe goed eruitziet
Pijplijn | Bronregeling✅ Filiaalbeschermingsregels dwingen verplichte beoordelingen en statuscontroles af
Pijplijn | Toegangscontrole✅ Implementatiepijplijnen gebruiken serviceaccounts met minimaal vereiste machtigingen
Pijplijn | Geheimen✅ Geheimen opgeslagen in veilige kluizen (nooit in bronregeling of omgevingsvariabelen)
Pijplijn | Implementatie✅ Productie-implementaties vereisen handmatige goedkeuringspoort van bevoegd personeel
Pijplijn | Controleren✅ Implementatielogboeken leggen vast wie wat wanneer heeft geïmplementeerd met goedkeuringstrajecten
Pijplijn | Validatie✅ Pre-implementatievalidatie omvat beveiligingsscans en nalevingscontroles
Pijplijn | Toegangscontrole✅ Multi-factorenauthenticatie vereist voor toegang tot pijplijnbeheer
Pijplijn | Bewaking✅ Pijplijnconfiguratiewijzigingen activeren kennisgevingen aan beveiligingsteams
Pijplijn | Validatie✅ Geautomatiseerde validatie na implementatie bevestigt verwachte beveiligingscontroles actief
Pijplijn | Afhankelijkheden✅ Afhankelijkheidsupdates geëvalueerd op beveiligingsimpact vóór implementatie

Anti-patronen

Waar te zoekenHoe slecht eruitziet
Pijplijn | Geheimen⚠️ Geheimen vastgelegd voor versiebeheer (zelfs als later verwijderd)
Pijplijn | Bronregeling⚠️ Iedereen kan samenvoegen naar hoofd-/productietak zonder beoordeling
Pijplijn | Toegangscontrole⚠️ Implementatiepijplijnen worden uitgevoerd met machtigingen op beheerdersniveau
Pijplijn | Implementatie⚠️ Productie-implementaties volledig geautomatiseerd zonder goedkeuringspoorten
Pijplijn | Controleren⚠️ Implementatielogboeken leggen niet vast wie wijzigingen heeft geïnitieerd of goedgekeurd
Pijplijn | Validatie⚠️ Mislukte beveiligingsscans genegeerd of omzeild om deadlines te halen
Pijplijn | Bewaking⚠️ Pijplijnconfiguratiewijzigingen niet bijgehouden of beoordeeld
Pijplijn | Validatie⚠️ Validatie na implementatie controleert alleen de functionele correctheid

Patronen

Waar te zoekenHoe goed eruitziet
Testen | Statische analyse✅ Salesforce Code Analyzer uitgevoerd in ontwikkelaars-IDE’s voor onmiddellijke feedback en in CI / CD-pijplijnen als geautomatiseerde poorten
Testen | Penetratietesten✅ Penetratietests uitgevoerd voor aangepaste toepassingen die toegankelijk zijn voor niet-vertrouwde gebruikers, met name Experience Cloud-sites en openbare API’s
Testen | Eenheidstests✅ Op beveiliging gerichte Apex unit tests worden uitgevoerd als gebruikers met verschillende machtigingsprofielen
Testen | Afhankelijkheden✅ Afhankelijkheid scannen bewaakt AgentExchange-pakketten en JavaScript-bibliotheken op bekende kwetsbaarheden
Testen | Beveiligingsbeoordeling✅ Statisch analyserapport voorbereid voor elke AppExchange of AgentExchange Security Review indiening
Testen | Beveiligingsbeoordeling✅ Dynamisch scanrapport (penetratietest) dat wordt voorbereid wanneer een oplossing een externe webtoepassing of service integreert
Testen | Afhankelijkheden✅ Beveiligingsadviezen voor geïnstalleerde pakketten geabonneerd op en bewaakt

Anti-patronen

Waar te zoekenHoe slecht eruitziet
Testen | Dekking⚠️ Beveiligingstests steunen op één enkele techniek zoals statische analyse alleen
Testen | Eenheidstests⚠️ Apex tests valideren functionele werking, maar nooit uitgevoerd als gebruikers met lagere rechten
Testen | Beveiligingsbeoordeling⚠️ AppExchange of AgentExchange indiening voorbereid zonder de vereiste statische analyse of dynamische scan rapporten
Testen | Penetratietesten⚠️ Penetratietests overgeslagen voor openbare Experience Cloud-sites en API’s

Zie ook: