Archivi categoria: Azure

Creazione di un laboratorio con Azure Lab Services (preview)

Facebooktwittergoogle_plusredditlinkedin

Abbiamo visto nel precedente articolo Creare DevTest Labs in Microsoft Azure come il servizio DebTest Labs consenta agli sviluppatori o ai tester di creare un ambiente in Azure che permetta di tenere sotto controllo i costi e allo stesso tempo permetta di effettuare tutti i test applicativi utilizzando sia macchine Windows che macchine Linux. L’evoluzione di questo servizio, che attualmente è in Preview, si chiama Azure Lab Services ed è un servizio che permette di creare un ambiente per lo sviluppo oppure un laboratorio da utilizzare per uso scolastico.

Il proprietario di un Lab crea un laboratorio, esegue il provisioning delle macchine virtuali Windows o Linux, installa il software e gli strumenti necessari e li rende disponibili per gli utenti del lab. Gli utenti del lab si connettono alle macchine virtuali del lab e le possono utilizzare per poter effettuare attività giornaliere oppure per svolgere i compiti scolastici. In ogni caso sarà possibile tenere sempre sotto controllo i costi del laboratorio e questo permette di ottimzizare l’utilizzo delle risorse a disposizione.

Diversi sono i vantaggi offerti dagli Azure Lab Services ed in particolare vi evidenzio:

  • Configurazione veloce e flessibile di un lab. Tramite Azure Lab Services, i proprietari di lab possono configurare velocemente un lab per le loro esigenze ed il servizio offre scalabilità e resilienza dell’infrastruttura.
  • Esperienza semplificata per gli utenti dei lab. Gli utenti del lab possono eseguire la registrazione a un lab con un codice di registrazione e accedervi in qualsiasi momento per usare le risorse del lab.
  • Analisi e ottimizzazione dei costi. Il proprietario del lab può impostare pianificazioni del lab per arrestare e avviare automaticamente le macchine virtuali. Può anche specificare le fasce orarie in cui le macchine virtuali del lab saranno accessibili agli utenti, impostare i criteri di utilizzo per ciascun utente o lab per ottimizzare i costi, nonché analizzare le tendenze di utilizzo e attività in un lab.
  • Sicurezza incorporata. Gli utenti del lab possono accedere in modo sicuro alle risorse tramite la rete virtuale configurata con ExpressRoute o con VPN da sito a sito. (attualmente non disponibile nella Preview)

In questo articolo creerò un laboratorio da utilizzare in una classe, per permettere agli studenti di lavorare con le macchine virtuali ed eseguire i compiti scolastici.

Creazione del laboratorio

Per poter creare il laboratiorio vi basta loggarvi al portale di Azure e creare una nuova risorsa di tipo Lab Services, come mostrato in figura:

Figura 1: Creazione di un nuovo Lab Service

Dopo aver atteso la creazione di un nuovo Lab Account, dalla scheda Overview, cliccate sul collegamento per poter aggiungere un nuovo Lab Creator. Il Lab Creator è un ruolo che permetterà al docente di poter creare una classe per i propri studenti oppure permetterà di creare un ambiente di test o di demo.

Figura 2: Aggiunta del Lab Creator

Figura 3: Configurazioni del ruolo di Lab Creator e dei permessi per la creazione del lab

Una volta che avrete deciso a chi concedere i privilegi di Lab Creator potrete far collegare il lab creator al sito web di Azure Lab Services. Dopo essersi autenticato gli verrà chiesto di confermare le autorizzazioni di accesso richiesta dall’ap Azure Lab Services, come mostrato in figura:

Figura 4: Conferma dell’accesso e autorizzazioni per Azure Lab Services

Il Lab Creator a questo punto è pronto per creare un nuovo laboratorio, cliccando sul pulsante New Lab. Oltre a fornire il nome del laboratorio, gli verrà chiesto la dimensione delle VM da utilizzare, la versione del sistema operativo (Windows o Linux) e le credenziali di accesso alla VM, come mostrato in figura. È possibile modificare la dimensione delle VM da utilizzare nel lab seguendo le istruzioni dell’articolo Use PowerShell to set allowed VM sizes in Azure Lab Services ed aggiungere altre immagini delle VM oltre a quelle proposte di default, seguendo le istruzioni dell’articolo Use PowerShell to add a marketplace image to a lab in Azure DevTest Labs

Figura 5: Creazione di un nuovo laboratorio

Figura 6: Immagini delle macchine virtuali disponibili di default

Dopo qualche istante sarà possibile, dalla Dashboard del Lab, accedere alle configurazioni. Attendete che venga completata la creazione della VM e, dopo averla avviata, configurate il template della macchina virtuale con tutte le caratteristiche che volete fornire agli utenti del lab. Collegatevi alla macchina in desktop remoto ed effettuate le personalizzazioni che desiderate (installazione di software, configurazioni).

Figura 7: Creazione del laboratorio completata

Terminate le configurazioni del template potete modificarne i dettagli, per fornire ai vostri studenti/utenti maggiori informazioni sulla VM.

Figura 8: Modifica dei dettagli del template

A questo punto potete pubblicare il template facendo clic sul pulsante Publish. Una volta che il template è stato pubblicato non sarà più possibile modificarlo.

Figura 9: Pubblicazione del template della VM

Configurazione dei criteri di utilizzo del laboratorio

È possibile definire dei criteri di utilizzo del laboratorio, come ad esempio il numero massimo di utenti che potranno utilizzarlo. Per poter definire la policy vi basterà cliccare su Usage Policy e definire il numero massimo di utenti consentito, come mostrato in figura:

Figura 10: Definizione della Usage Policy del Lab

Dopo aver stabilito il numero massimo di macchine virtuali da creare nel vostro Lab (nella Preview potete creare un massimo di 5 VM), potrete registrare i vostri utenti e dargli la possibilità di accedere al laboratorio.

Figura 11: Creazione delle VM nel Lab

Prossimamente sarà possibile anche limitare l’utilizzo del laboratorio a determinati periodi della giornata. Al momento la funzionalità non è ancora disponibile.

Figura 12: Abilitazione della programmazione della disponibilità del Lab

Utilizzo del Lab

Per permettere l’utilizzo del lab ai propri studenti ed ai propri collaboratori sarà necessario prima aggiungere gli utenti utilizzando il pulsante User registration e successivamente inviare il link che verrà generato a chi dovrà utilizzare il lab.

Figura 13: Generazione del link per poter permettere agli studenti di poter accedere al laboratorio

Dal portale amministrativo sarà possibile verificare le assegnazioni e lo stato della macchina virtuale, come mostrato in figura:

Figura 14: verifica delle assegnazioni delle VM disponibili nel Lab

Collegamento al Lab

A questo punto chi riceverà il link dovrà collegarsi al sito web di Azure Lab Services e dopo aver inserito le credenziali dell’organizzazione (quindi di Azure AD) ed aver accettato le autorizzazioni da dare agli Azure Lab Services, potrà cominciare ad utilizzare la macchina virtuale del laboratorio che gli è stata assegnata. Nella schermata principale vedrà le VM a cui gli è stato consentito l’accesso e, dopo averle avviate, potrà collegarsi in desktop remoto utilizzando le credenziali fornite dal Lab Creator.

Figura 15: Dopo l’accesso al portale degli Azure Lab Services l’utente vedrà le VM che gli sono state assegnate

Figura 16: Accesso alla VM del Lab dopo l’accensione

Dal portale di amministrazione il Lab Creator può tenere sotto controllo la situazione, può avviare/stoppare la macchina virtuale, può connettersi in desktop remoto per dare assistenza all’utilizzatore della VM

Figura 17: Gestione delle VM del Lab dal portale amministrativo

Conclusioni

