Protezione delle distribuzioni PaaSSecuring PaaS deployments

In questo articolo vengono fornite informazioni che consentono di:This article provides information that helps you:

  • Comprendere i vantaggi di sicurezza dell'hosting delle applicazioni nel cloudUnderstand the security advantages of hosting applications in the cloud
  • Valutare i vantaggi di sicurezza del modello di piattaforma distribuita come servizio (PaaS, Platform as a Service) rispetto ad altri modelli di servizio cloudEvaluate the security advantages of platform as a service (PaaS) versus other cloud service models
  • Modificare l'attenzione verso la sicurezza, da un approccio di sicurezza del perimetro incentrato sulla rete a uno incentrato sulle identitàChange your security focus from a network-centric to an identity-centric perimeter security approach
  • Implementare le procedure consigliate per la sicurezza del modello PaaSImplement general PaaS security best practices recommendations

Vantaggi della sicurezza cloudCloud security advantages

Il cloud offre notevoli vantaggi legati alla sicurezza.There are security advantages to being in the cloud. In un ambiente locale, le organizzazioni si ritrovano probabilmente con responsabilità non ancora gestite e con risorse limitate disponibili da investire nella sicurezza. Tutto questo porta a un ambiente in cui i malintenzionati sono in grado di sfruttare vulnerabilità a più livelli.In an on-premises environment, organizations likely have unmet responsibilities and limited resources available to invest in security, which creates an environment where attackers are able to exploit vulnerabilities at all layers.

Vantaggi di sicurezza dell'era cloud

Le organizzazioni possono migliorare la i tempi di rilevazione delle minacce e i tempi di risposta usando le funzionalità di sicurezza basate sul cloud e l'intelligence cloud di un provider.Organizations are able to improve their threat detection and response times by using a provider’s cloud-based security capabilities and cloud intelligence. Passando le responsabilità al provider di servizi cloud, le organizzazioni possono godere di una sicurezza più ampia e possono così riallocare le relative risorse e i relativi budget ad altre priorità aziendali.By shifting responsibilities to the cloud provider, organizations can get more security coverage, which enables them to reallocate security resources and budget to other business priorities.

Suddivisione della responsabilitàDivision of responsibility

È importante comprendere la suddivisione di responsabilità tra Microsoft e l'utente.It’s important to understand the division of responsibility between you and Microsoft. In locale, si è proprietari dell'intero stack ma, con lo spostamento nel cloud, alcune responsabilità vengono trasferite a Microsoft.On-premises, you own the whole stack but as you move to the cloud some responsibilities transfer to Microsoft. La matrice di responsabilità seguente mostra le aree dello stack in distribuzioni SaaS, PaaS e IaaS. Vengono indicate quelle di responsabilità dell'utente e quelle di responsabilità di Microsoft.The following responsibility matrix shows the areas of the stack in a SaaS, PaaS, and IaaS deployment that you are responsible for and Microsoft is responsible for.

Aree di responsabilità

Per tutti i tipi di distribuzione cloud, l'utente è proprietario di dati e identità.For all cloud deployment types, you own your data and identities. È responsabilità dell'utente proteggere tali dati e identità, nonché le risorse locali e i componenti cloud da lui gestiti. Questi ultimi fattori possono variare in base al tipo di servizio.You are responsible for protecting the security of your data and identities, on-premises resources, and the cloud components you control (which varies by service type).

L'utente ha comunque in ogni caso la responsabilità di quanto segue, a prescindere dal tipo di distribuzione:Responsibilities that are always retained by you, regardless of the type of deployment, are:

  • DatiData
  • EndpointEndpoints
  • AccountAccount
  • gestione degli accessiAccess management

Vantaggi di sicurezza di un modello di servizio cloud PaaSSecurity advantages of a PaaS cloud service model

Verranno ora illustrati i vantaggi di sicurezza di una distribuzione PaaS di Azure rispetto a una locale, usando la stessa matrice di responsabilità.Using the same responsibility matrix, let’s look at the security advantages of an Azure PaaS deployment versus on-premises.

Vantaggi di sicurezza del modello PaaS

