Raccomandazioni per la protezione avanzata delle risorse

Si applica a questa raccomandazione dell'elenco di controllo per la sicurezza di Azure Well-Architected Framework:

SE:08 Rafforzare la protezione avanzata di tutti i componenti del carico di lavoro riducendo l'area di attacco estranea e riducendo le configurazioni di serraggio per aumentare i costi degli utenti malintenzionati.

Questa guida descrive le raccomandazioni per la protezione avanzata delle risorse sviluppando controlli localizzati all'interno di un carico di lavoro e mantenendoli per resistere a attacchi ripetuti.

La protezione avanzata della sicurezza è un esercizio intenzionale di auto-conservazione. L'obiettivo è ridurre una superficie di attacco e aumentare i costi degli utenti malintenzionati in altre aree, che limita le opportunità per gli attori malintenzionati di sfruttare le vulnerabilità. Per proteggere il carico di lavoro, implementare le procedure consigliate e le configurazioni per la sicurezza.

La protezione avanzata della sicurezza è un processo in corso che richiede il monitoraggio continuo e l'adattamento alle minacce e alle vulnerabilità in evoluzione.

Definizioni

Termine Definizione
Protezione avanzata La pratica di ridurre una superficie di attacco rimuovendo risorse estranee o modificando le configurazioni.
Workstation con accesso con privilegi (PAW) Un computer dedicato e sicuro usato per eseguire attività sensibili, riducendo il rischio di compromissione.
Workstation amministrativa sicura (SAW) Workstation PAW specializzata usata dagli account di impatto critico.
Superficie Footprint logico di un carico di lavoro che contiene vulnerabilità.

Strategie di progettazione chiave

La protezione avanzata della sicurezza è un esercizio altamente localizzato che rafforza i controlli a livello di componente, indipendentemente dalle risorse o dai processi. Quando si restringe la sicurezza di ogni componente, migliora la garanzia di sicurezza aggregata del carico di lavoro.

La protezione avanzata della sicurezza non considera la funzionalità del carico di lavoro e non rileva le minacce né esegue l'analisi automatizzata. La protezione avanzata della sicurezza è incentrata sull'ottimizzazione della configurazione con una mentalità di presupporzione e difesa avanzata. L'obiettivo è rendere difficile per un utente malintenzionato ottenere il controllo di un sistema. La protezione avanzata non deve modificare l'utilità desiderata di un carico di lavoro o le relative operazioni.

Il primo passaggio del processo di protezione avanzata consiste nel raccogliere un inventario completo di tutti gli asset hardware, software e dati. Mantenere aggiornati i record di inventario aggiungendo nuovi asset e rimuovendo le risorse rimosse. Per tutti gli asset nell'inventario, considerare le procedure consigliate seguenti:

  • Ridurre il footprint. Rimuovere l'area di superficie estranea o ridurre l'ambito. Eliminare obiettivi facili o vettori di attacco economici e ben consolidati, ad esempio exploit software senza patch e attacchi di forza bruta. Prima della distribuzione di produzione, è necessario pulire le identità, compilare i componenti e altri asset non richiesti dall'albero di origine.

  • Ottimizzare le configurazioni. Valutare e restringere l'area di superficie rimanente. Quando le risorse vengono sottoposte a protezione avanzata, i metodi testati e testati che gli utenti malintenzionati usano non hanno più esito positivo. Impone agli utenti malintenzionati di acquisire e usare metodi di attacco avanzati o non verificati, aumentando i costi.

  • Mantenere le difese. Mantenere misure protettive eseguendo il rilevamento continuo delle minacce per garantire che le attività di protezione avanzata siano affidabili nel tempo.

Considerare anche i fattori seguenti.

Origine attendibile. Parte dell'esercizio di protezione avanzata prevede la supply chain del software. Queste linee guida presuppongono che tutti i componenti vengano ottenuti da origini attendibili. L'organizzazione deve approvare il software acquistato da fornitori di terze parti. Questa approvazione si applica alle origini del sistema operativo, delle immagini e di altri strumenti di terze parti. Senza risorse attendibili, la protezione avanzata può essere un svuotamento infinito di garanzie di sicurezza su origini non attendibili.

Per consigli sulla sicurezza per la supply chain, vedere Raccomandazioni per la protezione di un ciclo di vita di sviluppo.