Azure Lab Services può essere usato per implementare molti scenari. Uno dei più importanti prevede la possibilità di ospitare computer di sviluppo per gli sviluppatori oppure è un’interessante soluzione per implementare laboratori scolastici nel Cloud. Un docente può creare un laboratorio, installare macchina virtuali Windows o Linux, installare il software necessario per le esercitazioni e rendere disponibili le VM ai propri studenti. Vedremo nella versione finale cosa sarà disponibile, intanto proviamo la preview 🙂

Buon lavoro!

Nic

Pubblicare applicazioni aziendali con Azure Active Directory Application Proxy

Facebooktwittergoogle_plusredditlinkedin

La necessità di rendere utilizzabili al di fuori del perimetro aziendale le applicazioni interne è un’esigenza ormai quotidiana, ma la disponibilità esterna di queste risorse costringe necessariamente chi amministra l’infrastruttura ad “aprire le porte” verso Internet, con tutte le implicazioni dal punto di vista della sicurezza che questo comporta.

Sono state e sono tutt’ora utilizzate una serie di tecniche di mitigazione, ad esempio l’impiego di proxy a reverse con l’utilizzo di sistemi di re-writing degli URL, che consentono una separazione netta delle connessioni in ingresso e forniscono una certa sicurezza sulle risorse esposte.

Questa architettura permette la collocazione in DMZ di sole macchine con il compito di gestire le richieste in ingresso e ridirigerle poi, con alcune regole di controllo all’interno. In questo modo le infrastrutture sensibili non hanno contatto diretto con l’esterno.

Contestualmente a questi accorgimenti l’adozione di sistemi IDS/IPS “garantiscono” un accettabile livello di sicurezza.

In ogni caso questo approccio ha richiesto e richiede che il firewall perimetrale consenta la connessione ed “apra” almeno una porta verso l’interno, richiede anche che i vari apparati posti a controllo del perimetro siano costantemente aggiornati e verificati

Azure Active Directory Application Proxy

In Microsoft Azure è disponibile un servizio che si lega in modo stretto con Azure Active Directory e che in maniera concettualmente del tutto nuova permette in modo semplice la fruizione delle applicazioni ad utenti esterni all’azienda.

Questo servizio è Azure Active Directory Application Proxy, disponibile con la versione BASIC o PEMIUM di Azure Active Directory.

Per poter utilizzare la funzione di Application Proxy, dal portale di Azure è sufficiente, selezionata la Directory di riferimento, attivare la funzionalità in prova valida per 30 giorni e successivamente terminata la fase di test, effettuarne l’acquisto.

Figura 1: Abilitazione servizi AAD Premium

Figura 2: Attivazione di Azure AD Premium P2 Trial

Attivata la funzionalità di Azure AD Premium è necessario installare il componente Application Proxy Connector. La scelta più corretta è quella di dedicare un sistema server a questa funzione, scelta che permette una migliore scalabilità delle risorse e di gestione.

Figura 3 Download componente Connector

Per configurare correttamente regole di uscita dell’Application Proxy è utile la lettura del documento Attività iniziali del proxy di applicazione e installazione del connettore

Mentre per un controllo diretto ed una verifica puntuale della configurazione è disponibile il tool Azure Active Directory Application Proxy Connector Ports Test Tool

È anche possibile permettere che il Connector interno utilizzi per collegarsi ad Azure un Web Proxy , questo qualora non fosse possibile agire direttamente sul Firewall per definire regole puntuali di uscita.

In questo caso è bene considerare che un possibile malfunzionamento del Web Proxy stesso si ripercuoterebbe necessariamente sulla raggiungibilità delle applicazioni.

L’aspetto interessante, relativo alla sicurezza del sistema, è che NON è richiesto che in ingresso venga definita alcuna regola sul Firewall.

L’applicazione che è utilizzata esternamente sarà disponibile tramite il portale Azure e sarà la componente Application Proxy che si occuperà di renderla accessibile e di “dialogare” con il Connector interno, che è la sola componente ad avere contatti con l’applicazione in rete locale.

Per analogia con il sistema tradizionale a Reverse Proxy il Connector è un Reverse Proxy, con la sola ma importante differenza che questo, come detto sopra, non ha contatti con l’esterno ma riceve e reindirizza le richieste dalla componente cloud.

Figura 4: Principio di funzionamento di Azure Active Directory Application Proxy

A questo punto è evidente che l’infrastruttura di sicurezza Aziendale può essere “alleggerita” in quanto come già detto non è richiesto che siano attivate porte in ascolto, questo compito è demandato ad Azure.

Pubblicazione di una applicazione interna tramite Azure AD Application Proxy

Dal portale di Azure selezionare la directory in cui si è abilitata la funzione e successivamente selezionare Configura un’app

Figura 5: Aggiunta dell’applicazione on-premises da esporre

Nella maschera successiva scegliere “Add your own on-premises application”

Verrà così proposta una ulteriore videata con le specifiche proprie dell’applicazione che si intende pubblicare

  • Nome serve ad identificare l’applicazione all’interno del portale di accesso e di configurazione
  • URL interno è l’effettivo URL che il connettore installato on premise contatterà (di norma l’Url dell’applicazione interna)
  • URL Esterno è il riferimento
    pubblico per la raggiungibilità dell’applicazione interna, nel caso si usi un dominio Custom, questo è selezionabile dalla casella
  • Metodo di Autenticazione Preliminare è effettivamente la modalità con cui gli utenti accederanno all’autenticazione dell’applicazione.

Con la modalità Azure AD l’utente verrà effettivamente autenticato con i servizi di Azure e quindi beneficiando anche di quelle che sono le prerogative di questi utenti: gestione Self-Service della password, possibilità di definire criteri di sblocco personalizzati, accesso da dispositivi con determinate caratteristiche etc.

Con la modalità Passtrough invece, all’utente viene proposto direttamente (se previsto) il login dell’applicazione interna.

Nel caso in cui sia impostata la modalità Azure AD e l’applicazione (tipicamente legacy) non sia in grado di utilizzare di questa modalità, verrà richiesta una seconda autenticazione.

A questo punto è possibile accedere all’applicazione, è da notare che di default tutto il traffico è in HTTPS e viene utilizzato un certificato generato per il nome host definito.

Tuttavia, siccome si possono anche gestire URL esposti in Azure con FQDN del proprio dominio pubblico è possibile effettuare l’upload di un certificato aziendale.

Controllo delle funzionalità del Connector Gateway

Questo oggetto non ha particolari opzioni di configurazione, all’atto dell’installazione, viene richiesto un account amministratore globale della directory e con questo il gateway si registra ed autentica sulla directory stessa.

È possibile all’interno del registro eventi rilevare eventuali errori o anomalie archiviate in AadApplicationProxy (fig.6)

Sono anche disponibili, al fine di valutare le performance di questo servizio alcuni Performance Counters (fig.7)

Figura 6: Contatori disponibili per la verifica delle performance del servizio

Figura 7: Aggiunta dei contatori

Considerazioni relative agli aspetti di sicurezza

Controllo tramite NMAP delle informazioni deducibili tramite un port SCAN

Al di là delle considerazioni espresse in precedenza, un piccolo e sicuramente approssimativo test relativo agli aspetti legati alla sicurezza è stato condotto utilizzando NMAP.

Tramite questo tool si è cercato di identificare il sistema operativo sul quale l’applicazione è installata.

Sono stati effettuati due TEST distinti, il primo verso una applicazione esposta in modo tradizionale FWàRev-ProxyàApplicazione

Figura 8: Scansione verso l’esposizione con Reverse Proxy tradizionale

Nmap seppure con una certa approssimazione ha rilevato un host Linux fig. sopra

Ed il secondo sempre verso la stessa applicazione ma esposta tramite AZURE con la struttura descritta sopra

Figura 9 Scansione verso l’esposizione con Azure Application Proxy