Microsoft consente di ridurre i rischi e le responsabilità comuni già a partire dal fondo dello stack, ovvero l'infrastruttura fisica.Starting at the bottom of the stack, the physical infrastructure, Microsoft mitigates common risks and responsibilities. Poiché viene costantemente monitorato da Microsoft stessa, il cloud di Microsoft è estremamente resistente agli attacchi.Because the Microsoft cloud is continually monitored by Microsoft, it is hard to attack. Pertanto non ha senso che venga considerato un bersaglio.It doesn’t make sense for an attacker to pursue the Microsoft cloud as a target. A meno che non disponga di parecchio denaro e parecchie risorse, un malintenzionato sceglierà più probabilmente altri obiettivi.Unless the attacker has lots of money and resources, the attacker is likely to move on to another target.

Al centro dello stack non c'è differenza tra una distribuzione PaaS e una locale.In the middle of the stack, there is no difference between a PaaS deployment and on-premises. I rischi sono simili a livello di applicazione e a livello di gestione dell'account e degli accessi.At the application layer and the account and access management layer, you have similar risks. Nella sezione dell'articolo dedicata ai passaggi successivi verranno illustrate le procedure consigliate per eliminare o ridurre al minimo tali rischi.In the next steps section of this article, we will guide you to best practices for eliminating or minimizing these risks.

Nella parte superiore dello stack, governance dei dati e Rights Management, è possibile ridurre un rischio grazie alla gestione delle chiavi,At the top of the stack, data governance and rights management, you take on one risk that can be mitigated by key management. descritta nelle procedure consigliate. La gestione delle chiavi è una responsabilità aggiuntiva, ma d'altro canto una distribuzione PaaS elimina la necessità di gestione di alcune aree, consentendo così di dedicare risorse proprio alla gestione delle chiavi.(Key management is covered in best practices.) While key management is an additional responsibility, you have areas in a PaaS deployment that you no longer have to manage so you can shift resources to key management.

La piattaforma di Azure offre inoltre una protezione avanzata dagli attacchi DDoS grazie a varie tecnologie basate su rete.The Azure platform also provides you strong DDoS protection by using various network-based technologies. Tuttavia, tutti i tipi di protezione da attacchi DDoS basati su rete hanno vari limiti per quanto riguarda collegamenti e data center.However, all types of network-based DDoS protection methods have their limits on a per-link and per-datacenter basis. Per evitare le problematiche legate agli attacchi DDoS di portata elevata, è possibile sfruttare la funzionalità cloud centrale di Azure per usare rapidamente e automaticamente la scalabilità come difesa da questi attacchi.To help avoid the impact of large DDoS attacks, you can take advantage of Azure’s core cloud capability of enabling you to quickly and automatically scale out to defend against DDoS attacks. Negli articoli sulle procedure consigliate verranno illustrati in dettaglio i vari passaggi.We'll go into more detail on how you can do this in the recommended practices articles.

Modernizzazione dell'approccio di difesaModernizing the defender’s mindset

Le distribuzioni PaaS impongono un cambiamento dell'approccio generale verso la sicurezza.With PaaS deployments come a shift in your overall approach to security. Si passa da un controllo autonomo sostanzialmente totale alla condivisione di alcune responsabilità con Microsoft.You shift from needing to control everything yourself to sharing responsibility with Microsoft.

Un'altra differenza significativa tra le distribuzioni PaaS e quelle locali tradizionali consiste in una nuova visione di ciò che compone il perimetro di sicurezza primario.Another significant difference between PaaS and traditional on-premises deployments, is a new view of what defines the primary security perimeter. In passato, il perimetro di sicurezza locale primario era rappresentato dalla rete, con la maggior parte delle progettazioni di sicurezza locali che la usava come risorsa di sicurezza primaria.Historically, the primary on-premises security perimeter was your network and most on-premises security designs use the network as its primary security pivot. Per le distribuzioni PaaS, è consigliabile passare all'identità come perimetro di sicurezza primario.For PaaS deployments, you are better served by considering identity to be the primary security perimeter.

L'identità come perimetro di sicurezza primarioIdentity as the primary security perimeter

Una delle cinque caratteristiche essenziali del cloud computing consiste nell'ampio accesso alla rete, cosa che rende meno efficace un approccio incentrato su di essa.One of the five essential characteristics of cloud computing is broad network access, which makes network-centric thinking less relevant. L'obiettivo della maggior parte del cloud computing è consentire l'accesso agli utenti a prescindere dalla loro posizione.The goal of much of cloud computing is to allow users to access resources regardless of location. La maggior parte di loro si troverà da qualche parte in Internet.For most users, their location is going to be somewhere on the Internet.