Formazione. La protezione avanzata è una competenza specializzata. È metodico e richiede un elevato livello di competenza. È necessario comprendere la funzionalità di un componente e il modo in cui le modifiche influiscono sul componente. Un membro del team deve essere in grado di distinguere le linee guida dagli esperti del settore e dalla piattaforma per distinguerla dalle indicazioni provenienti da fonti incerte. Informare i membri del team nella creazione di una cultura con riconoscimento della sicurezza. Assicurarsi che il team sia esperto nelle procedure consigliate per la sicurezza, abbia consapevolezza delle potenziali minacce e impari dalle analisi retrospettive post-evento imprevisto.

Documentazione. Documentare e pubblicare requisiti di protezione avanzata, decisioni e metodi definiti. Per la trasparenza, documentare anche eccezioni o deviazioni da tali requisiti.

La protezione avanzata può essere complessa, ma è un esercizio fondamentale per la sicurezza che è necessario documentare. Rafforzare innanzitutto i componenti di base e quindi espandersi in altre aree, ad esempio processi automatizzati e processi umani, per ridurre i potenziali gap. Siate meticolosi sui cambiamenti. Ad esempio, un passaggio necessario consiste nel disabilitare le impostazioni predefinite perché le modifiche ai valori predefiniti non possono influire sulla stabilità del sistema. Anche se la configurazione di sostituzione è uguale all'impostazione predefinita, deve essere definita. Le sezioni seguenti descrivono le destinazioni comuni per la protezione avanzata. Valutare le aree di progettazione chiave del carico di lavoro e seguire le strategie chiave per la protezione avanzata a livello di componente.

Rete

Dividere la rete in segmenti per isolare asset critici e dati sensibili da asset meno sicuri, riducendo così i movimenti laterali da parte di utenti malintenzionati. In questi segmenti applicare un approccio deny-by-default . Aggiungere l'accesso all'elenco consentito solo se è giustificato.

Disabilitare porte e protocolli che non vengono usati attivamente. Ad esempio, in Servizio app di Azure, se non è necessario eseguire la distribuzione tramite FTP, è possibile disabilitarla. In alternativa, se si eseguono operazioni di gestione tramite una rete interna, è possibile disabilitare l'accesso amministrativo da Internet.

Rimuovere o disabilitare i protocolli legacy. Gli utenti malintenzionati sfruttano i sistemi che usano versioni precedenti. Usare un servizio di rilevamento di Azure per esaminare i log e determinare l'utilizzo del protocollo. Potrebbe essere difficile rimuovere i protocolli perché può interrompere la funzionalità del sistema. Testare tutte le modifiche prima dell'implementazione per ridurre il rischio di interruzione operativa.

Considera gli indirizzi IP pubblici (PIP) come asset ad alto rischio perché sono facili da accedere e hanno una vasta portata in tutto il mondo. Per ridurre l'esposizione, rimuovere l'accesso Internet non necessario al carico di lavoro. Usare indirizzi IP pubblici condivisi forniti da Microsoft, ad esempio Frontdoor di Azure. Questi servizi sono progettati per essere con connessione Internet e bloccano l'accesso ai protocolli non consentiti. Molti di questi servizi eseguono controlli iniziali sulle richieste in ingresso nella rete perimetrale. Con un PIP dedicato, si è responsabili della gestione degli aspetti di sicurezza, della possibilità o del blocco delle porte e dell'analisi delle richieste in ingresso per garantire la validità.

Per le applicazioni con connessione Internet, limitare l'accesso aggiungendo un servizio di livello 7 che può filtrare il traffico non valido. Esplorare i servizi nativi che applicano la protezione DDoS (Distributed Denial of Service), dispongono di web application firewall e forniscono protezione al perimetro prima che il traffico raggiunga il livello applicazione.

La protezione avanzata DNS (Domain Name System) è un'altra procedura di sicurezza di rete. Per garantire che l'infrastruttura DNS sia sicura, è consigliabile usare resolver DNS attendibili. Per convalidare le informazioni dai resolver DNS e fornire un ulteriore livello di sicurezza, quando possibile, usare un protocollo di sicurezza DNS per zone DNS altamente sensibili. Per evitare attacchi come l'avvelenamento da cache DNS, gli attacchi DDoS e gli attacchi di amplificazione, esplorare altri controlli di sicurezza correlati al DNS, ad esempio la limitazione della frequenza di query, la limitazione della velocità di risposta e i cookie DNS.

