Protezione a più livelli per l'accesso alle macchine virtuali di Azure

Microsoft Entra ID
Azure Bastion
Controllo degli accessi in base al ruolo di Azure
Microsoft Defender for Cloud

Idee per le soluzioni

Questo articolo è un'idea di soluzione. Per espandere il contenuto con altre informazioni, ad esempio potenziali casi d'uso, servizi alternativi, considerazioni sull'implementazione o indicazioni sui prezzi, inviare commenti e suggerimenti su GitHub.

Questa soluzione offre un approccio multilivello per la protezione di macchine virtuali (VM) in Azure. Gli utenti devono connettersi alle macchine virtuali per scopi amministrativi e di gestione. È fondamentale ridurre al minimo la superficie di attacco creata dalla connettività.

Questa soluzione consente l'accesso granulare non persistente alle macchine virtuali incorporando diversi meccanismi di protezione. Si allinea al principio dei privilegi minimi (PoLP) e al concetto di separazione dei compiti. Per ridurre l'esposizione agli attacchi, questa soluzione blocca il traffico in ingresso alle macchine virtuali, ma rende accessibili le connessioni alle macchine virtuali quando necessario. L'implementazione di questo tipo di protezione riduce al minimo il rischio di molti attacchi informatici diffusi sulle macchine virtuali, ad esempio attacchi di forza bruta e attacchi DDoS (Distributed Denial of Service).

Questa soluzione usa molti servizi e funzionalità di Azure, tra cui:

  • Microsoft Entra Privileged Identity Management (PIM).
  • Funzionalità di accesso JIT (Just-In-Time) alle macchine virtuali di Microsoft Defender per il cloud.
  • Azure Bastion.
  • Ruoli personalizzati di Controllo degli accessi in base al ruolo di Azure.
  • Accesso condizionale Microsoft Entra, facoltativamente.

Potenziali casi d'uso

La difesa avanzata è l'idea principale alla base di questa architettura. Questa strategia sfida gli utenti con diverse linee di difesa prima di concedere agli utenti l'accesso alle macchine virtuali. L'obiettivo è garantire che:

  • Ogni utente è legittimo.
  • Ogni utente ha intenzioni legali.
  • La comunicazione è sicura.
  • L'accesso alle macchine virtuali in Azure viene fornito solo quando necessario.

La strategia di difesa avanzata e la soluzione in questo articolo si applicano a molti scenari:

  • Un amministratore deve accedere a una macchina virtuale di Azure in queste circostanze:

    • L'amministratore deve risolvere un problema, analizzare il comportamento o applicare un aggiornamento critico.
    • L'amministratore usa Remote Desktop Protocol (RDP) per accedere a una macchina virtuale Windows o a una shell sicura (SSH) per accedere a una macchina virtuale Linux.
    • L'accesso deve includere il numero minimo di autorizzazioni richieste dal lavoro.
    • L'accesso deve essere valido solo per un periodo di tempo limitato.
    • Dopo la scadenza dell'accesso, il sistema deve bloccare l'accesso alla macchina virtuale per impedire tentativi di accesso dannoso.
  • I dipendenti devono accedere a una workstation remota ospitata in Azure come macchina virtuale. Vengono applicate le seguenti condizioni:

    • I dipendenti devono accedere alla macchina virtuale solo durante l'orario di lavoro.
    • Il sistema di sicurezza deve prendere in considerazione le richieste di accesso alla macchina virtuale al di fuori dell'orario lavorativo non necessario e dannoso.
  • Gli utenti vogliono connettersi ai carichi di lavoro delle macchine virtuali di Azure. Il sistema deve approvare le connessioni solo da dispositivi gestiti e conformi.

  • Un sistema ha sperimentato un numero enorme di attacchi di forza bruta:

    • Questi attacchi hanno mirato macchine virtuali di Azure su RDP e porte SSH 3389 e 22.
    • Gli attacchi hanno cercato di indovinare le credenziali.
    • La soluzione deve impedire che le porte di accesso, ad esempio 3389 e 22, vengano esposte agli ambienti Internet o locali.

Architettura

Architecture diagram showing how a user gains temporary access to an Azure V M.

Scaricare un file di Visio di questa architettura.

Flusso di dati

  1. Decisioni relative all'autenticazione e all'accesso: l'utente viene autenticato con Microsoft Entra ID per l'accesso alle portale di Azure, alle API REST di Azure, ad Azure PowerShell o all'interfaccia della riga di comando di Azure. Se l'autenticazione ha esito positivo, viene applicato un criterio di accesso condizionale di Microsoft Entra. Tale criterio verifica se l'utente soddisfa determinati criteri. Gli esempi includono l'uso di un dispositivo gestito o l'accesso da una posizione nota. Se l'utente soddisfa i criteri, l'accesso condizionale concede all'utente l'accesso ad Azure tramite il portale di Azure o un'altra interfaccia.

  2. Accesso JUST-In-Time basato sull'identità: durante l'autorizzazione, Microsoft Entra PIM assegna all'utente un ruolo personalizzato di tipo idoneo. L'idoneità è limitata alle risorse necessarie ed è un ruolo associato a tempo, non permanente. Entro un intervallo di tempo specificato, l'utente richiede l'attivazione di questo ruolo tramite l'interfaccia di Azure PIM. Tale richiesta può attivare altre azioni, ad esempio l'avvio di un flusso di lavoro di approvazione o la richiesta all'utente di eseguire l'autenticazione a più fattori per verificare l'identità. In un flusso di lavoro di approvazione, un'altra persona deve approvare la richiesta. In caso contrario, all'utente non viene assegnato il ruolo personalizzato e non può continuare con il passaggio successivo.

  3. Accesso JUST-In-Time basato sulla rete: dopo l'autenticazione e l'autorizzazione, il ruolo personalizzato viene temporaneamente collegato all'identità dell'utente. L'utente richiede quindi l'accesso jit alla macchina virtuale. Tale accesso apre una connessione dalla subnet di Azure Bastion sulla porta 3389 per RDP o la porta 22 per SSH. La connessione viene eseguita direttamente alla scheda di interfaccia di rete della macchina virtuale o alla subnet della scheda di interfaccia di rete della macchina virtuale. Azure Bastion apre una sessione RDP interna usando tale connessione. La sessione è limitata alla rete virtuale di Azure e non è esposta alla rete Internet pubblica.

  4. Connessione alla macchina virtuale di Azure: l'utente accede ad Azure Bastion usando un token temporaneo. Tramite questo servizio, l'utente stabilisce una connessione RDP indiretta alla macchina virtuale di Azure. La connessione funziona solo per un periodo di tempo limitato.

Componenti

In questa soluzione vengono usati i componenti seguenti:

  • Azure Macchine virtuali è un'offerta IaaS (Infrastructure-as-a-Service). È possibile usare Macchine virtuali per distribuire risorse di elaborazione scalabili su richiesta. Negli ambienti di produzione che usano questa soluzione distribuire i carichi di lavoro nelle macchine virtuali di Azure. Eliminare quindi l'esposizione non necessaria alle macchine virtuali e agli asset di Azure.

  • Microsoft Entra ID è un servizio di gestione delle identità basato sul cloud che controlla l'accesso ad Azure e ad altre app cloud.

  • PIM è un servizio Microsoft Entra che gestisce, controlla e monitora l'accesso a risorse importanti. In questa soluzione questo servizio:

    • Limita l'accesso amministratore permanente ai ruoli con privilegi standard e personalizzati.
    • Fornisce l'accesso just-in-time basato sulle identità ai ruoli personalizzati.
  • L'accesso JIT alle macchine virtuali è una funzionalità di Defender per il cloud che fornisce l'accesso jit in base alla rete alle macchine virtuali. Questa funzionalità aggiunge una regola di negazione al gruppo di sicurezza di rete di Azure che protegge l'interfaccia di rete vm o la subnet che contiene l'interfaccia di rete della macchina virtuale. Questa regola riduce al minimo la superficie di attacco della macchina virtuale bloccando le comunicazioni non necessarie alla macchina virtuale. Quando un utente richiede l'accesso alla macchina virtuale, il servizio aggiunge una regola di autorizzazione temporanea al gruppo di sicurezza di rete. Poiché la regola di autorizzazione ha priorità più alta rispetto alla regola di negazione, l'utente può connettersi alla macchina virtuale. Azure Bastion funziona meglio per la connessione alla macchina virtuale. Ma l'utente può anche usare una sessione RDP o SSH diretta.

  • Il controllo degli accessi in base al ruolo di Azure è un sistema di autorizzazione che fornisce una gestione con granularità fine degli accessi delle risorse di Azure.

  • I ruoli personalizzati controllo degli accessi in base al ruolo di Azure consentono di espandere i ruoli predefiniti del controllo degli accessi in base al ruolo di Azure. È possibile usarli per assegnare autorizzazioni a livelli che soddisfano le esigenze dell'organizzazione. Questi ruoli supportano PoLP. Concedono solo le autorizzazioni necessarie a un utente per lo scopo dell'utente. Per accedere a una macchina virtuale in questa soluzione, l'utente ottiene le autorizzazioni per:

    • Uso di Azure Bastion.
    • Richiesta dell'accesso jit alle macchine virtuali in Defender per il cloud.
    • Lettura o presentazione di macchine virtuali.
  • Microsoft Entra Conditional Access è uno strumento usato da Microsoft Entra ID per controllare l'accesso alle risorse. I criteri di accesso condizionale supportano il modello di sicurezza zero trust . In questa soluzione i criteri assicurano che solo gli utenti autenticati ottengano l'accesso alle risorse di Azure.

  • Azure Bastion offre connettività RDP e SSH sicura e trasparente alle macchine virtuali in una rete. In questa soluzione Azure Bastion connette gli utenti che usano Microsoft Edge o un altro browser Internet per HTTPS o il traffico protetto sulla porta 443. Azure Bastion configura la connessione RDP alla macchina virtuale. Le porte RDP e SSH non sono esposte a Internet o all'origine dell'utente.

    Azure Bastion è facoltativo in questa soluzione. Gli utenti possono connettersi direttamente alle macchine virtuali di Azure usando il protocollo RDP. Se si configura Azure Bastion in una rete virtuale di Azure, configurare una subnet separata denominata AzureBastionSubnet. Associare quindi un gruppo di sicurezza di rete a tale subnet. In tale gruppo specificare un'origine per il traffico HTTPS, ad esempio il blocco CIDR (Classless Inter-Domain Routing) dell'utente locale. Usando questa configurazione, si bloccano le connessioni che non provengono dall'ambiente locale dell'utente.

    Collaboratori

Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai seguenti contributori.

Autore principale:

Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.

Passaggi successivi