Scenari di sicurezza di un cluster di Service FabricService Fabric cluster security scenarios

Un cluster di Azure Service Fabric è una risorsa di cui si è proprietari.An Azure Service Fabric cluster is a resource that you own. È necessario proteggere i cluster per evitare che utenti non autorizzati si connettano a essi.You must secure your clusters to help prevent unauthorized users from connecting to them. Un cluster sicuro è particolarmente importante quando si eseguono carichi di lavoro nel cluster.A secure cluster is especially important when you are running production workloads on the cluster. 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.Although it's possible to create an unsecured cluster, if the cluster exposes management endpoints to the public internet, anonymous users can connect to it.

In questo articolo viene fornita una panoramica degli scenari di sicurezza per i cluster di Azure e i cluster autonomi e le varie tecnologie che è possibile usare per la relativa implementazione:This article is an overview of security scenarios for Azure clusters and standalone clusters, and the various technologies you can use to implement them:

  • Sicurezza da nodo a nodoNode-to-node security
  • Sicurezza da client a nodoClient-to-node security
  • Controllo degli accessi in base al ruoloRole-Based Access Control (RBAC)

Sicurezza da nodo a nodoNode-to-node security

La sicurezza da nodo a nodo aiuta a proteggere la comunicazione tra le macchine virtuali o i computer del cluster.Node-to-node security helps secure communication between the VMs or computers in a cluster. Questo scenario di sicurezza assicura che solo i computer autorizzati a connettersi al cluster possano partecipare all'hosting di applicazioni e servizi nel cluster.This security scenario ensures that only computers that are authorized to join the cluster can participate in hosting applications and services in the cluster.

Diagramma della comunicazione da nodo a nodo

I cluster eseguiti in Azure e i cluster autonomi eseguiti in Windows possono usare entrambi la sicurezza basata su certificati o la sicurezza di Windows per computer Windows Server.Clusters running on Azure and standalone clusters running on Windows both can use either certificate security or Windows security for Windows Server computers.

Sicurezza basata su certificati da nodo a nodoNode-to-node certificate security

Service Fabric usa i certificati server X.509 specificati durante le configurazioni del tipo di nodo quando si crea un cluster.Service Fabric uses X.509 server certificates that you specify as part of the node-type configuration when you create a cluster. Alla fine di questo articolo viene fornita una rapida panoramica di questi certificati e di come è possibile acquisirli o crearli.At the end of this article, you can see a brief overview of what these certificates are and how you can acquire or create them.

Impostare la sicurezza basata su certificati durante la creazione del cluster tramite il portale di Azure usando un modello di Azure Resource Manager o un modello JSON autonomo.Set up certificate security when you create the cluster, either in the Azure portal, by using an Azure Resource Manager template, or by using a standalone JSON template. È possibile impostare un certificato primario e un certificato secondario facoltativo che viene usato per i rollover dei certificati.You can set a primary certificate and an optional secondary certificate, which is used for certificate rollovers. I certificati primario e secondario impostcati devono essere diversi dai certificati client di amministrazione e dai certificati client di sola lettura impostati per la sicurezza da client a nodo.The primary and secondary certificates you set should be different from the admin client and read-only client certificates that you set for client-to-node security.

Per informazioni su come impostare la sicurezza basata su certificati in un cluster per Azure, vedere Configurare un cluster di Service Fabric usando un modello di Azure Resource Manager .To learn how to set up certificate security in a cluster for Azure, see Set up a cluster by using an Azure Resource Manager template.

Per informazioni su come impostare la sicurezza basata su certificati in un cluster di Windows Server autonomo, vedere proteggere un cluster autonomo in Windows mediante certificati X.509.To learn how to set up certificate security in a cluster for a standalone Windows Server cluster, see Secure a standalone cluster on Windows by using X.509 certificates.

Sicurezza di Windows da nodo a nodoNode-to-node Windows security

Per informazioni su come impostare la sicurezza Windows in un cluster di Windows Server autonomo, vedere proteggere un cluster autonomo in Windows mediante la sicurezza Windows.To learn how to set up Windows security for a standalone Windows Server cluster, see Secure a standalone cluster on Windows by using Windows security.

Sicurezza da client a nodoClient-to-node security

La sicurezza da client a nodo autentica i client e aiuta a proteggere la comunicazione tra un client e i singoli nodi del cluster.Client-to-node security authenticates clients and helps secure communication between a client and individual nodes in the cluster. Questo tipo di sicurezza aiuta a garantire che solo gli utenti autorizzati possano accedere al cluster e alle applicazioni distribuite nel cluster.This type of security helps ensure that only authorized users can access the cluster and the applications that are deployed on the cluster. I client vengono identificati in modo univoco con le credenziali di sicurezza di Windows o le credenziali di sicurezza del relativo certificato.Clients are uniquely identified through either their Windows security credentials or their certificate security credentials.

Diagramma della comunicazione da client a nodo