Identità

Rimuovere gli account inutilizzati o predefiniti. Disabilitare i metodi di autenticazione e autorizzazione inutilizzati.

Disabilitare i metodi di autenticazione legacy perché sono spesso vettori di attacco. I protocolli precedenti spesso non dispongono di misure anti-attacco, ad esempio blocchi dell'account. Esternalizzare i requisiti di autenticazione al provider di identità (IdP), ad esempio Microsoft Entra ID.

Preferire la federazione rispetto alla creazione di identità duplicate. Se un'identità viene compromessa, è più facile revocarne l'accesso quando viene gestita centralmente.

Informazioni sulle funzionalità della piattaforma per l'autenticazione e l'autorizzazione avanzate. Rafforzare i controlli di accesso sfruttando l'autenticazione a più fattori, l'autenticazione senza password, l'accesso condizionale e altre funzionalità che Microsoft Entra ID offrono per verificare l'identità. È possibile aggiungere una protezione aggiuntiva per gli eventi di accesso e ridurre l'ambito in cui un utente malintenzionato può effettuare una richiesta.

Usare identità gestite e identità del carico di lavoro senza credenziali laddove possibile. Le credenziali possono essere perse. Per altre informazioni, vedere Raccomandazioni per la protezione dei segreti dell'applicazione.

Usare l'approccio con privilegi minimi per i processi di gestione. Rimuovere le assegnazioni di ruolo non necessarie ed eseguire verifiche di accesso regolari Microsoft Entra. Usare le descrizioni delle assegnazioni di ruolo per mantenere una traccia cartacea delle giustificazioni, fondamentale per i controlli.

Risorse cloud

Le raccomandazioni di protezione avanzata precedenti per la rete e l'identità si applicano ai singoli servizi cloud. Per la rete, prestare particolare attenzione ai firewall a livello di servizio e valutare le regole in ingresso.

Individuare e disabilitare funzionalità o funzionalità inutilizzate , ad esempio l'accesso al piano dati inutilizzato e le funzionalità del prodotto, che altri componenti potrebbero coprire. Ad esempio, servizio app supporta Kudu, che fornisce distribuzioni FTP, debug remoto e altre funzionalità. Se queste funzionalità non sono necessarie, disattivarle.

Tenere sempre il passo con la roadmap di Azure e la roadmap del carico di lavoro. Applicare aggiornamenti di patch e controllo delle versioni offerti dai servizi di Azure. Consente gli aggiornamenti forniti dalla piattaforma e sottoscrive i canali di aggiornamento automatizzati.

Rischio: le risorse cloud spesso hanno requisiti per le quote o devono essere eseguite in configurazioni documentate da considerare supportate. Alcune tecniche di protezione avanzata, ad esempio il blocco aggressivo del traffico in uscita, possono causare l'interruzione di un servizio all'esterno di una configurazione supportata, anche se il servizio funziona normalmente. Comprendere i requisiti di runtime di ogni risorsa cloud dalla piattaforma per garantire il supporto per tale risorsa.

Applicazioni

Valutare le aree in cui l'applicazione potrebbe inavvertitamente perdere informazioni. Si supponga, ad esempio, di avere un'API che recupera le informazioni utente. Una richiesta potrebbe avere un ID utente valido e l'applicazione restituisce un errore 403. Ma con un ID cliente non valido, la richiesta restituisce un errore 404. Si perderà quindi in modo efficace informazioni sugli ID utente.

Potrebbero esserci casi più sottili. Ad esempio, la latenza della risposta con un ID utente valido è superiore a un ID cliente non valido.