Nmap non è riuscito ad identificare il sistema verso il quale ha fatto la scansione.

Conclusioni

Partendo dall’assunto che non esiste LA soluzione perfetta, sicura e garantita e vista anche la velocità di implementazione e il discreto grado di sicurezza by-default dell’infrastruttura, la soluzione di Azure Application Proxy può essere un valido aiuto alle realtà che necessitano di rendere fruibili le proprie applicazioni all’esterno del perimetro aziendale.

Riferimenti:

Azure Application Proxy Connector

Azure Application Proxy Connector – connessione tramite proxy interno

Risoluzione dei problemi relativi alla pubblicazione di applicazioni tramite Azure

Sicurezza

Configurare il disaster recovery delle Azure VM in una regione secondaria di Azure

Facebooktwittergoogle_plusredditlinkedin

Azure Site Recovery è un servizio che permettere di poter replicare in Microsoft Azure le nostre macchine fisiche on-premises e le nostre macchine virtuali Hyper-V oppure VMware, per poterle avviare nel momento in cui si verifica un disastro. Ho già avuto modo di affrontare in diversi articoli come proteggere macchine virtuali VMware e come proteggere e migrare server fisici con Azure Site Recovery. Per chi volesse sapere cosa offre e come funziona Azure Site Recovery consiglio la lettura del documento Informazioni su Site Recovery.

In questo articolo vi voglio parlare di come effettuare il Disaster Recovery (DR) di una macchina virtuale ospitata in Microsoft Azure.

Il servizio, disponibile solo da pochi giorni, permette di replicare una macchina virtuale da una Region di Azure verso un’altra Region, in modo tale che se il sito primario non sia disponibile (per un disastro, per problemi di connettività, ecc..) la macchina virtuale possa essere accesa nel sito secondario e sia già pronta per poter eseguire le applicazioni.

Creazione del Recovery Service Vault

Prima di procedere all’abilitazione della replica della nostra Azure VM è necessario creare un Backup and Site Recovery Vault. Collegatevi al portale di Azure e dopo esservi autenticati create un nuovo Recovery Services Vault, come mostrato in figura. Quando create il Recovery Services Vault considerate sempre due fattori:

  • Il Recovery Services Vault non si deve trovare nella Region di Azure dove si trovano le Azure VM da proteggere
  • Il Resource Group in cui inserite il Recovery Services Vault non deve essere nella Region delle VM da proteggere

Le due condizioni sono necessarie perché, in caso di disastro nella Region dove sono ospitate le VM, non sarebbero disponibili né Resource Group né Recovery Services Vault!


Figura 1: Creazione del Recovery Services Vault in una Region diversa da quella dove sono ospitate le Azure VM da proteggere

Protezione delle Azure VM

Terminata la creazione del Recovery Services Vault siamo pronti per proteggere le nostre Azure VM. Dal portale di Azure vi basterà selezionare la VM da proteggere e cliccare sul collegamento Disaster Recovery. Nel blade che si aprirà configurate la Region di destinazione della replica della vostra VM ed il Resource Group, la VNET, lo Storage Account e tutti gli altri parametri richiesti, come mostrato in figura:

Figura 2: Configurazione della Replica della VM e Replication settings

Attenzione: Per poter abilitare la replica della VM è necessario che nella macchina virtuale sia installato l’Azure VM agent. Nel caso non lo fosse o nel caso non rispondesse alle richieste del portale riceverete un messaggio come quello mostrato in figura:

Figura 3: Messaggio di errore nel caso l’Azure VM agent non sia installato o non funzioni

L’abilitazione della replica dura diversi minuti. Potete controllare lo stato della replica dalle notifiche, come mostrato in figura:

Figura 4: Notifiche sulla creazione degli oggetti necessari alla replica della VM

Selezionando la VM e cliccando su Disaster Recovery sarà possibile visualizzare il Site Recovery Job iniziale di abilitazione della replica, come mostrato in figura:

Figura 5: Informazioni sullo stato di replica della Azure VM

Figura 6: Job di abilitazione della replica

Dal blade del Disaster Recovery sarà sempre possibile tenere sotto controllo lo stato di replica della VM e sarà possibile modificare i parametri. Cliccate sul tasto Settings e modificate i parametri della VM replicata. Potete ad esempio decidere in quale Resource Group accenderla e a quale VNET collegarla, oltre ovviamente alla dimensione che deve avere.

Figura 7: Configurazioni della VM replicata

Test del Failover

È sempre buona norma testare periodicamente il failover e verificare che tutto funzioni nella VM che avete replicato. Per effettuare il test vi basta cliccare su Test Failover e seguire le istruzioni. Vi verrà chiesto il Recovery Point che volete testare e la Azure VNET a cui collegare la VM.

Figura 8: Failover Test della VM

Dopo qualche minuto, nel Resource Group dove avete deciso di avviare la macchina per testare il Failover, apparirà la VM e vi ci potrete collegare per poter verificare che tutto funzioni perfettamente.

Figura 9: Macchina virtuale di test per il Failover

Dopo le opportune verifiche potete cliccare su Cleanup test failover e cancellare la macchina virtuale di test, come mostrato in figura:

Figura 10: Cleanup test failover

Failover della Azure VM

Per poter eseguire il Failover della Azure VM è sufficiente cliccare sul pulsante Failover e dal blade scegliere quale Recovery Point applicare e se spegnere la macchina prima di iniziare il failover. Lo spegnimento della macchina ha senso ovviamente in un Failover programmato e non in caso di vero disastro 🙂

Figura 11: Failover della Azure VM nella seconda Region di Azure

Terminato il Fialover potete decidere anche di cambiare recovery point utilizzando il pulsante Change recovery point oppure confermare la scelta fatta utilizzando il pulsante Commit. Dopo aver effettuato il Commit però non sarà più possibile modificare il Recovery Point.

Figura 12: Commit della macchina virtuale e completamento del Failover

Terminato il disastro è possibile riproteggere la Azure VM utilizzando il pulsante Re-protect. La macchina verrà replicata nuovamente verso la Region di partenza, ma se volete potete cliccare sul pulsante Customize e modificare i parametri, scegliendo il Resource Group, la VNET, lo Storage Account e l’Availability Set della macchina di destinazione.

Figura 13: Re-protect della Azure VM

Conclusioni

Il Disaster Recovery è decisamente importante vista la nostra dipendenza dai sistemi IT. Nonostante tutti gli sforzi profusi, può capitare sempre che accada qualcosa di imprevisto che interrompa la possibilità di usufruire dei servizi. Nonostante il Cloud sia stato concepito per essere affidabile, è buona norma essere sempre preparati al peggio. La replica delle VM di Azure è sicuramente una funzionalità interessante per essere certi di poter gestire un disastro importante e per assicurare alle aziende che hanno anche degli obblighi contrattuali o delle esigenze molto stringenti in ambito di Disaster Recovery di poter usufruire delle VM ospitate in Azure ed essere compliant con le loro specifiche.

Per approfondimenti potete visitare la pagina Set up disaster recovery for Azure VMs to a secondary Azure region

Creare DevTest Labs in Microsoft Azure

Facebooktwittergoogle_plusredditlinkedin

Azure DevTest Labs è un servizio che permette agli sviluppatori o ai tester di creare un ambiente nel Cloud che gli permetta di tenere sotto controllo i costi e allo stesso tempo gli permetta di effettuare tutti i test applicativi utilizzando sia macchine Windows che macchine Linux. Grazie all’uso di alcune policy è possibile tenere sotto controllo i costi ed il numero di macchine virtuali da utilizzare in ambiente di test. Molto spesso infatti mi è capitato di vedere alcuni laboratori ed alcuni POC che, dopo essere stati creati, vengono lasciati accesi e non vengono più gestiti. Se realizzati nel Cloud, questi lab possono diventare un vero incubo a fine mese, quando arriva la fattura da Microsoft.