Nella figura seguente viene illustrata l'evoluzione del perimetro di sicurezza, da perimetro di rete a perimetro di identità.The following figure shows how the security perimeter has evolved from a network perimeter to an identity perimeter. La sicurezza consiste sempre meno nel difendere la rete e sempre più nel difendere i dati e nel gestire la sicurezza di app e utenti.Security becomes less about defending your network and more about defending your data, as well as managing the security of your apps and users. La differenza principale sta nel voler avvicinare il più possibile la sicurezza alle priorità dell'azienda.The key difference is that you want to push security closer to what’s important to your company.

L'identità come nuovo perimetro di sicurezza

Inizialmente, i servizi PaaS di Azure come i ruoli Web e SQL di Azure non offrivano difese con perimetri di rete tradizionali.Initially, Azure PaaS services (for example, web roles and Azure SQL) provided little or no traditional network perimeter defenses. Questo perché si presupponeva che l'esposizione a Internet fosse proprio lo scopo del ruolo Web e che l'autenticazione fosse essa stessa il nuovo perimetro, ad esempio BLOB o SQL di Azure.It was understood that the element’s purpose was to be exposed to the Internet (web role) and that authentication provides the new perimeter (for example, BLOB or Azure SQL).

Le procedure di sicurezza moderne presuppongono che un malintenzionato abbia violato il perimetro di rete.Modern security practices assume that the adversary has breached the network perimeter. Pertanto, le procedure di difesa moderne si sono focalizzate sull'identità.Therefore, modern defense practices have moved to identity. Le organizzazioni devono stabilire un perimetro di sicurezza basato sull'identità con procedure consigliate di autenticazione e autorizzazione estremamente robuste.Organizations must establish an identity-based security perimeter with strong authentication and authorization hygiene (best practices).

Suggerimenti per la gestione del perimetro di identitàRecommendations for managing the identity perimeter

I principi e i modelli per i perimetri di rete sono disponibili da molto tempo,Principles and patterns for the network perimeter have been available for decades. tuttavia nel settore c'è meno esperienza riguardo l'uso dell'identità come perimetro di sicurezza primario.In contrast, the industry has relatively less experience with using identity as the primary security perimeter. Ciò premesso, l'esperienza accumulata è comunque sufficiente per dare alcuni consigli generali la cui efficacia è comprovata sul campo, applicabili a quasi tutti i servizi PaaS.With that said, we have accumulated enough experience to provide some general recommendations that are proven in the field and apply to almost all PaaS services.

