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 zoeken | Hoe 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 zoeken | Hoe 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 zoeken | Hoe 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 zoeken | Hoe 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 zoeken | Hoe 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 zoeken | Hoe 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 zoeken | Hoe 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 zoeken | Hoe 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:
- Naleving en regelgevingspatronen — Platformgovernance en auditcontroles
- Identiteits- en toegangsbeheerpatronen: authenticatie en autorisatie
- Incidentresponspatronen: detectie en reactie van beveiligingsevents
- Agentische patronen: agentspecifieke beveiligingsbesturingselementen