Limitando invece il numero di macchine virtuali che un utente può creare, impostando l’avvio e lo spegnimento automatico e decidendo il numero massimo di VM che è possibile creare in ogni lab, si riescono sicuramente a gestire meglio le risorse che vengono messe a disposizione per il test.

Creazione del Dev Test Lab

La creazione del DevTest Lab è molto semplice. Loggatevi al portale Azure e decidete di creare un nuovo DevTest Lab. Inserite il nome del lab, la location ed il Resource Group da utilizzare ed eventualmente abilitate l’Auto-shutdown.

Figura 1: Creazione di un DevTest Lab

La creazione dura pochi secondi e tra le prime operazioni da fare c’è l’aggiunta delle macchine virtuali che volete rendere disponibili nel lab. Vi potete servire delle immagini presenti nel Marketplace oppure potete utilizzare le vostre immagini personalizzate.

Figura 2: Aggiunta delle macchine virtuali al DevTest Lab

Dopo aver cliccato sul pulsante Add potete scegliere le immagini disponibili nel Marketplace. In questo articolo ho deciso di utilizzare l’immagine di Windows Server 2016. Procedete alla configurazione del nome della VM, della username e della password per accedere alle VM. Configurate la dimensione delle VM e gli eventuali Artifacts da installare, cioè software aggiuntivi da mettere nella VM, come mostrato in figura. Gli Artifacts sono la parte più importante del lab, perché contengono gli script per configurare automaticamente le nostre VM e prepararle per il laboratorio. Ad esempio, potremmo creare uno script che installa un webserver o uno script che promuove la macchina a domain controller e riutilizzarlo tutte le volte che vogliamo ricreare le VM del laboratorio.

Figura 3: Installazione degli Artifacts nella VM

Configurate la VNET e la subnet a cui connettere la VM, l’eventuale indirizzo IP pubblico e scegliete il numero delle VM da creare, oltre a decidere se la VM deve essere Claimable. Le macchine virtuali verranno create e messe in un pool condiviso, a disposizione di chi ne abbia bisogno, e rimarranno spente fino a quando qualcuno non deciderà di effetuarne il Claim, cioè di accenderle ed utilizzarle.

Figura 4: Configurazione del numero delle VM a disposizione nel DevTest Lab

Subito dopo vedrete che le vostre macchine cominceranno ad essere create e configurate secondo le configurazioni che avete indicato.

Figura 5: Creazione delle macchine virtuali

Dopo aver atteso la creazione delle VM, è possibile andare nel nodo Claimable virtual machines e selezionare Claim machine, come mostrato in figura. L’operazione consiste nell’accensione (e quindi nel pagamento) della VM e la rende disponibile all’utilizzo.

Figura 6: Claim di una macchina virtuale (la macchina verrà accesa e resa disponibile agli utenti del DevTest Lab)

Figura 7: Solo le VM che sono state richieste vengono accese, le altre rimangono spente

Per poter permettere l’accesso al DevTest Lab e alle VM, potete cliccare sul nodo Configuration and Policies e successivamente selezionare Access Contro (IAM). Cliccando su Add è possibile aggiungere utenti e gruppi e dare loro il giusto ruolo. Nella figura sotto viene concesso ad un utente il permesso di DevTest Labs User

Figura 8: Aggiunta dei permessi di utilizzo del DevTest Lab

La seguente tabella mostra le operazioni che possono essere concesse agli utenti in base al loro ruolo:

Actions users in this role can perform DevTest Labs User Owner Contributor
Lab tasks
Add users to a lab No Yes No
Update cost settings No Yes Yes
VM base tasks
Add and remove custom images No Yes Yes
Add, update, and delete formulas Yes Yes Yes
Whitelist Azure Marketplace images No Yes Yes
VM tasks
Create VMs Yes Yes Yes
Start, stop, and delete VMs Only VMs created by the user Yes Yes
Update VM policies No Yes Yes
Add/remove data disks to/from VMs Only VMs created by the user Yes Yes
Artifact tasks
Add and remove artifact repositories No Yes Yes
Apply artifacts Yes Yes Yes

Tra le tante configurazioni disponibili, è sicuramente interessante la possibilità di accendere e spegnere automaticamente le VM del laboratorio, come mostrato in figura:

Figura 9: Accensione automatica delle VM nel DevTest Lab

Per maggiori informazioni sulle policy vi rimando alla lettura dell’articolo Gestire tutti i criteri per un lab in Azure DevTest Labs

Acceso alle VM del DevTest Lab

Una volta che il DevTest Lab è stato creato e configurato e dopo aver effettuato il Claim delle VM, vi potrete connettere alla VM cliccando sul nome e selezionando il pulsante Connect

Figura 10: Connessione alla VM disponibile nel DevTest Lab

Sicuramente interessante è la parte di gestione dei costi. La funzionalità di gestione dei costi consente di tenere traccia dei costi del lab e di visualizzare i costi stimati del mese in corso fino alla data odierna e la proiezione dell’ammontare dei costi a fine mese. È anche possibile impostare dei Target e dei limiti.

Figura 11: Proiezione dei costi mensili per le risorse utilizzate nel DevTestLab

Figura 12: impostazione del Target mensile per il nostro DevTEst Lab

Per maggiori informazioni sulla funzionalità di gestione dei costi vi rimando alla lettura dell’articolo Visualizzare la tendenza dei costi mensili stimati per il lab in Azure DevTest Labs

Conclusioni

L’utilizzo dei DevTest Lab permette alle aziende di tenere sotto controllo i costi per la gestione degli ambienti di test e di sviluppo e ne automatizza l’accensione e lo spegnimento, con un notevole risparmio economico ed una migliore gestione tramite la specifica di limiti e quote. Utilizzando i template personalizzati e gli Artifacts siamo in grado di velocizzare notevolmente la realizzazione del lab e di permettere dei test rapidi ed efficienti.

Buon lavoro!

Nic

Configurare l’accesso sicuro ad Azure AD utilizzando Privileged Identity Management

Facebooktwittergoogle_plusredditlinkedin

In qualsiasi realtà aziendale è necessario effettuare delle attività di amministrazione informatica che richiedono dei permessi amministrativi elevati ed è una buona pratica che gli utenti abbiano sempre i minori permessi amministrativi possibili, per assicurare un buon livello di sicurezza ed impedire che vengano effettuate delle operazioni senza consenso (volutamente o per sbaglio). È interessante anche limitare nel tempo eventuali permessi amministrativi, giusto il tempo necessario per effettuare l’operazione. Mi è capitato spesso di vedere account privilegiati assegnati ad un consulente esterno che poi non sono stati più rimossi e questo mette a forte rischio la sicurezza aziendale.

Ho avuto modo qualche tempo fa di mostrarvi una nuova funzionalità  introdotta in Windows Server 2016 che si basa sul principio dell’amministrazione Just In Time (JIT) nell’articolo Privileged Access Management e Temporary Group Membership in Windows Server 2016 AD e ho già affrontato il tema della Gestione dell’accesso alle macchine virtuali in Microsoft Azure con la funzionalità JIT (Just-in-Time)

In questo articolo voglio invece parlarvi di come rendere sicuro l’accesso ad Azure AD (e quindi a tutte le risorse che gestisce) utilizzando Privileged Identity Management, che permette di assegnare permessi amministrativi limitati nel tempo e che permette di monitorare e approvare questo tipo di accessi privilegiati.

Privileged Identity Management (PIM) richiede però che abbiate una sottoscrizione Azure AD Premium P2 oppure che abbiate Enterprise Mobility + Security E5. Per chi non conoscesse le differenze tra le diverse edizioni di Azure AD consiglio vivamente la lettura del documento Informazioni su Azure Active Directory, mentre per il pricing vi rimando al link Prezzi di Azure Active Directory