I cluster eseguiti in Azure e i cluster autonomi eseguiti in Windows possono usare la sicurezza basata su certificati o la sicurezza di Windows.Clusters running on Azure and standalone clusters running on Windows both can use either certificate security or Windows security.

Sicurezza basata su certificati da client a nodoClient-to-node certificate security

Impostare la sicurezza basata su certificati da client a nodo durante la creazione del cluster tramite il portale di Azure usando un modello di Resource Manager o un modello JSON autonomo.Set up client-to-node certificate security when you create the cluster, either in the Azure portal, by using a Resource Manager template, or by using a standalone JSON template. Per creare il certificato, specificare un certificato client di amministrazione o un certificato client utente.To create the certificate, specify an admin client certificate or a user client certificate. Come procedura consigliata, i certificati client di amministrazione e i certificati client utente specificati devono essere diversi dai certificati primario e secondario specificati per la sicurezza da nodo a nodo.As a best practice, the admin client and user client certificates you specify should be different from the primary and secondary certificates you specify for node-to-node security. Per impostazione predefinita, i certificati cluster per la sicurezza da nodo a nodo vengono aggiunti all'elenco di certificati Amministratore client consentiti.By default, the cluster certificates for node-to-node security are added to the allowed client admin certificates list.

I client che si connettono al cluster con il certificato di amministrazione hanno accesso completo alle funzionalità di gestione.Clients that connect to the cluster by using the admin certificate have full access to management capabilities. I client che si connettono al cluster con il certificato client utente di sola lettura hanno solo l'accesso in lettura alle funzionalità di gestione.Clients that connect to the cluster by using the read-only user client certificate have only read access to management capabilities. Questi certificati vengono usati per il controllo degli accessi in base al ruolo descritto più avanti in questo articolo.These certificates are used for the RBAC that we described later in this article.

Per informazioni su come impostare la sicurezza basata su certificati in un cluster per Azure, vedere Configurare un cluster di Service Fabric usando un modello di Azure Resource Manager .To learn how to set up certificate security in a cluster for Azure, see Set up a cluster by using an Azure Resource Manager template.

Per informazioni su come impostare la sicurezza basata su certificati in un cluster di Windows Server autonomo, vedere proteggere un cluster autonomo in Windows mediante certificati X.509.To learn how to set up certificate security in a cluster for a standalone Windows Server cluster, see Secure a standalone cluster on Windows by using X.509 certificates.

Sicurezza di Azure Active Directory da client a nodo in AzureClient-to-node Azure Active Directory security on Azure

Per i cluster eseguiti in Azure è anche possibile proteggere l'accesso agli endpoint di gestione usando Azure Active Directory (Azure AD).For clusters running on Azure, you also can secure access to management endpoints by using Azure Active Directory (Azure AD). Per informazioni su come creare i necessari elementi di AAD, su come popolarli durante la creazione dei cluster e su come connettersi a tali cluster in seguito, vedere Configurare un cluster di Service Fabric usando un modello di Azure Resource Manager.To learn how to create the required Azure AD artifacts, how to populate them when you create the cluster, and how to connect to the clusters afterward, see Set up a cluster by using an Azure Resource Manager template.

Suggerimenti per la sicurezzaSecurity recommendations

Per i cluster di Azure si consiglia di usare la sicurezza di Azure AD per l'autenticazione dei client e dei certificati per la sicurezza da nodo a nodo.For Azure clusters, for node-to-node security, we recommend that you use Azure AD security to authenticate clients and certificates.

Per i cluster di Windows Server autonomi, se sono presenti Windows Server 2012 R2 e Active Directory è consigliabile usare la sicurezza di Windows con account del servizio gestito del gruppo.For standalone Windows Server clusters, if you have Windows Server 2012 R2 and Windows Active Directory, we recommend that you use Windows security with group Managed Service Accounts. In caso contrario, usare comunque la sicurezza di Windows con account di Windows.Otherwise, use Windows security with Windows accounts.

Controllo degli accessi in base al ruoloRole-Based Access Control (RBAC)

È possibile usare il controllo di accesso per limitare l'accesso a determinate operazioni di cluster per gruppi di utenti diversi.You can use access control to limit access to certain cluster operations for different groups of users. In questo modo il cluster è più sicuro.This helps make the cluster more secure. Per i client che si connettono a un cluster, sono supportati due tipi di controllo di accesso diversi: il ruolo di amministratore e il ruolo utente.Two access control types are supported for clients that connect to a cluster: Administrator role and User role.

Gli utenti assegnati al ruolo di amministratore hanno accesso completo alle funzionalità di gestione, incluse funzionalità di lettura/scrittura.Users who are assigned the Administrator role have full access to management capabilities, including read and write capabilities. Gli utenti assegnati al ruolo di utente, per impostazione predefinita, hanno solo l'accesso in lettura alle funzionalità di gestione, ad esempio funzionalità di query,Users who are assigned the User role, by default, have only read access to management capabilities (for example, query capabilities). e la possibilità di risolvere applicazioni e servizi.They also can resolve applications and services.

