Ciclo di vita dello sviluppo sicuro - Schemi
Ulteriori informazioni su Well-Architected Trust → Secure Development Lifecycle
La sicurezza deve essere integrata in tutto il ciclo di vita dello sviluppo, dalla progettazione iniziale alla distribuzione e alle operazioni. Questi schemi abilitano procedure di sicurezza a sinistra, risolvono vulnerabilità comuni e proteggono le opportunità in corso di realizzazione.
Schemi
| Dove cercare | Che bell’aspetto |
|---|---|
| Sviluppo | Tooling | ✅ Scansione di sicurezza IDE integrata nel flusso di lavoro dello sviluppatore |
| Sviluppo | Design | ✅ Modellazione delle minacce completata in fase di progettazione utilizzando la metodologia STRIDE |
| Sviluppo | Requisiti | ✅ Requisiti di sicurezza inclusi nelle storie utente e nei criteri di accettazione |
| Sviluppo | Controllo sorgente | ✅ Gli hook pre-commit impongono policy di sicurezza (scansione segreta, analisi del codice) |
| Sviluppo | Formazione | ✅ Formazione sulla sicurezza degli sviluppatori aggiornata regolarmente per riflettere le minacce in evoluzione |
| Sviluppo | CI/CD | ✅ I test di sicurezza automatici nelle opportunità in corso di realizzazione CI/CD non riescono |
| Sviluppo | Revisione codice | ✅ Esami tra pari di sicurezza richiesti per l’autenticazione, l’autorizzazione e il codice di accesso ai dati |
| Sviluppo | Analisi codice | ✅ Proteggere gli standard di codifica applicati tramite linter e analisi statica |
| Sviluppo | Dipendenze | ✅ Scansione della vulnerabilità delle dipendenze eseguita su ogni conferma |
| Sviluppo | Test | ✅ Scope del test di penetrazione include nuove funzionalità prima del rilascio di GA |
Anti-schemi
| Dove cercare | Che brutto aspetto |
|---|---|
| Sviluppo | Test | ⚠️ Test di sicurezza rinviati alla revisione manuale prima del rilascio |
| Sviluppo | Formazione | ⚠️ Formazione sulla sicurezza condotta una sola volta durante l’orientamento |
| Sviluppo | Revisione codice | ⚠️ Il team di sicurezza esamina il codice dopo l’unione |
| Sviluppo | Design | ⚠️ Modelli di minaccia non aggiornati quando cambia l’architettura |
| Sviluppo | Controllo sorgente | ⚠️ Scansione segreta disabilitata per ridurre i falsi positivi |
| Sviluppo | CI/CD | ⚠️ Risultati di sicurezza ignorati quando incombono le scadenze di rilascio |
Schemi
| Dove cercare | Che bell’aspetto |
|---|---|
| Iniezione | ✅ Le query SOQL utilizzano variabili di collegamento per impedire l’iniezione |
| Iniezione | ✅ Input utente convalidato e disinfettato prima dell’uso in SOQL, SOSL o query dinamiche |
| Iniezione | ✅ SOQL dinamico limitato solo agli input affidabili |
| Controllo dell’accesso | ✅ autorizzazioni CRUD e FLS applicate utilizzando Security.stripInaccessible() |
| XSS | ✅ Componenti Lightning escape di contenuti generati dagli utenti nel rendering dell’interfaccia utente |
| Iniezione | ✅ Le integrazioni API esterne convalidano e sanificano tutti gli input |
| Controllo dell’accesso | ✅ Accesso degli utenti guest ridotto e fortemente limitato |
| Autenticazione | ✅ credenziali denominate utilizzate per l’autenticazione esterna (non credenziali codificate) |
| Autenticazione | ✅ flussi OAuth 2.0 implementati correttamente con PKCE |
| Gestione sessioni | ✅ Le policy di sicurezza delle sessioni impongono restrizioni di timeout e IP |
| Configurazione | ✅ Controllo dello stato della sicurezza rivisto trimestralmente e rimediato ai risultati ad alto rischio |
| Controllo dell’accesso | ✅ metadati personalizzati e autorizzazioni controllati per evitare privilegi eccessivi |
Anti-schemi
| Dove cercare | Che brutto aspetto |
|---|---|
| Iniezione | ⚠️ Query SOQL create utilizzando la concatenazione di stringhe con l’input dell’utente |
| Controllo dell’accesso | ⚠️ Profili utente guest con autorizzazioni Crea, Aggiorna o Elimina |
| XSS | ⚠️ I componenti Lightning utilizzano espressioni senza escape nei modelli |
| Autenticazione | ⚠️ Le integrazioni esterne utilizzano credenziali codificate nel codice |
| Registrazione | ⚠️ I registri debug contengono dati sensibili come password o informazioni personali |
| Controllo dell’accesso | ⚠️ Controlli FLS e CRUD omessi perché “controlliamo tutti gli utenti” |
| Configurazione | ⚠️ Risultati del controllo dello stato della sicurezza ignorati o rinviati a tempo indeterminato |
Schemi
| Dove cercare | Che bell’aspetto |
|---|---|
| Pipeline | Controllo sorgente | ✅ Le regole di protezione delle filiali impongono revisioni e controlli dello stato richiesti |
| In corso di realizzazione | Access Control | ✅ Le opportunità in corso di realizzazione utilizzano account di servizio con autorizzazioni minime richieste |
| In corso di realizzazione | Segreti | ✅ Segreti memorizzati in caveau protetti (mai nel controllo sorgente o variabili di ambiente) |
| In corso di realizzazione | Distribuzione | ✅ Le distribuzioni di produzione richiedono il cancello di approvazione manuale da parte del personale autorizzato |
| In corso di realizzazione | Controllo | ✅ I registri di distribuzione acquisiscono chi ha distribuito cosa quando con gli itinerari di approvazione |
| In corso di realizzazione | Convalida | ✅ La convalida pre-distribuzione include analisi della sicurezza e controlli di conformità |
| In corso di realizzazione | Access Control | ✅ Autenticazione a più fattori richiesta per l’accesso amministrativo alle opportunità in corso di realizzazione |
| Pipeline | Monitoraggio | ✅ Le modifiche alla configurazione delle opportunità in corso di realizzazione attivano le notifiche del team di sicurezza |
| In corso di realizzazione | Convalida | ✅ La convalida post-distribuzione automatica conferma l’attivazione dei controlli di sicurezza previsti |
| Pipeline | Dipendenze | ✅ Aggiornamenti delle dipendenze valutati per l’impatto sulla sicurezza prima della distribuzione |
Anti-schemi
| Dove cercare | Che brutto aspetto |
|---|---|
| In corso di realizzazione | Segreti | ⚠️ Segreti confermati per il controllo delle versioni (anche se successivamente rimossi) |
| Pipeline | Controllo sorgente | ⚠️ Chiunque può unire al branch principale / produzione senza revisione |
| In corso di realizzazione | Access Control | ⚠️ Pipeline di distribuzione eseguite con autorizzazioni a livello di amministratore |
| In corso di realizzazione | Distribuzione | ⚠️ Implementazioni di produzione completamente automatizzate senza porte di approvazione |
| In corso di realizzazione | Controllo | ⚠️ I registri di distribuzione non acquisiscono chi ha avviato o approvato le modifiche |
| In corso di realizzazione | Convalida | ⚠️ Scansioni di sicurezza non riuscite ignorate o ignorate per rispettare le scadenze |
| Pipeline | Monitoraggio | ⚠️ Modifiche alla configurazione delle opportunità in corso di realizzazione non tracciate o riviste |
| In corso di realizzazione | Convalida | ⚠️ La convalida post-distribuzione verifica solo la correttezza funzionale |
Schemi
| Dove cercare | Che bell’aspetto |
|---|---|
| Test | Analisi statica | ✅ Salesforce Code Analyzer eseguito nelle IDE sviluppatore per un feedback immediato e nelle pipeline CI/CD come porte automatiche |
| Test | Test di penetrazione | ✅ Test di penetrazione condotti per applicazioni personalizzate esposte a utenti non affidabili, in particolare siti Experience Cloud e API rivolte al pubblico |
| Test | Test di unità | ✅ I test di unità Apex incentrati sulla sicurezza vengono eseguiti come utenti con profili di autorizzazioni diversi |
| Test | Dipendenze | ✅ Scansione delle dipendenze monitora i pacchetti AgentExchange e le librerie JavaScript per rilevare vulnerabilità note |
| Test | Controllo di sicurezza | ✅ Rapporto di analisi statica preparato per ogni invio AppExchange o AgentExchange Security Review |
| Test | Controllo di sicurezza | ✅ Rapporto di scansione dinamica (test di penetrazione) preparato quando una soluzione integra un’applicazione o un servizio Web di terze parti |
| Test | Dipendenze | ✅ Avvisi di sicurezza per i pacchetti installati abbonati e monitorati |
Anti-schemi
| Dove cercare | Che brutto aspetto |
|---|---|
| Test | Copertura | ⚠️ I test di sicurezza si basano su una singola tecnica, ad esempio solo l’analisi statica |
| Test | Test di unità | ⚠️ I test Apex convalidano il comportamento funzionale ma non vengono mai eseguiti come utenti con privilegi inferiori |
| Test | Controllo di sicurezza | ⚠️ Invio AppExchange o AgentExchange preparato senza l’analisi statica o i rapporti di scansione dinamici richiesti |
| Test | Test di penetrazione | ⚠️ Test di penetrazione ignorati per i siti Experience Cloud rivolti al pubblico e le API |
Vedere anche:
- Conformità e schemi normativi — Governance della piattaforma e controlli di controllo
- Schemi di gestione dell’identità e dell’accesso — Autenticazione e autorizzazione
- Schemi di risposta agli incidenti: rilevamento e risposta agli eventi di sicurezza
- Schemi agente: controlli di sicurezza specifici dell’agente