I vantaggi nell’uso di Azure AD Privileged Identity Management sono davvero notevoli e vi permettono di:

  • Vedere a quali utenti vengono assegnati i ruoli con privilegi per gestire le risorse di Azure
  • Abilitare l’accesso come amministratore JIT su richiesta ad Office 365 e alle risorse di Azure (sottoscrizioni, gruppi di risorse e alle singole risorse)
  • Visualizzare una cronologia dell’attivazione dell’amministratore, comprese le modifiche che gli amministratori hanno apportato alle risorse di Azure
  • Essere avvisati delle modifiche apportate nelle assegnazioni del ruolo di amministratore
  • Richiedere l’approvazione per attivare i ruoli di amministratore con privilegi di Azure AD
  • Esaminare l’appartenenza dei ruoli di amministratore e richiedere agli utenti di fornire una giustificazione per l’appartenenza continua ad un determinato ruolo

Abilitare Privileged Identity Management per la directory di Azure

Per cominciare è necessario che accediate al portale di gestione di Azure AD utilizzando i privilegi di un Global Administrator. Decidete di aggiungere una nuova risorsa e scegliete Azure AD Privileged Identity Management. Seguite le indicazioni presenti in console e fate clic su Create.

Figura 1: Aggiunta della risorsa Azure AD Privileged Identity Management

Come accennato prima, per poter aggiungere questa funzionalità è necessario abilitare un piano di Azure AD Premium 2. Potete attivare anche una trial della durata di 30 giorni per testare tutte le funzionalità offerte dal piano.

Figura 2: Attivazione della trial di Azure AD Premium P2

Per poter attivare Privileged Identity Management è necessario che venga verificata l’identità del Global Administrator che la sta attivando. Seguite il wizard ed utilizzate la multi-factor authentication per poter assicurare l’attivazione, come mostrato in figura:

Figura 3: Richiesta della verifica dell’identità prima dell’attivazione di Privileged Identity Management

Figura 4: Completamento della verifica dell’identità con l’utilizzo della multi-factor authentication

Dopo aver effettuato la verifica, confermate l’attivazione facendo clic sul punsante Consent, come mostrato in figura:

Figura 5: Consenso all’attivazione di PIM

La procedura non è ancora terminata e l’ultimo passaggio richiede che effettuiate il Sign Up di Privileged Identity Management ai ruoli di Azure AD directory.

Figura 6: Sign Up di PIM ai ruoli di Azure AD directory

Adesso che avete completato tutti gli step per l’attivazione della funzionalità di Privileged Identity Mangement, potrete visualizzare tutti i ruoli che sono stati assegnati nella vostra directory di Azure AD.


Figura 7: Ruoli assegnati nella directory di Azure AD

Gestione dei ruoli e degli accessi privilegiati

In questa guida utilizzerò il mio tenant di Office 365 e la relativa Azure Directory. Nel tenant è presente un utente, che si chiama Murphy Law, che attualmente è un Exchange Administrator.

Figura 8: Utente con un ruolo permanente di Exchange Administrator

La verifica del ruolo può essere fatta anche dal portale di Azure AD.

Figura 9: Verifica del ruolo dal portale di Azure AD

Sicuramente molti di voi conosceranno la Legge di Murphy e penseranno che probabilmente non sia il caso di affidare la gestione di Exchange Online ad un utente con un nome simile, soprattutto di non farlo in maniera permanente. Io tra l’altro sono molto d’accordo con la Chiosa di O’Toole alla legge di Murphy: Murphy era un ottimista. Per questo motivo ho deciso di convertire il ruolo di Exchange Administrator all’utente Murphy Law da Permanente ad Eleggibile. Murphy potrà richiedere di diventare Exchange Administrator quando ne avrà bisogno, ma per il resto del tempo rimarrà un utente limitato.

Figura 10: Modifica del ruolo di Exchange Administrator da Permament ad Eligible

Figura 11: Verifica della conversione del ruolo

Dal portale amministrativo di Office 365 adesso risulterà che Murphy Law è un semplice utente, senza alcun ruolo amministrativo.

Figura 12: Murphy è diventato un utente senza privilegi amministrativi

Richiesta di appartenenza temporanea ad un ruolo amministrativo

Quando l’utente dovrà effettuare delle operazioni su Exchange Online e avrà bisogno dei privilegi corretti, potrà connettersi al portare di Azure AAD con le proprie credenziali e dal nodo di Privileged Identity Management potrà fare richiesta di attivazione di uno dei ruoli che sono per lui eleggibili, come mostrato in figura:

Figura 13: Richiesta di attivazione di uno dei ruoli per cui l’utente è eleggibile

Figura 14: Richiesta di conferma dell’identità tramite multi-factor authentication

Il ruolo potrà essere attivato per un certo numero di ore, che sono determinate dal “template” del ruolo e che posso essere modificate, e può essere attivato a partire da una certa data e ora invece che immediatamente.

Figura 15: Attivazione temporanea del ruolo con attivazione personalizzata del tempo di inizio

Nel portale amministrativo è possibile verificare l’attivazione del ruolo, la durata e la scadenza dello stesso.

Figura 16: Verifica dell’attivazione del ruolo dal portale di Azure AAD

Da questo momento in poi e per la durata di un’ora l’utente farà parte degli Exchange Administrator.

Gestione del processo di attivazione del ruolo

Come abbiamo visto, l’utente si è auto-attivato il ruolo. È però possibile fare in modo che, prima dell’attivazione, sia necessaria l’approvazione da parte di un utente ancora più privilegiato. Per poter usare l’approvazione è necessario modificare il comportamento del ruolo. Loggatevi in Azure AAD e selezionate Azure AD Privileged Identity Management. Dal nodo Azure Active Directory Roles scegliete Roles e poi selezionate il ruolo che volete modificare. Potete modificarne la durata, potete richiedere che venga mandata una mail agli amministratori ogni volta che il ruolo viene attivato ma soprattutto potete attivare l’approvazione, come mostrato in figura:

Figura 17: Modifica del ruolo di Exchange Administrator ed attivazione dell’approvazione

Terminata la procedura, ogni volta che verrà effettuata una richiesta per avere il ruolo di Exchange Administrator, l’Approver riceverà una mail con la richiesta e potrà decidere se concedere o rifiutare la richiesta.

Figura 18: Mail di richiesta per l’approvazione del ruolo

Figura 19: Approvazione o rifiuto della richiesta dal portare di Azure AD

Conclusioni

Azure AD Privileged Identity Management (PIM) è disponibile con il piano AAD Premium P2 e permette alle aziende di poter controllare meglio quando gli utenti utilizzano gli account privilegiati. Poter limitare nel tempo i privilegi ed utilizzare la Just in Time Administration è sicuramente vantaggioso in termini di sicurezza e permette di poter gestire nel cloud lo stesso principio del Least Administrative Privilege che “dovremmo” avere in azienda. Per approfondimenti sul tema vi rimando alla lettura dell’articolo Iniziare ad usare Azure AD Privileged Identity Management

Buon lavoro!

Nic

Joinare computer Windows 10 ad Azure AD ed effettuare connessioni in RDP

Facebooktwittergoogle_plusredditlinkedin

Dalla versione di Windows 10 Anniversary Update (Professional oppure Enterprise) è possibile aggiungere il sistema operativo client di casa Microsoft ad Azure Active Directory (Azure AD), la directory basata sul cloud multi-tenant usata come servizio di gestione delle identità, che combina i servizi di directory, la gestione dell’accesso delle applicazioni e la protezione delle identità in un’unica soluzione.

Per avere un’idea dei possibili vantaggi e degli scenari di utilizzo di un computer Windows 10 joinato ad Azure AD vi consiglio di leggere prima l’articolo Usage scenarios and deployment considerations for Azure AD Join