Valutare la possibilità di implementare la protezione avanzata delle applicazioni nelle aree seguenti:

  • Convalida e purificazione dell'input: impedisce attacchi injection come SQL injection e scripting intersito (XSS) convalidando e sanificando tutti gli input dell'utente. Automatizzare la purificazione degli input usando librerie e framework di convalida di input.

  • Gestione delle sessioni: proteggere gli identificatori e i token di sessione da attacchi di furto o correzione delle sessioni usando tecniche di gestione delle sessioni protette. Implementare i timeout della sessione e applicare la riautenticazione per le azioni sensibili.

  • Gestione degli errori: implementare la gestione degli errori personalizzata per ridurre al minimo l'esposizione di informazioni riservate agli utenti malintenzionati. Registrare in modo sicuro gli errori e monitorare questi log per individuare attività sospette.

  • Intestazioni di sicurezza HTTP: attenuare le vulnerabilità Web comuni usando le intestazioni di sicurezza nelle risposte HTTP, ad esempio i criteri di sicurezza del contenuto (CSP), X-Content-Type-Options e X-Frame-Options.

  • Sicurezza API: proteggere le API con meccanismi di autenticazione e autorizzazione appropriati. Per migliorare ulteriormente la sicurezza, implementare la limitazione della frequenza, la convalida delle richieste e i controlli di accesso per gli endpoint API.

Seguire le procedure di codifica sicure quando si sviluppano e gestiscono applicazioni. Eseguire regolarmente revisioni del codice e analizzare le applicazioni per individuare le vulnerabilità. Per altre informazioni, vedere Raccomandazioni per la protezione di un ciclo di vita di sviluppo.

Operazioni di gestione

Protezione avanzata anche di altre risorse non di runtime. Ad esempio, ridurre il footprint delle operazioni di compilazione prendendo un inventario di tutti gli asset e rimuovendo gli asset inutilizzati dalla pipeline. Eseguire quindi il pull delle attività pubblicate da origini attendibili ed eseguire solo attività convalidate.

Determinare se sono necessari agenti di compilazione ospitati da Microsoft o self-hosted. Gli agenti di compilazione self-hosted richiedono una gestione aggiuntiva e devono essere con protezione avanzata.

Dal punto di vista dell'osservabilità, implementare un processo per esaminare i log per potenziali violazioni. Esaminare e aggiornare regolarmente le regole di controllo di accesso in base ai log di accesso. Collaborare con i team centrali per analizzare i log siem (Security Information Event Management) e security orchestration automated response (SOAR) per rilevare le anomalie.

Prendere in considerazione la necessità di workstation PAW o WORKSTATION SOFTWARE per le operazioni di gestione con privilegi. Le workstation PAW e le workstation PAW sono dispositivi fisici con protezione avanzata che offrono vantaggi significativi per la sicurezza, ma la loro implementazione richiede un'attenta pianificazione e gestione. Per altre informazioni, vedere Protezione dei dispositivi come parte della storia di accesso con privilegi.

Facilitazione di Azure

Microsoft Defender for Cloud offre diverse funzionalità di protezione avanzata:

Il Centro sicurezza Internet (CIS) offre immagini con protezione avanzata in Azure Marketplace.

È possibile usare Image Builder di macchine virtuali di Azure per creare un processo ripetibile per le immagini del sistema operativo con protezione avanzata. Common Base Linux-Mariner è una distribuzione Linux avanzata sviluppata da Microsoft che segue gli standard di sicurezza e le certificazioni del settore. È possibile usarlo con i prodotti dell'infrastruttura di Azure per creare implementazioni del carico di lavoro.

Esempio

La procedura seguente è un esempio di come rafforzare la protezione avanzata di un sistema operativo:

  1. Ridurre il footprint. Rimuovere i componenti non necessari in un'immagine. Installare solo gli elementi necessari.

  2. Ottimizzare le configurazioni. Disabilitare gli account inutilizzati. La configurazione predefinita dei sistemi operativi include account aggiuntivi collegati ai gruppi di sicurezza. Se non si usano questi account, disabilitarli o rimuoverli dal sistema. Le identità aggiuntive sono vettori di minaccia che possono essere usati per ottenere l'accesso al server.

    Disabilitare l'accesso non necessario al file system. Crittografare il file system e ottimizzare i controlli di accesso per l'identità e la rete.

    Eseguire solo gli elementi necessari. Bloccare applicazioni e servizi eseguiti per impostazione predefinita. Approvare solo le applicazioni e i servizi necessari per la funzionalità del carico di lavoro.

  3. Mantenere le difese. Aggiornare regolarmente i componenti del sistema operativo con gli aggiornamenti e le patch di sicurezza più recenti per attenuare le vulnerabilità note.

Benchmark CIS

Elenco di controllo relativo alla sicurezza

Fare riferimento al set completo di raccomandazioni.