Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Per maggiori informazioni, consulta la checklist di sicurezza di Service Fabric.
Distribuire un'applicazione in Azure è veloce, semplice ed economico. Prima di distribuire la tua applicazione cloud in produzione, consulta questa lista di best practice essenziali e raccomandate per implementare cluster sicuri nella tua applicazione.
Azure Service Fabric è una piattaforma di sistemi distribuiti che semplifica la creazione di pacchetti, la distribuzione e la gestione di microservizi scalabili e affidabili. Service Fabric fa fronte anche alle principali problematiche correlate allo sviluppo e alla gestione delle applicazioni cloud. Gli sviluppatori e gli amministratori non devono più occuparsi di risolvere complessi problemi di infrastruttura e possono concentrarsi sull'implementazione di carichi di lavoro cruciali e impegnativi, con la certezza di assicurare scalabilità, affidabilità e gestibilità.
Per ogni procedura consigliata questo articolo spiega:
- In cosa consiste la procedura consigliata.
- Perché applicare le migliori pratiche.
- Scenari possibili in caso di mancata implementazione della procedura consigliata.
- Come imparare a implementare la procedura consigliata.
Utilizza le seguenti migliori pratiche di sicurezza di Azure Service Fabric:
- Usare i modelli di Azure Resource Manager e il modulo PowerShell di Service Fabric per creare cluster sicuri.
- Usare certificati X.509.
- Configurare i criteri di sicurezza.
- Implementare la configurazione della sicurezza in Reliable Actors.
- Configurare TLS per Azure Service Fabric.
- Usare l'isolamento e la sicurezza di rete con Azure Service Fabric.
- Configurare Azure Key Vault per la sicurezza.
- Assegnare gli utenti ai ruoli.
- Ospita applicazioni non affidabili in un cluster Service Fabric.
Procedure consigliate per proteggere i cluster
Usare sempre un cluster sicuro:
- Implementare la sicurezza del cluster usando certificati.
- Fornire l'accesso ai clienti (sia amministratore che di sola lettura) utilizzando Microsoft Entra ID.
Usare distribuzioni automatiche:
- Usare script per generare, implementare e distribuire segreti.
- Archiviare i segreti in Azure Key Vault e usare Microsoft Entra ID per tutti gli altri accessi client.
- Richiedere l'autenticazione per l'accesso umano ai segreti.
Inoltre, considera le seguenti opzioni di configurazione:
- Creare reti perimetrali (note anche come zone demilitarizzate, DMZ e sottoreti schermate) utilizzando i gruppi di sicurezza di rete di Azure (NSG, Network Security Group).
- Accedere a macchine virtuali (VM) cluster o gestire il cluster usando server di collegamento con Connessione Desktop remoto.
Proteggi i tuoi cluster per impedire che gli utenti non autorizzati si connettano, specialmente quando un cluster è in produzione. La creazione di cluster non protetti, anche se possibile, potrebbe consentire a utenti anonimi di connettersi a un cluster che espone gli endpoint di gestione a Internet pubblico.
Sono disponibili tre scenari per implementare la sicurezza del cluster con varie tecnologie.
- Sicurezza da nodo a nodo: questo scenario protegge la comunicazione tra le macchine virtuali e i computer nel cluster. Questa forma di sicurezza garantisce che solo i computer autorizzati a unirsi al cluster possano ospitare applicazioni e servizi nel cluster. In questo scenario i cluster in esecuzione in Azure o i cluster autonomi in esecuzione in Windows possono usare la sicurezza basata su certificati o la sicurezza di Windows per computer Windows Server.
- Sicurezza da client a nodo: questo scenario protegge la comunicazione tra un client Service Fabric e i singoli nodi nel cluster.
- Controllo degli accessi in base al ruolo di Service Fabric: questo scenario usa identità separate (certificati, ID Entra Microsoft e così via) per ogni ruolo amministratore e client utente che accede al cluster. Devi specificare le identità del ruolo quando crei il cluster.
Nota
Raccomandazione di sicurezza per i cluster di Azure: usare la sicurezza di Microsoft Entra per autenticare client e certificati per la sicurezza da nodo a nodo.
Per configurare un cluster Windows autonomo, vedere Impostazioni di configurazione per un cluster autonomo in Windows.
Usare i modelli di Azure Resource Manager e il modulo PowerShell di Service Fabric per creare un cluster sicuro. Per istruzioni passo dopo passo per creare un cluster sicuro di Service Fabric con i template di Azure Resource Manager, vedi Create a Service Fabric cluster.
Usare il modello di Azure Resource Manager:
- Personalizzare il cluster usando il modello per configurare lo spazio di archiviazione gestito per i dischi rigidi virtuali delle macchine virtuali.
- Apportare modifiche al gruppo di risorse usando il modello per semplificare la gestione e il controllo delle configurazioni.
Tratta la configurazione del cluster come codice:
- Controllare approfonditamente le configurazioni di distribuzione.
- Non usare comandi impliciti per modificare direttamente le tue risorse.
Puoi automatizzare molti aspetti del ciclo di vita delle applicazioni Service Fabric. Il modulo PowerShell di Service Fabric automatizza le attività di uso più comune per la distribuzione, l'aggiornamento, la rimozione e il test delle applicazioni di Azure Service Fabric. Sono disponibili anche API gestite e HTTP per la gestione delle applicazioni.
Usare certificati X.509
Procedura consigliata: proteggere sempre i cluster usando certificati X.509 o sicurezza di Windows. Dettaglio: Configura la sicurezza solo al momento della creazione del cluster. Non puoi attivare la sicurezza dopo aver creato il cluster.
Per specificare un certificato cluster, impostare il valore della proprietà ClusterCredentialType su X509. Per specificare un certificato del server per le connessioni esterne, impostare il valore della proprietà ServerCredentialType su X509.
Inoltre, segui queste pratiche consigliate:
- Creare i certificati per i cluster di produzione usando un servizio di certificati di Windows Server configurato correttamente. È anche possibile ottenere i certificati da un'autorità di certificazione approvata.
- Non usare mai un certificato temporaneo o di test per cluster di produzione se hai creato il certificato usando
MakeCert.exeuno strumento simile. - Usare un certificato autofirmato per i cluster di prova, ma non per i cluster di produzione.
Se il cluster non è sicuro, chiunque può connettersi al cluster in modo anonimo ed eseguire operazioni di gestione. Per questo motivo, proteggere sempre i cluster di produzione con certificati X.509 o la sicurezza di Windows.
Per altre informazioni sui certificati X.509, vedere Aggiungere o rimuovere certificati per un cluster Service Fabric in Azure.
Configurare i criteri di sicurezza
Service Fabric protegge anche le risorse utilizzate dalle applicazioni. Service Fabric memorizza risorse come file, directory e certificati sotto gli account utente durante il deployment dell'applicazione. Con questa funzione le applicazioni in esecuzione, anche in un ambiente ospitato condiviso, sono reciprocamente protette.
Usare un utente o un gruppo di dominio Active Directory: eseguire il servizio con le credenziali per un account utente o un gruppo di Active Directory. Assicurarsi di utilizzare Active Directory in sede all'interno del proprio dominio e non Microsoft Entra ID. Accedi ad altre risorse nel dominio con permessi concessi a un utente o gruppo del dominio. Ad esempio, risorse come condivisioni file.
Assegnare criteri di accesso di sicurezza per gli endpoint HTTP e HTTPS: specificare la proprietà SecurityAccessPolicy per applicare criteri RunAs a un servizio quando il manifesto del servizio dichiara le risorse di endpoint con HTTP. Le porte allocate agli endpoint HTTP sono elenchi con controllo corretto degli accessi per l'account utente RunAs in cui è in esecuzione il servizio. Se i criteri non sono impostati, http.sys non ha accesso al servizio e le chiamate del client possono avere esito negativo.
Per informazioni su come usare i criteri di sicurezza in un cluster di Service Fabric, vedere Configurare i criteri di sicurezza per l'applicazione.
Implementare la configurazione della sicurezza in Reliable Actors
Service Fabric Reliable Actors è un'implementazione dello schema progettuale dell'attore. Come per gli altri schemi progettuali del software, la scelta di usare un criterio specifico dipende dalla capacità di un problema di progettazione software di seguire lo schema.
In generale, usare lo schema progettuale di attore per modellare soluzioni per i problemi software o gli scenari di sicurezza seguenti:
- Il problema riguarda un gran numero (migliaia o più) di piccole unità indipendenti e isolate di stato e logica.
- Si utilizzano oggetti a thread singolo che non richiedono un'interazione significativa con componenti esterni, incluso interrogare lo stato in un insieme di attori.
- Le istanze degli attori non bloccano i chiamanti con ritardi imprevedibili eseguendo operazioni I/O.
In Service Fabric, il framework applicativo Reliable Actors implementa gli actor. Questo framework è basato sul modello ad attori e costruito sopra Reliable Services di Service Fabric. Ogni servizio di tipo Reliable Actor che viene scritto viene eseguito come servizio Reliable partizionato con stato.
Ogni attore è un'istanza di tipo attore, identica a come un oggetto .NET è un'istanza di tipo .NET. Ad esempio, un tipo di attore che implementa la funzionalità di una calcolatrice può avere molti attori di quel tipo distribuiti su vari nodi all'interno di un cluster. Un identificatore attore caratterizza in modo unico ogni attore distribuito.
Utilizzare configurazioni di sicurezza dei replicatori per proteggere il canale di comunicazione utilizzato dalla replica. Questa configurazione impedisce ai servizi di vedere il traffico di replica reciproco e verifica la sicurezza dei dati a disponibilità elevata. Per impostazione predefinita, una sezione di configurazione della sicurezza vuota non abilita la sicurezza della replica.
Le configurazioni del replicatore definiscono il replicatore responsabile di garantire un'elevata affidabilità dello stato del provider di stato dell'attore.
Configurare TLS per Azure Service Fabric
Il processo di autenticazione server autentica gli endpoint di gestione del cluster rispetto a un client di gestione. Il client di gestione riconosce quindi di comunicare con il cluster reale. Questo certificato fornisce anche TLS per l'API di gestione HTTPS e per Service Fabric Explorer su HTTPS. È necessario ottenere un nome di dominio personalizzato per il cluster. Quando si richiede un certificato da un'autorità di certificazione, il nome del soggetto del certificato deve corrispondere al nome di dominio personalizzato usato per il cluster.
Per configurare TLS per un'applicazione, si ottiene prima un certificato SSL/TLS che una CA firma. La CA è una terza parte attendibile che rilascia certificati per scopi di sicurezza TLS. Se non hai già un certificato SSL/TLS, ottenelo da un'azienda che venda certificati SSL/TLS.
Il certificato deve soddisfare i requisiti seguenti per i certificati SSL/TLS in Azure:
Il certificato deve includere una chiave privata.
Crea il certificato per lo scambio di chiavi e rendilo esportabile in un file di scambio di informazioni personali (.pfx).
Il nome oggetto del certificato deve corrispondere al nome di dominio utilizzato per accedere al tuo servizio cloud.
- Acquistare un nome di dominio personalizzato da usare per accedere al servizio cloud.
- Richiedere un certificato da un'autorità di certificazione con un nome di soggetto corrispondente al nome di dominio personalizzato del servizio. Se ad esempio il nome di dominio personalizzato è contoso.com, il nome del soggetto del certificato dell'autorità di certificazione deve essere .contoso.com o www.contoso.com.
Nota
Non puoi ottenere un certificato SSL/TLS da una CA per il dominio cloudapp.net.
Per il certificato deve essere usata una crittografia di almeno 2.048 bit.
Il protocollo HTTP non è sicuro ed è soggetto ad attacchi di intercettazione. Il browser web invia dati trasmessi via HTTP come testo semplice al server web o tra altri endpoint. Gli attaccanti possono intercettare e visualizzare dati sensibili inviati tramite HTTP, come i dati delle carte di credito e l'accesso degli account. Quando un browser invia o pubblica dati utilizzando HTTPS, SSL cripta le informazioni sensibili e le mantiene protette dall'intercettazione.
Per altre informazioni sull'uso di certificati SSL/TLS, vedere Configurazione di TLS per un'applicazione in Azure.
Usare l'isolamento e la sicurezza di rete con Azure Service Fabric
Procedura consigliata: configurare un cluster sicuro con isolamento di rete. Dettaglio: Usa i template di Azure Resource Manager per configurare un cluster sicuro di tipo a tre nodi. Controllare il traffico di rete in ingresso e in uscita usando il modello e i gruppi di sicurezza di rete.
Il modello prevede un NSG per ogni set di scalabilità di macchine virtuali e controlla il traffico in entrata e uscita dal set. Le regole consentono di default tutto il traffico necessario per i servizi di sistema e le porte applicative specificate nel template. Rivedere tali regole e modificarle in base alle proprie esigenze, inclusa l'aggiunta di nuove regole per le applicazioni in uso.
Per altre informazioni, vedere alcuni scenari di rete comuni per Azure Service Fabric.
Configurare Azure Key Vault per la sicurezza
Procedura consigliata: usare Azure Key Vault per gestire i certificati per i cluster di Service Fabric. Dettagli: Service Fabric usa certificati X.509 per proteggere un cluster e fornire funzionalità di sicurezza delle applicazioni. Usa Azure Key Vault per gestire i certificati dei cluster Service Fabric in Azure. Il provider di risorse di Azure che crea i cluster estrae i certificati da un insieme di credenziali. Il provider poi installa i certificati sulle VM quando Azure distribuisce il cluster.
Esiste una relazione di certificati tra Azure Key Vault, il cluster di Service Fabric e il provider di risorse che usa i certificati. Quando Azure crea il cluster, memorizza informazioni sulla relazione del certificato in un archivio di chiavi.
Per configurare un key vault ci sono due passaggi fondamentali:
Creare un gruppo di risorse specifico per l'insieme di credenziali delle chiavi.
Inserisci il Key Vault in un gruppo di risorse dedicato. Questa azione aiuta a prevenire la perdita delle chiavi e dei segreti se Azure rimuove altri gruppi di risorse, come storage, compute o il gruppo che contiene il cluster. Il gruppo di risorse che contiene l'insieme di credenziali delle chiavi deve trovarsi nella stessa area del cluster che lo usa.
Creare un insieme di credenziali delle chiavi nel nuovo gruppo di risorse.
Abilitare l'insieme di credenziali delle chiavi per la distribuzione. Il provider di risorse di calcolo può quindi ottenere i certificati dall'archivio e installarli nelle istanze di macchine virtuali.
Per ulteriori informazioni su come configurare un Azure Key Vault, vedere Che cos'è Azure Key Vault?
Assegnare utenti ai ruoli
Procedura consigliata: assegnare gli utenti ai ruoli supportati da Service Fabric. Dettaglio: Dopo aver creato le applicazioni per rappresentare il tuo cluster, assegna agli utenti ruoli di sola lettura e amministratore. Usa il portale Azure per assegnare questi ruoli.
Nota
Per altre informazioni sull'uso dei ruoli in Service Fabric, vedere Controllo degli accessi in base al ruolo di Service Fabric per i client di Service Fabric.
Azure Service Fabric supporta due tipi di controllo di accesso per i client che si collegano a un cluster Service Fabric: amministratore e utente. L'amministratore del cluster può usare il controllo di accesso per limitare l'accesso a determinate operazioni di cluster per diversi gruppi di utenti. Il controllo degli accessi rende il cluster più sicuro.
Considerazioni per l'hosting di applicazioni non affidabili in un cluster Service Fabric
Vedi Hosting di applicazioni non affidabili in un cluster Service Fabric.
Passaggi successivi
- Elenco di controllo per la sicurezza di Service Fabric
- Configurare l'ambiente di sviluppo di Service Fabric.
- Informazioni sulle opzioni di supporto di Service Fabric.