In ogni caso potete joinare ad Azure AD solo un computer in Workgroup. Se avete un computer già joinato al dominio locale e volete approfittare delle funzionalità di Single Sign-On, potete invece Connettere un computer in dominio ad Azure AD (Workplace Join). Si tratta quindi di due funzionalità completamente diverse. Per completezza vi inserisco una tabella che riassume le differenze:

Figura 1: tabella riassuntiva delle differenze di funzionalità tra Azure AD Join e Workplace Join

In questo articolo mi occuperò solo di Azure AD Join

Gli utenti possono joinare i propri dispositivi Windows 10 sia durante la first-run experience, il momento in cui si accende il dispositivo per la prima volta ed è necessario inserire le prime informazioni per completare l’installazione, sia dall’app Settings, dove si può decidere se connettere il sistema operativo ad Azure AD oppure joinarlo. Se joinate Windows 10 ad Azure AD potete utilizzare le credenziali di Azure AD per potervi loggare al PC ed utilizzare la funzionalità di Single Sign-On (SSO) quando accedete alle applicazioni SaaS basate sul cloud ed ad Office 365.

È anche possibile impedire agli utenti ed ai gruppi creati in Azure AD la possibilità di joinare i propri dispositivi o limitarne il numero, oltre a forzare l’uso della multi-factor authentication. Dopo che un utente ha joinato il proprio dispositivo in Azure AD è possibile controllarne il comportamento, è possibile cancellarlo, bloccarlo oppure gestirlo con un software di Mobile Device Management (come Microsoft Intune).

Se decidete di joinare Windows 10 durante la first-run experience, i passaggi da seguire cambiano in base alla release di Windows 10 che state utilizzando e sono descritti nell’articolo Aggiungere un nuovo dispositivo Windows 10 con Azure AD in fase di completamento dell’installazione. In sintesi, i passaggi da effettuare sono i seguenti:

  1. Quando si accende il nuovo dispositivo e viene avviato il processo di installazione, viene visualizzato il messaggio Preparazione . Seguite le istruzioni per configurare il dispositivo.
  2. Iniziate personalizzando il paese e la lingua. Quindi accettate le Condizioni di licenza software Microsoft.
  3. Selezionate la rete che desiderate usare per la connessione a Internet.
  4. Fate clic su Questo dispositivo appartiene all’organizzazione.
  5. Immettete le credenziali di Azure AD e quindi fate clic su Accedi.
  6. Il dispositivo individua un tenant in Azure AD. Se si è in un dominio federato, si verrà reindirizzati al server del servizio token di sicurezza locale, ad esempio Active Directory Federation Services (AD FS). Se si è in un dominio non federato, immettete le credenziali direttamente nella pagina ospitata da Azure AD.
  7. Vi viene richiesto di effettuare l’autenticazione a più fattori (non obbligatoria).
  8. Windows registra il dispositivo nella directory dell’organizzazione in Azure AD

Nel mio caso invece, ho deciso di joinare ad Azure AD una macchina virtuale con Windows 10 Professional che ho creato nel Cloud Azure. Non potendo accedere alla schermata della first-run experience, mi sono prima loggato a Windows 10 con le credenziali amministrative in mio possesso e successivamente ho lanciato l’applicazione Settings, che mi permette di gestire gli Accounts. Dalla funzionalità Access Work or School ho cliccato su Connect e poi sul link Join this device to Azure Active Directory, come mostrato in figura:

Figura 2: Schermata iniziale per l’aggiunta di un computer Windows 10 ad Azure AD

Nella schermata successiva ho inserito le credenziali di un utente di Azure AD (non serve che sia un utente privilegiato nel vostro tenant di Azure, può essere un utente qualsiasi).

Figura 3: Inserimento delle credenziali dell’utente a cui associare il dispositivo Windows 10

Figura 4: Inserimento password

Figura 5: L’account che ho usato utilizza la multi-factor authentication (non obbligatoria)

Dopo aver inserito le credenziali, un avviso vi dirà che l’account di Azure AD verrà aggiunto al gruppo Administrators locali della macchina Windows 10 e che alcune policy potrebbero essere applicate alla macchina.

Figura 6: Avviso riguardo l’applicazione di policy sulla macchina Windows 10 dopo il join ad Azure AD

Figura 7: Conferma dell’avvenuto join ad Azure AD

Nella scheda Access work or School adesso appare l’utente che avete utilizzato, a fianco del simbolo di una borsa di lavoro.

Figura 8: Informazioni sull’utente connesso

Se accedete al Pannello di controllo e verificate i membri del gruppo Administrators, vedrete che è stato aggiunto un account con il nome AzureAD\NicolaFerrini, come mostrato in figura.

Figura 9: L’utente di Azure AD è stato aggiunto al gruppo Administrators

Dal portale di Azure è anche possibile verificare in Azure Active Directory che un nuovo dispositivo è stato aggiunto alla directory dove si trova l’utente che avete utilizzato per joinare Windows 10.

Figura 10: Il nuovo dispositivo Windows 10 aggiunto ad Azure AD

Cliccando sul dispositivo sarà possibile ricevere maggiori informazioni, sarà possibile disabilitarlo o anche rimuoverlo.

Figura 11: Proprietà del dispositivo aggiunto ad Azure AD

Connessione in RDP ad un computer joinato ad Azure AD

Per testare la funzionalità di Single Sign-On (SSO) è necessario loggarsi al computer con le credenziali di Azure AD (in genere AzureAD\NomeCognome). Nel mio caso però, poiché la macchina è ospitata su Azure, non ho la possibilità di connettermi in console e devo necessariamente farlo in Desktop Remoto (RDP). Ho quindi fatto logoff con l’utente che stavo utilizzando e ho provato a loggarmi con le credenziali di Azure AD. Infatti l’utente di Azure AD fa parte del gruppo Administrators locali della macchina, che possono accedere di default in RDP. Dopo aver inserito username e password invece ho ottenuto il seguente errore:

Figura 12: Connessione in RDP alla macchina Windows 10 utilizzando le credenziali di Azure AD

Figura 13: Errore di login in RDP usando le credenziali dell’utente di Azure AD

L’accesso in RDP alle macchine Windows 10 è possibile a partire da Windows 10 versione 1607. Entrambi i PC (locale e remoto) devono eseguire Windows 10 versione 1607 o versioni successive. È necessario però che il  Remote Credential Guard, una nuova funzionalità di Windows 10 versione 1607, sia disattivata nel PC client che utilizzate per connettervi al PC remoto.

Ovviamente è un’opzione che NON consiglio, visto che poi esporrebbe il vostro client alla perdita di credenziali per tutte le connessioni RDP e ad attacchi di tipo Pass The Hash.

In alternativa è possibile effettuare queste operazioni:

  • Disabilitare nel computer remoto Windows 10 joinato ad Azure AD la Network Level Authentication
  • Modificare il file .RDP utilizzato per la connessione aggiungendo i valori:
    • enablecredsspsupport:i:0
    • authentication level:i:2

Per disabilitare la Network Level Authentication vi basta andare nel Pannello di controllo e dalle proprietà del Sistema, utilizzate il tab Remote per rimuovere il segno di spunta dalla abilitazione della Network Level Authentication come mostrato in figura:

Figura 14: Disabilitazione della Network Level Authentication

Per modificare il file .RDP vi basta aprirlo con Notepad++ (o con un altro editor di testo a vostra scelta) e aggiungere le due righe sopra indicate, come mostrato in figura:

Figura 15: Modifica del file .RDP

A questo punto, se lanciate la connessione remota utilizzando il file .RDP modificato, il processo di autenticazione sarà diverso. Prima vi apparirà il messaggio di errore del certificato presentato dal client Windows 10 e successivamente vi verrà chiesto di inserire le credenziali di Azure AD