Di seguito vengono riepilogate le procedure consigliate generali per la gestione del perimetro di identità.The following summarizes a general best practices approach to managing your identity perimeter.

  • Non perdere le chiavi o le credenziali La protezione di chiavi e credenziali è essenziale per proteggere le distribuzioni PaaS.Don’t lose your keys or credentials Securing keys and credentials is essential to secure PaaS deployments. Perdere chiavi e credenziali è un problema comune.Losing keys and credentials is a common problem. Una buona soluzione consiste nell'usare una soluzione centralizzata in cui le chiavi e i segreti possono essere archiviati in moduli di protezione hardware.One good solution is to use a centralized solution where keys and secrets can be stored in hardware security modules (HSM). Azure offre un modulo di protezione hardware nel cloud con Azure Key Vault.Azure provides you an HSM in the cloud with Azure Key Vault.
  • Non inserire le credenziali e altri segreti nel codice sorgente o GitHub Un rischio ben peggiore della perdita di chiavi e credenziali consiste negli accessi non autorizzati.Don’t put credentials and other secrets into source code or GitHub The only thing worse than losing your keys and credentials is having an unauthorized party gain access to them. Gli utenti malintenzionati sono in grado di sfruttare le tecnologie bot per trovare chiavi e segreti archiviati in repository di codice come GitHub.Attackers are able to take advantage of bot technologies to find keys and secrets stored in code repositories such as GitHub. Si consiglia pertanto di non inserire chiavi e segreti in questi archivi di codice sorgente pubblici.Do not put key and secrets in these public source code repositories.
  • Proteggere le interfacce di gestione delle macchine virtuali nei servizi PaaS e IaaS ibridi I servizi IaaS e PaaS vengono eseguiti in macchine virtuali.Protect your VM management interfaces on hybrid PaaS and IaaS services IaaS and PaaS services run on virtual machines (VMs). A seconda del tipo di servizio, sono disponibili diverse interfacce di gestione che consentono di gestire direttamente da remoto tali macchine virtuali.Depending on the type of service, several management interfaces are available that enable you to remote manage these VMs directly. È possibile usare protocolli di gestione remota, ad esempio Secure Shell Protocol (SSH), Remote Desktop Protocol (RDP) e Remote PowerShell.Remote management protocols such as Secure Shell Protocol (SSH), Remote Desktop Protocol (RDP), and Remote PowerShell can be used. In generale, è consigliabile non abilitare l'accesso remoto diretto alle macchine virtuali da Internet.In general, we recommend that you do not enable direct remote access to VMs from the Internet. Se disponibile, è consigliabile usare approcci alternativi, ad esempio tramite una rete virtuale privata di Azure.If available, you should use alternate approaches such as using virtual private networking into an Azure virtual network. Se non sono disponibili soluzioni alternative, assicurarsi di usare passphrase complesse e, se disponibile, l'autenticazione a due fattori (ad esempio Multi-Factor Authentication di Azure).If alternative approaches are not available, then ensure that you use complex passphrases, and when available, two-factor authentication (such as Azure Multi-Factor Authentication).
  • Usare piattaforme di autenticazione e autorizzazione robusteUse strong authentication and authorization platforms

    • Usare le identità federate in Azure AD invece degli archivi utente personalizzati.Use federated identities in Azure AD instead of custom user stores. Quando si usano identità federate, è possibile sfruttare un approccio basato sulla piattaforma e delegare ai partner la gestione delle identità autorizzate.When you use federated identities, you take advantage of a platform-based approach and you delegate the management of authorized identities to your partners. Un approccio con identità federate è particolarmente importante negli scenari in cui i dipendenti vengono rimossi e le modifiche devono essere applicate in più sistemi di identità e autorizzazioni.A federated identity approach is especially important in scenarios when employees are terminated and that information needs to be reflected through multiple identity and authorization systems.
    • Usare i meccanismi di autenticazione e autorizzazione forniti dalla piattaforma invece di un codice personalizzatoUse platform supplied authentication and authorization mechanisms instead of custom code. poiché sviluppare un codice di autenticazione personalizzato può dare luogo a errori.The reason is that developing custom authentication code can be error prone. La maggior parte degli sviluppatori non sarà esperta in sicurezza e probabilmente non conoscerà tutte le sfaccettature e gli ultimi sviluppi legati ad autenticazione e autorizzazione.Most of your developers are not security experts and are unlikely to be aware of the subtleties and the latest developments in authentication and authorization. Il codice commerciale, ad esempio quello di Microsoft, è spesso soggetto a rigorose analisi di sicurezza.Commercial code (for example from Microsoft) is often extensively security reviewed.
    • Usare l'autenticazione a più fattori.Use multi-factor authentication. L'autenticazione a più fattori è è lo standard attuale per l'autenticazione e l'autorizzazione, in quanto permette di evitare le lacune di sicurezza intrinseche nei tipi di autenticazione basati su nome utente e password.Multi-factor authentication is the current standard for authentication and authorization because it avoids the security weaknesses inherent in username and password types of authentication. L'accesso a entrambe le interfacce di gestione di Azure, ovvero il portale e PowerShell da remoto, e ai servizi per i clienti deve essere progettato e configurato per l'uso di Azure Multi-Factor Authentication (MFA).Access to both the Azure management (portal/remote PowerShell) interfaces and to customer facing services should be designed and configured to use Azure Multi-Factor Authentication (MFA).
    • Usare protocolli di autenticazione standard come OAuth2 e Kerberos.Use standard authentication protocols, such as OAuth2 and Kerberos. Questi protocolli sono stati ampiamente analizzati e sono probabilmente implementati come parte delle librerie della piattaforma per autenticazione e autorizzazione.These protocols have been extensively peer reviewed and are likely implemented as part of your platform libraries for authentication and authorization.

Passaggi successiviNext steps

In questo articolo sono stati illustrati i vantaggi di sicurezza di una distribuzione PaaS di Azure.In this article, we focused on security advantages of an Azure PaaS deployment. Il passaggio successivo è costituito dall'approfondimento delle procedure consigliate per proteggere le soluzioni PaaS Web e mobili.Next, learn recommended practices for securing your PaaS web and mobile solutions. Si inizierà dai servizi app di Azure, dal database SQL di Azure e da SQL Data Warehouse di Azure.We’ll start with Azure App Service, Azure SQL Database, and Azure SQL Data Warehouse. Non appena saranno disponibili le procedure consigliate per altri servizi Azure, nell'elenco seguente verranno inseriti i relativi collegamenti:As articles on recommended practices for other Azure services become available, links will be provided in the following list: