Azure Bastion è un servizio di Microsoft Azure progettato per migliorare la sicurezza dell'accesso alle macchine virtuali (VM) all'interno di una rete virtuale. Fornisce un accesso remoto alle VM tramite il protocollo Secure Shell (SSH) o Remote Desktop Protocol (RDP) senza la necessità di esporre pubblicamente le porte di rete. Integrandosi direttamente con il portale di Azure, Azure Bastion facilita l'accesso sicuro e protetto alle risorse interne, riducendo il rischio di attacchi esterni e semplificando la gestione delle connessioni remote. In questo articolo andremo a vedere più da vicino come funziona Azure Bastion, come usarlo e quali sono i fattori che influenzano il costo del servizio.
Il cloud computing è diventato la parola d'ordine e, con la proliferazione della tecnologia cloud, la sicurezza è diventata una preoccupazione importante. Man mano che sempre più aziende migrano la loro infrastruttura e i loro carichi di lavoro nel cloud, diventa sempre più importante garantire che queste risorse siano sicure e protette da minacce esterne.
Microsoft Azure ha introdotto Azure Bastion, una piattaforma completamente gestita che fornisce accesso sicuro e senza soluzione di continuità a macchine virtuali tramite RDP e SSH direttamente attraverso il portale Azure.
Il servizio elimina la necessità di un indirizzo IP pubblico, di una connessione VPN o di un jump server per accedere alle proprie macchine virtuali. Con Azure Bastion, si può accedere alle proprie VM con un solo clic dal portale Azure e fornisce un ulteriore livello di sicurezza utilizzando Entra ID per l'autenticazione.
Azure Bastion è una soluzione eccellente per aziende di tutte le dimensioni che desiderano migliorare la sicurezza delle proprie macchine virtuali e semplificare il processo di accesso a queste ultime. Eliminando la necessità di un indirizzo IP pubblico, di una connessione VPN o di un jump server, Azure Bastion riduce la superficie di attacco delle tue macchine virtuali e fornisce un modo più sicuro per accedervi.
Ma come funziona esattamente? Vediamolo nelle prossime sezioni.
Prima di passare ad Azure Bastion, comprendiamo innanzitutto cosa sia un Jump Box o Jump Host.
Un Jump Box è una macchina virtuale che si trova su una rete virtuale e impedisce che tutte le altre macchine virtuali siano esposte a Internet o ad altre reti non sicure. Questo significa che il Jump Box funge da porta d'accesso per tutte le connessioni RDP fatte alle proprie VM. Inoltre, utilizzando un Jump Box, verrà esposto solo un singolo porta invece di molteplici porte che sarebbero esposte senza il suo utilizzo.
Ora, torniamo ad Azure Bastion. Azure Bastion è un Jump Box gestito. Cosa significa "gestito"? Si riferisce alla capacità di configurare il Jump Box in base alle esigenze personali. È importante notare che non si può interagire direttamente con esso, ma se ne possono configurare le impostazioni. Supporta sia le connessioni Remote Desktop Protocol (RDP) che Secure Shell (SSH), e il Network Security Group (NSG) può essere regolato per migliorare la sicurezza della tua connessione.
RDP e SSH sono due dei metodi più comuni attraverso i quali possiamo connetterci ai nostri carichi di lavoro in esecuzione su Azure. Il primo è un protocollo sviluppato da Microsoft che consente agli utenti di connettersi a un altro computer tramite una rete utilizzando un'interfaccia grafica e permette di controllarlo un desktop come se ci si trovasse fisicamente davanti al computer remoto, mentre il secondo è un protocollo di rete criptato che consente di gestire e controllare sistemi remoti attraverso un'interfaccia a riga di comando, principalmente utilizzato per accedere in modo sicuro a sistemi Unix-like.
Per fare un esempio, in una connessione RDP generale è necessario un IP pubblico per configurare una macchina virtuale esposta al mondo esterno e la macchina client utilizza l'IP per connettersi e accedere alla macchina virtuale. A causa di vulnerabilità nei protocolli, l’esposizione delle porte RDP/SSH su Internet può rivelarsi un potenziale punto di attacco pericoloso, ma con Bastion si può ridurre il rischio di esposizione distribuendo host Bastion (noti anche come jump-server) sul lato pubblico della propria rete perimetrale.
Un host Bastion è un server appositamente configurato e rinforzato per resistere agli attacchi informatici, utilizzato come punto di accesso sicuro a una rete interna o a risorse critiche. Solitamente posizionato in una subnet separata, un host Bastion funge da intermediario tra l'esterno e l'interno della rete, permettendo l'accesso sicuro a sistemi interni, come server o database, da parte di utenti autorizzati e progettato per essere protetto con le più rigide misure di sicurezza.
Quando ci si connette tramite Azure Bastion, le macchine virtuali non hanno bisogno di un agente o di un indirizzo IP pubblico, evitando l’esposizione delle porte RDP e SSH al mondo esterno, consentendo comunque connessioni sicure.
Ecco come funziona la connessione:
Da menzionare inoltre che il deployment di Azure Bastion è per rete virtuale e non per account, sottoscrizione o macchina virtuale. L'esperienza SSH o RDP è disponibile per tutte le proprie macchine virtuali nella stessa rete virtuale, una volta provveduto a configurare un servizio Azure Bastion al suo interno.
SKU, che sta per Stock Keeping Unit (Unità di Conservazione dello Stock), è un termine comunemente usato nel commercio e nella gestione delle scorte per descrivere una specifica unità di prodotto o servizio che può essere venduta, inventariata e tracciata.
Nell'ambito dei servizi cloud, come Azure Bastion, una SKU è una specifica configurazione di un servizio che definisce le sue caratteristiche tecniche e le sue capacità. Al momento sono disponibili per Azure Bastion quattro SKU:
Ad oggi, si può facilmente eseguire l'upgrade dalla SKU Basic alla SKU Standard nel Portale di Azure o con Azure PowerShell. La scelta della SKU giusta è cruciale per ottimizzare le prestazioni e il costo del servizio.
Optare per una SKU con più risorse può migliorare l'esperienza utente e garantire che il servizio possa gestire il volume di traffico e le sessioni richieste. D’altra parte, scegliere una SKU con meno risorse potrebbe ridurre i costi ma potrebbe non soddisfare le esigenze di prestazioni.
La SKU Developer (disponibile dalla fine dello scorso anno), come già menzionato, presenta funzionalità molto limitate ed è concepita da Microsoft per l’utilizzo in soli ambienti di sviluppo e di testing.
La SKU "Premium" invece aggiunge diversi livelli di sicurezza aggiuntivi, ideale per le organizzazioni che devono soddisfare requisiti di sicurezza e conformità particolarmente rigorosi o che gestiscono carichi di lavoro altamente sensibili nelle loro VM su Azure. Ad esempio, Azure Bastion Premium include una funzione "Only-private". Questa permette agli utenti di accedere alle loro VM Azure tramite un endpoint privato anziché un indirizzo IP pubblico, che è il metodo di accesso utilizzato dalle altre SKU di Azure Bastion.
Se un utente sta cercando di connettersi alle proprie VM Azure da una rete on-premises, può combinare questa funzionalità Solo Privato con il peering privato di Azure ExpressRoute per un accesso alle VM praticamente isolato.
Azure Bastion Premium offre anche più capacità di monitoraggio e registrazione rispetto alle altre versioni. Una funzione di "registrazione grafica delle sessioni" consente alle organizzazioni di registrare ogni attività della sessione VM avviata tramite una connessione Azure Bastion.
Le organizzazioni possono decidere dove conservare queste registrazioni e per quanto tempo e quest’ultime possono essere utilizzate per rilevare comportamenti anomali degli utenti che potrebbero essere precursori di un incidente di sicurezza.
Abbiamo creato il team Infra&Security, verticale sul cloud Azure, per rispondere alle esigenze dei clienti che ci coinvolgono nelle decisioni tecniche e strategiche. Oltre a configurare e gestire il loro tenant, ci occupiamo di:
Con Dev4Side, hai un partner affidabile in grado di supportarti sull'intero ecosistema applicativo di Microsoft.
Ora che abbiamo un po’ più chiaro il funzionamento di Azure Bastion è arrivato il momento di metterlo alla prova con un piccolo esempio pratico.
Andremo quindi a creare un host bastion con relativa VNet e lo collegheremo poi ad una macchina virtuale in tre semplici passaggi. Vediamoli meglio nelle prossime sezioni.
Per cominciare, accediamo al portale Azure e andiamo all'area di ricerca. Nella casella di ricerca, cerchiamo "Bastion". Una volta selezionato, nella schermata che ci apparirà clicchiamo su Create per creare un nuovo host Bastion.
Arriveremo alla schermata dell’immagine proposta sotto. Qui dovremo semplicemente inserire i nostri dettagli abituali, come Sottoscrizione, Gruppo di risorse, Nome dell'istanza, Regione e anche Rete virtuale.
Una volta compilata potremo occuparci della configurazione della subnet.
Una volta raggiunta l'opzione Subnet, facciamo clic su Manage Subnet Configuration.
Poi facciamo clic su Add subnet e creiamo una subnet con il nome AzureBastionSubnet e un prefisso di /26 o maggiore. Assicuriamoci di utilizzare solo questo nome.
Torniamo indietro e selezioniamo la nostra Subnet nella pagina di creazione di Bastion. Ora possiamo scegliere di creare un nuovo indirizzo IP pubblico o utilizzare un indirizzo già esistente.
Se ne creiamo uno nuovo, forniamo un nome e utilizziamo SKU Standard. Attraverso la scheda “Advanced” potremo decidere quali funzionalità desideriamo abilitare. Una volta scelte, facciamo clic su Review+Create e infine, clicchiamo su Create dopo che la convalida è completata con successo.
Ora possiamo andare su Virtual Machine, selezionare la nostra nuova istanza di Bastion e poi fare clic su Connetti>Bastion, nella sezione Overview.
Ora ci basterà fare un altro clic su Use Bastion e inserire le nostre credenziali.
Ora siamo finalmente connessi. Si aprirà una nuova finestra del browser con la macchina virtuale nella scheda.
Quando si utilizza Azure Bastion in un ambiente di produzione è consigliabile migliorare la sicurezza dell'utente utilizzando funzionalità come l'Autenticazione a più fattori (MFA) e l'Accesso Condizionale.
Queste funzionalità possono aiutare, ad esempio, a imporre che un utente acceda al portale Azure utilizzando più fattori di autorizzazione o che debba connettersi da un dispositivo o indirizzo IP attendibile.
Oltre a MFA e Accesso Condizionale, è possibile gestire l'accesso alle risorse Azure, come le proprie macchine virtuali (VM), tramite assegnazioni di ruoli utilizzando Azure RBAC. Con RBAC, ad esempio, si può concedere a un utente l'accesso a una VM tramite Azure Bastion, ma allo stesso tempo impedire a quell'utente di apportare modifiche all'infrastruttura Azure o a qualsiasi altra risorsa Azure nel tuo ambiente.
Quando si connette a una VM utilizzando Azure Bastion, un utente avrà bisogno almeno delle seguenti assegnazioni di ruoli:
Se l’host Bastion deve connettersi anche a una VM in una rete virtuale collegata (peered), è necessaria anche l’assegnazione di ruolo di Lettore sulla rete virtuale (VNet) della macchina virtuale di destinazione. Si può definire l'ambito di questi ruoli a qualsiasi livello si desidera:
Come best practice, è consigliabile applicare i ruoli RBAC solo a livello di Gruppo di gestione, Sottoscrizione o Gruppo di risorse. Inoltre, è sempre importante utilizzare il modello di accesso con privilegi minimi (principio del privilegio minimo) quando si concede l'accesso con RBAC. Quindi, cerchiamo di concedere agli utenti solo i privilegi di cui hanno bisogno per svolgere i loro compiti.
Come spiegato sopra, è necessario assicurarsi che l'utente abbia almeno l'accesso in lettura sia alla VM, sia alla VNet collegata. L'ultimo ruolo è necessario solo se una o più VNet collegate sono in uso nel tuo ambiente.
Fortunatamente, per semplificare il tutto è possibile assegnare il ruolo predefinito integrato "Accesso macchina virtuale" a livello di sottoscrizione. Ricordiamo solo che è necessario farlo su ogni sottoscrizione Azure in cui l'utente deve essere in grado di utilizzare il servizio Azure Bastion per connettersi a una o più VM in quella sottoscrizione.
Oltre a quel ruolo, è necessario assegnare all'utente anche il ruolo Lettore sul gruppo di risorse dell'host Azure Bastion. Quando entrambi i ruoli sono assegnati agli ambiti corretti, l'utente sarà autorizzato a utilizzare l'host Bastion per connettersi in modo sicuro alla VM o alle VM nella sottoscrizione.
È arrivato, come di consueto, il momento di parlare del prezzo e dei fattori che lo influenzano. Per quanto riguarda il pricing di Azure Bastion, questo si basa su due componenti principali: la tariffa oraria e il costo dei dati trasferiti.
Bastion ha un costo fisso orario per ogni istanza del servizio. Questo significa che, indipendentemente dal numero di sessioni di accesso o dal tempo effettivo di utilizzo, si pagherà una tariffa fissa e costante per ogni ora in cui l'istanza di Bastion è attiva.
La tariffa oraria può variare in base alla regione in cui è distribuito il servizio e alla configurazione SKU scelta, che ricordiamo essere al momento Basic e Standard con Premium annunciato solo quest’estate e ancora in preview.
C’è anche un altro SKU (Developer) gratuito messo a disposizione da Microsoft per scopi di test in ambienti di sviluppo e dalle funzionalità estremamente limitate che però potrebbe tornare utile nel momento in cui si volesse testare le capacità più basilari del servizio per capire se è la soluzione più adatta alle proprie esigenze.
Il secondo fattore che influenza il prezzo del servizio è il costo associato al trasferimento dei dati. Quando si utilizza Azure Bastion per accedere alle proprie VM, i dati che viaggiano tra il browser dell'utente e la VM attraverso il servizio generano un costo di trasferimento dati. Questo costo è calcolato in base alla quantità di dati trasferiti durante le sessioni di accesso alle macchine virtuali.
Per cominciare a fare una prima stima dei costi effettivi del servizio per la propria organizzazione è possibile, sulla pagina ufficiale di Azure, utilizzare il comodo strumento di calcolo messo a disposizione da Microsoft (che potete trovare qui) che permette di calcolare il prezzo in base a regione e valuta.
La sicurezza dei propri asset digitali con l’avvento del cloud computing è diventata più importante che mai e non è un caso che le grandi compagnie e provider di servizi cloud investano ogni anno cifre da capogiro per garantire la sicurezza dei loro utenti e delle loro risorse “nelle nuvole” da minacce informatiche sempre più infide e sofisticate.
Azure Bastion è per Microsoft un altro dei numerosi investimenti di cui sopra, volto a garantire la sicurezza delle macchine virtuali della propria organizzazione, ospitate all’interno della gigantesca piattaforma cloud della casa di Redmond.
La sua semplicità d’utilizzo e la possibilità di configurarlo a piacimento lo rendono un’opzione solida per la protezione delle proprie macchine virtuali che non dovrebbe essere sottovalutata da tutte quelle organizzazioni che tengono alla sicurezza dalle minacce informatiche del mondo moderno. Perché non dargli una chance e vedere se le sue funzionalità fanno anche al caso vostro?
Azure Bastion è un servizio gestito di Microsoft Azure che consente di accedere in modo sicuro alle macchine virtuali senza esporre le porte RDP e SSH a Internet. Il servizio permette la connessione diretta dal portale Azure, eliminando la necessità di configurare VPN o indirizzi IP pubblici.
Azure Bastion funge da jump box gestito, permettendo l’accesso alle macchine virtuali tramite RDP e SSH utilizzando una connessione HTTPS sulla porta 443. Questo sistema riduce i rischi di attacchi informatici poiché evita l’esposizione delle porte di accesso al web e non richiede la configurazione manuale di firewall o di regole di rete complesse.
Azure Bastion migliora la sicurezza dell’infrastruttura cloud eliminando la necessità di esporre le VM a Internet. Il servizio semplifica l’accesso remoto alle macchine virtuali direttamente dal portale Azure senza configurazioni aggiuntive. Consente inoltre l’integrazione con Entra ID, migliorando il controllo degli accessi e la gestione delle identità.
Un Jump Box tradizionale è una macchina virtuale dedicata che funge da punto di accesso centralizzato per le altre VM. Questo metodo richiede la gestione e la manutenzione del sistema operativo e delle regole di sicurezza. Azure Bastion, invece, è un servizio completamente gestito da Microsoft, aggiornato automaticamente e con una configurazione semplificata che elimina la necessità di un Jump Box dedicato.
Microsoft offre diverse SKU per Azure Bastion. La SKU Basic fornisce le funzionalità essenziali per l’accesso sicuro alle VM senza indirizzi IP pubblici. La SKU Standard offre funzionalità avanzate come il supporto per più sessioni simultanee e la personalizzazione delle porte di accesso. La SKU Developer, gratuita e limitata, è pensata per ambienti di sviluppo e test. La SKU Premium introduce ulteriori livelli di sicurezza, tra cui la funzionalità Only-Private Bastion e la registrazione delle sessioni.
Per connettersi a una macchina virtuale tramite Azure Bastion, un utente deve avere almeno il ruolo di Lettore sulla VM di destinazione, sull’interfaccia di rete della VM e sulla risorsa Azure Bastion. Se la VM è collocata in una rete virtuale collegata tramite peering, l’utente deve avere il ruolo di Lettore anche sulla rete virtuale associata. È consigliabile applicare i ruoli RBAC con il principio del privilegio minimo per garantire la sicurezza dell’ambiente.
Sì, il prezzo del servizio si basa su un costo orario fisso per ogni istanza attiva e su un costo variabile legato al trasferimento dei dati durante le sessioni di accesso. Il costo varia in base alla SKU scelta e alla regione di distribuzione del servizio. Microsoft mette a disposizione una calcolatrice online per stimare i costi in base alle specifiche esigenze aziendali.
Azure Bastion è compatibile con tutte le macchine virtuali di Azure che supportano i protocolli RDP e SSH. Per funzionare correttamente, le VM devono essere collocate in una rete virtuale che includa la subnet AzureBastionSubnet con una dimensione minima di /26.
Per configurare Azure Bastion, è necessario creare un host Bastion nel portale Azure, definire una subnet dedicata all’interno della rete virtuale e collegare le macchine virtuali al servizio. Dopo la configurazione, è possibile accedere alle VM direttamente dal portale Azure senza bisogno di IP pubblici o VPN.
Sì, è possibile eseguire l’upgrade da SKU Basic a SKU Standard direttamente dal portale di Azure o tramite PowerShell. Tuttavia, non è possibile effettuare il downgrade da SKU Standard a SKU Basic.
Sì, Azure Bastion può essere utilizzato per connettersi a macchine virtuali Azure da una rete on-premises. Per un accesso più sicuro e isolato, è possibile combinare il servizio con Azure ExpressRoute Private Peering.
Solo la SKU Premium offre la registrazione delle sessioni, permettendo alle organizzazioni di monitorare e conservare i log delle attività eseguite durante l’accesso alle macchine virtuali. Questa funzionalità è utile per garantire maggiore sicurezza e conformità alle normative aziendali.
Azure Bastion consente l’accesso sicuro alle VM senza necessità di una VPN, ma non sostituisce una VPN per altre esigenze di connettività aziendale. Il servizio è progettato specificamente per facilitare l’accesso a macchine virtuali in modo sicuro e senza esporre le porte RDP o SSH a Internet.
Il team Infra & Security è verticale sulla gestione ed evoluzione dei tenant Microsoft Azure dei nostri clienti. Oltre a configurare e gestire il tenant, si occupa della creazione dei deployment applicativi tramite le pipelines di DevOps, monitora e gestisce tutti gli aspetti di sicurezza del tenant, supportando i Security Operations Centers (SOC).