Figura 16: Connessione al computer remoto effettuata

Figura 17: Inserimento delle credenziali di Azure AD

Nonostante l’utente utilizzando abbia la Multi-factor authentication abilitata, per le connessioni RDP non verrà richiesta.

Figura 18: Verifica dell’utente connesso in RDP

Adesso che l’utente è connesso con il suo account di Azure AD potrà approfittare della funzionalità di Single Sign-On (SSO) per loggarsi al portale di Azure o al portale di Office 365, senza che gli vengano chieste le credenziali di autenticazione, utilizzando il browser Edge. Altri browser alternativi, come Google Chrome o Mozilla Firefox non sono compatibili con l’SSO.

Figura 19: L’accesso al portale di Office 365 con l’account di Azure AD e con il browser Edge non richiede l’inserimento delle credenziali di accesso

Conclusioni

Numerosi sono i motivi per cui potrebbe essere utile joinare un computer ad Azure AD. Tra i tanti, è possibile configurare utenti e dipendenti in modo che usino i dispositivi Windows personali (BYOD, Bring Your Own Device) per accedere alle App e alle risorse aziendali (applicazioni SaaS). Gli utenti possono aggiungere i propri account Azure AD (account aziendali o account scolastici) a un dispositivo personale Windows per accedere alle risorse ed alle applicazioni in totale sicurezza e conformità. I dispositivi possono anche essere assoggettati ad alcune policy di sicurezza e possono essere gestiti da remoto con software di Mobile Device Management. Rimane a mio avviso ancora difficile e poco sicuro connettersi in RDP a questi dispositivi e spero che ben presto venga innalzato il livello di sicurezza e non sia necessario effettuare dei workaround.

Buon lavoro!

Nic

Configurare Azure Active Directory Conditional Access per le applicazioni SaaS

Facebooktwittergoogle_plusredditlinkedin

Azure Active Directory (Azure AD) è il servizio di gestione delle identità di Microsoft che combina in un’unica soluzione i servizi di directory, la gestione dell’accesso delle applicazioni e la protezione delle identità. Inoltre permette l’accesso Single Sign-On (SSO) a migliaia di app SaaS basate sul cloud e app locali. Il Single Sign-On permette di accedere alle applicazioni effettuando l’accesso solo una volta con un singolo account utente. Dopo aver effettuato l’accesso, è possibile accedere a tutte le applicazioni necessarie senza dover ripetere una seconda volta l’autenticazione (ad esempio, digitando una password). La configurazione di Single Sign-On basato su password consente agli utenti dell’organizzazione di accedere automaticamente a un’applicazione SaaS di terze parti tramite Azure AD utilizzando le informazioni dell’account utente dall’applicazione SaaS di terze parti. Per maggiori informazioni vi rimando all’articolo Informazioni sull’accesso alle applicazioni e Single Sign-On con Azure Active Directory ed al video Single Sign On to Applications

Figura 1: Il Single Sign-On permette di accedere alle applicazioni effettuando l’accesso solo una volta con un singolo account utente

In un mondo dominato dai dispositivi mobili e basato sul cloud, la sicurezza è una priorità assoluta per le aziende e, poiché gli utenti possono accedere alle risorse aziendali da una serie di dispositivi e ovunque si trovino, è necessario che oltre a stabilire chi possa accedere a determinate risorse diventa fondamentale anche decidere il modo in cui accedere. L’accesso condizionale è una funzionalità di Azure Active Directory che consente di applicare controlli sull’accesso in base a specifiche condizioni.

Figura 2: Schema di funzionamento di Azure Conditional Access

Con i criteri di accesso condizionale è possibile controllare il modo in cui gli utenti autorizzati (che hanno ottenuto l’accesso a un’App cloud) possono accedere alle App cloud in condizioni specifiche. Per poter abilitare questa funzionalità loggatevi al portale Azure e selezionate il nodo Azure Active Directory. Cliccando su Conditional Access avrete la possibilità di definire la policy di accesso alle applicazioni. Per poter utilizzare questa funzionalità è necessario però abilitare il piano Premium P2 di Azure AD. Se non lo avete già fatto potete abilitare una trial gratuita, come mostrato in figura:

Figura 3: Abilitazione della trial di Azure AD Premium

Figura 4: Scelta della versione trial da attivare

Per maggiori informazioni su Azure AD Premium P2, sulle funzionalità che vengono abilitate e sui prezzi potete leggere l’articolo https://azure.microsoft.com/it-it/pricing/details/active-directory/

Una volta terminata l’attivazione avrete la possibilità di creare una nuova policy di accesso condizionale. Cliccate su New Policy per creare un nuovo set di regole.

Figura 5: Policy di accesso condizionale

Voglio creare una policy che obblighi gli utenti ad usare la Azure Multi-Factor Authentication quando si connettono dall’esterno dell’azienda (al di fuori della rete aziendale) e voglio permettere solo alcuni tipi di dispositivi (smartphone Android). La prima impostazione che è possibile fare consiste nel dichiarare a quali utenti o a quali gruppi deve essere associata la policy, come mostrato in figura:

Figura 6: Scelte dei gruppi o degli utenti a cui applicare la policy

La scelta successiva consiste nel selezionare quali App, tra quelle disponibili, saranno soggette alla policy. Potete scegliere tutte le applicazioni oppure selezionarne solo alcune, come mostrato in figura:

Figura 7: Scelta delle applicazioni da filtrare

È possibile dare alla policy un indicazione sul rischio quando si usano le App. Il rischio di accesso è un’indicazione della probabilità (elevata, media o bassa) che un tentativo di accesso non sia stato eseguito dal legittimo proprietario di un account utente. Azure AD calcola il livello di rischio di accesso durante l’accesso di un utente. Nel mio caso ho deciso di assegnare il valore High perché le applicazioni che ho selezionato sono critiche per la mia azienda.

Figura 8: Scelta del valore di rischio

È possibile anche fare in modo che l’applicazione sia lanciata solo da alcune piattaforme, sia Pc che smartphone.

Figura 9: Scelta della piattaforma da cui viene avviata l’applicazione

Poiché la policy serve a filtrare l’accesso e a consentire l’utilizzo dell’App solo tramite Azure Multi-factor Authentication, decido di impostarla per qualsiasi Location ed escludo quelle che sono invece le Trusted Location. Successivamente definirò la Trusted Location (la mia rete aziendale) e quando i dispositivi si trovano in azienda non saranno sottoposti alla policy.

Figura 10: Configurazione della Location dove si devono trovare i dispositivi quando lanciano l’applicazione

Figura 11: Esclusione dalla policy delle Trusted Locations

È possibile anche stabilire quali client verranno utilizzati per connettersi all’App e poterne eventualmente impedire l’accesso

Figura 12: Scelta dei client che potranno essere utilizzati per connettersi all’App

Figura 13: Scelta del Device State

A questo punto stabilisco il controllo dell’accesso e permetto l’accesso solo a chi usa la multi-factor authentication, come mostrato in figura:

Figura 14: Configurazione del controllo dell’accesso e relative impostazioni

Il passaggio finale è l’abilitazione della policy.

Figura 15: Abilitazione della policy

Poiché ho creato l’eccezione nella policy che consente l’utilizzo dell’applicazione senza multi-factor authentication, devo definire quali sono le Trusted Location. Per farlo basta cliccare su Named Locations e poi selezionale New Location, come mostrato in figura. A questo punto potrete definire l’indirizzo IP della vostra rete aziendale o il range degli indirizzi. È anche possibile definire quali sono gli indirizzi IP che vengono considerati sicuri e non soggetti alla multi-factor authentication utilizzando il collegamento Configure MFA trusted IPs

Figura 16: Creazione della Trusted Location

