Livssyklus for sikker utvikling – mønstre
Lær mer om Well-Architected Trust → Sikker utvikling livssyklus
Sikkerhet må integreres gjennom hele livssyklusen for utvikling, fra første utforming til distribusjon og drift. Disse mønstrene aktiverer sikkerhetsrutiner som er skiftet til venstre, løser vanlige sårbarheter og sikrer distribusjonsledninger under behandling.
Mønstre
| Hvor du kan se | Hvordan det ser bra ut |
|---|---|
| Utvikling | Verktøy | ✅ IDE-sikkerhetsskanning integrert i utviklerarbeidsflyt |
| Utvikling | Design | ✅ Trusselmodellering fullført i utformingsfasen med STRIDE-metodikk |
| Utvikling | Krav | ✅ Sikkerhetskrav inkludert i brukerhistorier og akseptkriterier |
| Utvikling | Kildekontroll | ✅ Pre-commit-kroker håndheve sikkerhetspolicyer (hemmelig skanning, kodeanalyse) |
| Utvikling | Opplæring | ✅ Utviklersikkerhetsopplæring oppdateres regelmessig for å gjenspeile utviklende trusler |
| Utvikling | CI/CD | ✅ Automatisert sikkerhetstesting i CI/CD under arbeid mislykkes, bygger på viktige funn |
| Utvikling | Kodegennemgang | ✅ Sikkerhetspesevurderinger kreves for godkjenning, godkjenning og datatilgangskode |
| Utvikling | Kodeanalyse | ✅ Sikre kodingsstandarder håndhevet via linterer og statisk analyse |
| Utvikling | Avhengigheter | ✅ Skanning av avhengighetssårbarhet kjøres på hver bekreftelse |
| Utvikling | Testing | ✅ Omfanget av penetrasjonstester inkluderer nye funksjoner før GA-utgivelsen |
Anti-Mønstre
| Hvor du kan se | Hvordan dårlig ser ut |
|---|---|
| Utvikling | Testing | ⚡️ Sikkerhetstesting utsatt til manuell gjennomgang før utgivelse |
| Utvikling | Opplæring | ⚡️ Sikkerhetsopplæring utført bare én gang under introduksjon |
| Utvikling | Kodegennemgang | ⚡️ Sikkerhetsteam ser gjennom kode etter fletting |
| Utvikling | Design | ⚡️ Trusselmodeller oppdateres ikke når arkitektur endres |
| Utvikling | Kildekontroll | ⚡️ Hemmelig skanning deaktivert for å redusere usanne positive |
| Utvikling | CI/CD | ⚡️ Sikkerhetsfunn ignorert når utgivelsesperiodene tar slutt |
Mønstre
| Hvor du kan se | Hvordan det ser bra ut |
|---|---|
| Injeksjon | ✅ SOQL-spørringer bruker bindvariabler til å hindre injeksjon |
| Injeksjon | ✅ Brukerinndata validert og tømmes før bruk i SOQL-, SOSL- eller dynamiske spørringer |
| Injeksjon | ✅ Dynamisk SOQL begrenset bare til klarerte inndata |
| Tilgangskontroll | ✅ CRUD- og FLS-tillatelser håndhevet med Security.stripInaccessible() |
| XSS | ✅ Lightning isolerer brukergenerert innhold i grensesnittgjengivelse |
| Injeksjon | ✅ Eksterne API-integrasjoner validerer og fjerner alle inndata |
| Tilgangskontroll | ✅ Gjestebrukertilgang minimert og sterkt begrenset |
| Godkjenning | ✅ Navngivne legitimationsoplysninger, der bruges til ekstern godkendelse (ikke hardcodede legitimationsoplysninger) |
| Godkjenning | ✅ OAuth 2.0-flyter implementert riktig med PKCE |
| Øktbehandling | ✅ Øktsikkerhetspolicyer håndhever tidsavbrudd og IP-restriksjoner |
| Konfigurasjon | ✅ Sikkerhetstilstandssjekk gjennomgått kvartalsvis og funn med høy risiko rettet opp |
| Tilgangskontroll | ✅ Tilpassede metadata og tillatelser revidert for å hindre overprivatisering |
Anti-Mønstre
| Hvor du kan se | Hvordan dårlig ser ut |
|---|---|
| Injeksjon | ⚡️ SOQL-spørringer som er konstruert med strengkjeding med brukerinndata |
| Tilgangskontroll | ⚡️ Gjestebrukerprofiler gitt Opprette-, Oppdatere- eller Slette-tillatelse |
| XSS | ⚡️ Lightning bruker ikke-isolerte uttrykk i maler |
| Godkjenning | ⚡️ Eksterne integrasjoner bruker hardkodet legitimasjon i kode |
| Logge | ⚡️ Feilsøkingslogger inneholder sensitive data som passord eller PII |
| Tilgangskontroll | ⚡️ FLS- og CRUD-kontroller utelates fordi “vi kontrollerer alle brukerne” |
| Konfigurasjon | ⚡️ Funn av Sikkerhetstilstandssjekk ignorert eller utsatt på ubestemt tid |
Mønstre
| Hvor du kan se | Hvordan det ser bra ut |
|---|---|
| Pipeline | Kildekontroll | ✅ Avdelingsbeskyttelsesregler håndhever nødvendige vurderinger og statuskontroller |
| Pipeline | Tilgangskontroll | ✅ Distribusjonsledninger bruker tjenestekontoer med et minimum av nødvendige tillatelser |
| Pipeline | Hemmeligheter | ✅ Hemmeligheter lagret i sikre valser (aldri i kildekontroll eller miljøvariabler) |
| Pipeline | Distribusjon | ✅ Produksjonsdistribusjoner krever manuell godkjenning av port fra autorisert personale |
| Pipeline | Revisjon | ✅ Distribusjonslogger fanger opp hvem som distribuerte hva når med godkjenningsspor |
| Pipeline | Validering | ✅ Validering før distribusjon inkluderer sikkerhetsskanninger og samsvarskontroller |
| Pipeline | Tilgangskontroll | ✅ Godkjenning med flere faktorer kreves for administrative pipeline-tilgang |
| Pipeline | Overvåking | ✅ Endringer i Pipeline-konfigurasjon utløser varsler fra sikkerhetsteam |
| Pipeline | Validering | ✅ Automatisk validering etter distribusjon bekrefter at forventede sikkerhetskontroller er aktive |
| Pipeline | Avhengigheter | ✅ Avhengighetsoppdateringer evaluert for sikkerhetseffekt før distribusjon |
Anti-Mønstre
| Hvor du kan se | Hvordan dårlig ser ut |
|---|---|
| Pipeline | Hemmeligheter | ⚡️ Hemmeligheter som er bekreftet versjonskontroll (selv om de senere fjernes) |
| Pipeline | Kildekontroll | ⚡️ Alle kan flette til hovedavdeling/produksjonsavdeling uten gjennomgang |
| Pipeline | Tilgangskontroll | ⚡️ Distribusjons under arbeid med tillatelser på administratornivå |
| Pipeline | Distribusjon | ⚡️ Produksjonsdistribusjoner fullstendig automatisert uten godkjenningsportaler |
| Pipeline | Revisjon | ⚡️ Distribusjonslogger fanger ikke opp hvem som startet eller godkjente endringer |
| Pipeline | Validering | ⚡️ Mislykkede sikkerhetsskanninger ignorert eller omgått for å oppfylle tidsfrister |
| Pipeline | Overvåking | ⚡️ Endringer i Pipeline-konfigurasjon ikke sporet eller gjennomgått |
| Pipeline | Validering | ⚡️ Validering etter distribusjon kontrollerer bare funksjonens riktighet |
Mønstre
| Hvor du kan se | Hvordan det ser bra ut |
|---|---|
| Teste | Statisk analyse | ✅ Salesforce Code Analyzer kjører i utvikler-ID-er for umiddelbar tilbakemelding og i CI/CD pipelines som automatiserte porter |
| Teste | Penetrasjonstesting | ✅ Penetrasjonstesting utført for tilpassede programmer eksponert for brukere som ikke er klarert, spesielt Experience Cloud-nettsteder og offentlig tilgjengelige API-er |
| Teste | Enhetstester | ✅ Sikkerhetsfokuserte Apex kjøres som brukere med forskjellige tillatelsesprofiler |
| Teste | Avhengigheter | ✅ Avhengighetsskanning overvåker AgentExchange-pakker og JavaScript-biblioteker for kjente sårbarheter |
| Teste | Sikkerhetsgjennomgang | ✅ Statisk analyserapport klargjort for hver AppExchange eller AgentExchange-sikkerhetsvurderingssendelse |
| Teste | Sikkerhetsgjennomgang | ✅ Dynamisk skanningsrapport (inntrengningstest) klargjort når en løsning integrerer et tredjeparts nettprogram eller -tjeneste |
| Teste | Avhengigheter | ✅ Sikkerhetsvarsler for installerte pakker som abonneres på og overvåkes |
Anti-Mønstre
| Hvor du kan se | Hvordan dårlig ser ut |
|---|---|
| Teste | Dekning | ⚡️ Sikkerhetstesting er avhengig av en enkelt teknikk, som statisk analyse alene |
| Teste | Enhetstester | ⚡️ Apex validerer funksjonell virkemåte, men kjører aldri som brukere med lavere rettigheter |
| Teste | Sikkerhetsgjennomgang | ⚡️ AppExchange eller AgentExchange-innsending klargjort uten de nødvendige statiske analyser eller dynamiske skannerapportene |
| Teste | Penetrasjonstesting | ⚡️ Penetration testing hoppet over for offentlig tilgjengelige Experience Cloud-nettsteder og API-er |
Se også:
- Samsvar og forskriftsmønstre – Plattformstyring og revisjonskontroller
- Mønstre for identitet og tilgangsbehandling – godkjenning og godkjenning
- Hendelsesresponsmønstre – oppdagelse og svar på sikkerhetshendelser
- Agentmønstre – Agentspesifikke sikkerhetskontroller