Impostare i ruoli del client di amministratore e utente quando si crea il cluster.Set the Administrator and User client roles when you create the cluster. Assegnare i ruoli fornendo identità separate (ad esempio, tramite certificati o Azure AD) per ogni tipo di ruolo.Assign roles by providing separate identities (for example, by using certificates or Azure AD) for each role type. Per altre informazioni sulle impostazioni predefinite del controllo di accesso e su come modificarle, vedere Controllo di accesso basato sui ruoli per i client di Service Fabric.For more information about default access control settings and how to change default settings, see Role-Based Access Control for Service Fabric clients.

Certificati X.509 e Service FabricX.509 certificates and Service Fabric

I certificati digitali X.509 vengono comunemente usati per autenticare client e server,X.509 digital certificates commonly are used to authenticate clients and servers. oltre a essere usati per crittografare e firmare digitalmente i messaggi.They also are used to encrypt and digitally sign messages. Per altre informazioni sui certificati digitali X.509, vedere Uso dei certificati.For more information about X.509 digital certificates, see Working with certificates.

Alcuni elementi importanti da considerare:Some important things to consider:

  • Per creare i certificati usati nei cluster che eseguono carichi di lavoro di produzione, usare un servizio certificati di Windows Server configurato correttamente oppure ottenerli da un'Autorità di certificazione (CA) approvata.To create certificates for clusters that are running production workloads, use a correctly configured Windows Server certificate service, or one from an approved certificate authority (CA).
  • Non usare mai certificati temporanei o di test creati mediante strumenti come MakeCert.exe in un ambiente di produzione.Never use any temporary or test certificates that you create by using tools like MakeCert.exe in a production environment.
  • È possibile usare un certificato autofirmato, ma solo in un cluster di test.You can use a self-signed certificate, but only in a test cluster. Non usare un certificato autofirmato nell'ambiente di produzione.Do not use a self-signed certificate in production.

Certificati server X.509Server X.509 certificates

L'attività principale dei certificati del server è l'autenticazione di un server (nodo) nei client o di un server (nodo) in un server (nodo).Server certificates have the primary task of authenticating a server (node) to clients, or authenticating a server (node) to a server (node). Uno dei primi controlli eseguiti quando un client o un nodo autentica un nodo consiste nel controllare il valore del nome comune nel campo Oggetto.When a client or node authenticates a node, one of the initial checks is the value of the common name in the Subject field. Questo nome comune o uno dei nomi alternativi del soggetto dei certificati deve essere presente nell'elenco di nomi comuni consentiti.Either this common name or one of the certificates' Subject Alternative Names (SANs) must be present in the list of allowed common names.

Per informazioni su come generare certificati con nomi alternativi del soggetto, vedere Come aggiungere un nome alternativo del soggetto a un certificato LDAP sicuro.To learn how to generate certificates that have SANs, see How to add a Subject Alternative Name to a secure LDAP certificate.

Il campo Soggetto può avere più valori.The Subject field can have multiple values. Ogni valore è preceduto da un'inizializzazione per indicare il tipo di valore.Each value is prefixed with an initialization to indicate the value type. L'inizializzazione è in genere CN per il nome comune, ad esempio, CN = www.contoso.com. Il campo Soggetto può essere vuoto.Usually, the initialization is CN (for common name); for example, CN = www.contoso.com. The Subject field can be blank. Se il campo facoltativo Nome alternativo soggetto è popolato, deve contenere sia il nome comune del certificato sia una voce per ogni nome alternativo del soggetto.If the optional Subject Alternative Name field is populated, it must have both the common name of the certificate and one entry per SAN. Queste voci vengono immesse come valori di nomi DNS.These are entered as DNS Name values.

Il valore del campo Scopi designati del certificato deve includere un valore appropriato, ad esempio Autenticazione server o Autenticazione client.The value of the Intended Purposes field of the certificate should include an appropriate value, such as Server Authentication or Client Authentication.

Certificati client X.509Client X.509 certificates

I certificati client in genere non vengono rilasciati da un'autorità di certificazione di terze parti.Client certificates typically are not issued by a third-party CA. In genere l'archivio personale del percorso utente corrente contiene invece certificati client inseriti da un'autorità radice, con lo scopo designato Autenticazione client.Instead, the Personal store of the current user location typically contains client certificates placed there by a root authority, with an Intended Purposes value of Client Authentication. Il client può usare tali certificati quando è necessaria l'autenticazione reciproca.The client can use this certificate when mutual authentication is required.

Nota

Tutte le operazioni di gestione in un cluster di Service Fabric richiedono certificati server.All management operations on a Service Fabric cluster require server certificates. I certificati client non possono essere usati per la gestione.Client certificates cannot be used for management.

Passaggi successiviNext steps