Dopo aver creato la policy è possibile testarla da un dispositivo che non sia nella rete aziendale o che non sia collegato tramite un Trusted IPs. Navigate all’indirizzo https://myapps.microsoft.com e autenticatevi. Dopo l’autenticazione vi apparirà la lista delle applicazioni a cui siete abilitati.

Figura 17: Lista delle applicazioni disponibili per l’utente

Figura 18: Logon all’applicazione automatico (notate la freccia in figura)


Figura 19: Logon all’applicazione da un device Android

Conclusioni

In Azure AD gli utenti possono accedere alle App cloud da una vasta gamma di dispositivi, inclusi i dispositivi mobili (smartphone, tablet) e i dispositivi personali (notebook, Pc). Con l’accesso condizionale possiamo aumentare il livello di sicurezza per l’accesso alle App, facendo in modo che la connessione all’App sia consentita solo da alcune applicazioni (ad esempio il browser), solo da alcuni dispositivi (ad esempio smartphone Android, iPhone, PC o Mac) e solo da alcune reti (solo la rete aziendale). Se volete acquisire familiarità con la configurazione dei criteri di accesso condizionale vi consiglio di leggere anche l’articolo Introduzione all’accesso condizionale in Azure Active Directory.

Buon lavoro!

Nic

Impossibile connettersi via RDP a macchine on-premises o alle Azure Virtual Machine: Errore CredSSP Encryption Oracle Remediation

Facebooktwittergoogle_plusredditlinkedin

A partire dall’ 8 Maggio 2018, a seguito del rilascio da parte di Microsoft degli aggiornamenti mensili ed in particolar modo della KB4103727, diversi utenti stanno ricevendo una serie di errori nei collegamenti RDP dovuti alla CredSSP Encryption Oracle Remediation.

Le connessioni Desktop remoto (RDP) sono infatti soggette ad una vulnerabilità di “Remote Code Execution” che è stata descritta nella CVE-2018-0886. Già dal 18 Marzo 2018 Microsoft aveva rilasciato una patch per poter gestire questa vulnerabilità e aveva introdotto una Group Policy per mitigarne i rischi. Se volete conoscere l’evoluzione degli aggiornamenti per questa vulnerabilità potete leggere l’articolo CredSSP updates for CVE-2018-0886

Con le patch contenute nel Cumulative Update di Maggio 2018, la Group Policy è stata modificata ed il valore è passato da Vulnerable Mitigated. Il parametro lo trovate in Computer Configuration -> Administrative Templates -> System -> Credentials Delegation

Questa modifica al parametro della Group Policy obbliga la connessione RDP ad essere instaurata solo se dall’altra parte risponde una macchina che abbia ricevuto l’aggiornamento della KB4103727

Per maggiori informazioni sui diversi valori che il parametro può avere potete fare riferimento all’articolo https://support.microsoft.com/en-us/help/4093492/credssp-updates-for-cve-2018-0886-march-13-2018

Figura 1: Policy utilizzata per la gestione della vulnerabilità di CredSSP Encryption

Per verificare che abbiate installato la KB “incriminata” (KB4103727) potete lanciare un prompt di PowerShell con privilegi elevati ed eseguire il comando Get-Hotfix

Figura 2: Aggiornamenti installati sul sistema operativo client

Problema

Sul mio client Windows 10 ho installato la KB4103727 e quando ho tentato di connettermi ad una macchina dove la patch non era installata ho ricevuto il seguente messaggio di errore:

Figura 3: Impossibile collegarvi via RDP su una macchina non aggiornata

Anche controllando il Registro Eventi l’errore appare chiaro:

Figura 4: Errore nel Registro Eventi relativo al fallimento della negoziazione sicura della connessione

Il comportamento delle macchine può essere riassunto in questo modo:

  • se sia il client che la VM o il PC hanno la patch, la connessione avverrà in maniera sicura
  • se il client ha la patch ma la VM o il PC non ce l’hanno, apparirà un messaggio di errore e non sarà possibile connettersi
  • se il client non ha la patch ma la VM o il PC ce l’hanno, sarà possibile collegarsi via RDP ma la connessione non sarà sicura

Soluzione

Per ovviare al problema è possibile modificare la Policy che vi ho indicato prima (mettendo il valore su Vulnerable) o disinstallare la KB4103727 oppure modificare il registro utilizzando il comando

REG ADD HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters\ /v AllowEncryptionOracle /t REG_DWORD /d 2

Io sconsiglio queste soluzioni. La cosa migliore da fare è aggiornare tutte le VM ed i PC installando gli aggiornamenti di sicurezza consigliati. Per aggiornare un PC o una VM potete utilizzare Windows Update oppure un server WSUS.

Figura 5: Aggiornamenti di Maggio 2018 su Windows Server 2016

Figura 6: Aggiornamenti di Maggio 2018 su Windows 10

Connessione ad una VM in Microsoft Azure e installazione della patch mancante

Se tentate di connettervi ad una VM in Azure in cui non avete installato la patch KB4103727, allora ricevete l’errore descritto prima e sarà necessario aggiornarla o mitigare la vulnerabilità.

Nel mio caso però la VM non è in dominio e non ho la possibilità di accedervi in console. Per installare la patch mi sono servito della funzionalità di Azure Update Management, una soluzione che vi permette di eseguire gli aggiornamenti per le macchine Windows e per le macchine Linux direttamente dal portale di Azure e tramite un Automation Account.

Figura 7: Abilitazione della soluzione Azure Update Management

Il principio di funzionamento di Azure Update Management è molto semplice e può essere riassunto dal seguente diagramma:

Figura 8: Principio di funzionamento di Azure Update Management

Tipi di client supportati:

La tabella seguente elenca i sistemi operativi supportati:

Sistema operativo Note
Windows Server 2008, Windows Server 2008 R2 RTM Supporta solo le valutazioni degli aggiornamenti
Windows Server 2008 R2 SP1 e versioni successive Sono richiesti .NET Framework 4.5 e WMF 5.0 o versioni successive per Windows Server 2008 R2 SP1
CentOS 6 (x86/x64) e 7 (x64) Gli agenti Linux devono avere accesso a un repository degli aggiornamenti.
Red Hat Enterprise 6 (x86/x64) e 7 (x64) Gli agenti Linux devono avere accesso a un repository degli aggiornamenti.
SUSE Linux Enterprise Server 11 (x86/x64) e 12 (x64) Gli agenti Linux devono avere accesso a un repository degli aggiornamenti.
Ubuntu 12.04 LTS e versioni x86/x64 più recenti Gli agenti Linux devono avere accesso a un repository degli aggiornamenti.

Dopo pochissimi minuti dall’abilitazione della soluzione, la macchina verrà testata e verranno mostrati gli aggiornamenti mancanti. Come è possibile vedere dalla figura, manca il Security Update KB4103723

Figura 9: Aggiornamenti mancanti sulla VM

Fate clic sul pulsante Schedule update deployment che vi appare nel blade del portale di Azure e programmate quando volete effettuare l’aggiornamento. L’aggiornamento non è programmabile prima di 30 minuti e potete scegliere di eliminare alcune patch dall’installazione.

Figura 10: Programmazione dell’aggiornamento della VM

Una volta che avete schedulato l’aggiornamento non vi resta che attendere. La programmazione sarà visibile cliccando su Scheduled update deployment, come mostrato in figura:

Figura 11: Aggiornamenti programmati

Conclusioni

Avere le macchine sempre aggiornate e lavorare con sistemi operativi sicuri è un prerequisito importante per non essere soggetti alle vulnerabilità dei software e dei sistemi operativi e non perdere i propri dati. Prima di aggiornare però assicuratevi di fare dei test sulla vostra infrastruttura e verificate che tutto continui a funzionare prima di distribuire in maniera massiva gli aggiornamenti.

Buon lavoro!

Nic