Protezione dell'accesso remoto con il proxy dell'applicazione Azure AD

Protezione dell'accesso remoto con il proxy dell'applicazione Azure AD

14/03/2025

Questo articolo tecnico e didattico ha lo scopo di guidare analisti della sicurezza, amministratori IT e ingegneri di sistema nell'implementazione e nella configurazione del proxy dell'applicazione Azure AD per proteggere l'accesso remoto alle applicazioni Web locali. In un ambiente di lavoro ibrido, dove gli utenti hanno la necessità di accedere alle risorse interne da qualsiasi luogo, la sicurezza di tale accesso è fondamentale. Il proxy di applicazione di Azure AD fornisce una soluzione sicura e semplificata per la pubblicazione di applicazioni Web locali per utenti remoti senza la necessità di VPN o DMZ complesse [1].

Introduzione

Tradizionalmente, l’accesso remoto alle applicazioni interne richiedeva la configurazione di reti private virtuali (VPN) o l’esposizione delle applicazioni a reti perimetrali (DMZ), che aggiungevano complessità e potenziali vettori di attacco. Con la crescente adozione di modelli di lavoro remoti e ibridi, le organizzazioni necessitano di un modo più sicuro ed efficiente per fornire l'accesso alle applicazioni legacy che risiedono ancora in sede [2].

Il proxy dell'applicazione Azure AD è una funzionalità di Azure Active Directory (ora Microsoft Entra ID) che consente agli utenti di accedere in modo sicuro alle applicazioni Web locali da qualsiasi posizione. Funziona come proxy inverso, instradando il traffico interno delle applicazioni tramite Azure AD, che gestisce l'autenticazione e l'autorizzazione. Ciò significa che è possibile accedere alle applicazioni locali come se fossero applicazioni SaaS, sfruttando le funzionalità di sicurezza di Azure AD come l'autenticazione a più fattori (MFA) e l'accesso condizionale [3].

Questa guida pratica tratterà i prerequisiti, l'installazione e la configurazione dei connettori del proxy di applicazione, la pubblicazione di diversi tipi di applicazioni (app Web, client Web Desktop remoto, SharePoint), l'integrazione con i criteri di accesso condizionale e come testare e convalidare l'accesso remoto. Verranno fornite istruzioni dettagliate, esempi pratici e spiegazioni concise in modo che il lettore possa implementare, testare e convalidare queste funzionalità. Inoltre verranno discussi consigli di sicurezza, controlli di conformità e best practice per garantire un accesso remoto sicuro ed efficiente, in modo autonomo, professionale e affidabile.

Perché il proxy dell'applicazione Azure AD è fondamentale per l'accesso remoto?

  • Sicurezza avanzata: centralizza l'autenticazione e l'autorizzazione in Azure AD, consentendo l'uso di funzionalità di sicurezza come MFA, accesso condizionale e protezione dell'identità per le applicazioni locali.
  • Accesso semplificato: fornisce un'esperienza Single Sign-On (SSO) per le applicazioni locali, semplificando l'accesso per gli utenti.
  • Riduzione della complessità: elimina la necessità di VPN o DMZ per l'accesso remoto, semplificando l'architettura di rete e riducendo la superficie di attacco.
  • Conveniente: utilizza l'infrastruttura Azure AD esistente, senza la necessità di hardware o software aggiuntivi per l'accesso remoto.
  • Pubblicazione flessibile: supporta la pubblicazione di un'ampia gamma di applicazioni Web, comprese applicazioni basate su intestazioni, SharePoint, client Web Desktop remoto e altre applicazioni Web personalizzate.

Prerequisiti

Per configurare il proxy dell'applicazione Azure AD, saranno necessari i seguenti elementi:

  1. Licenza: un abbonamento Azure AD Premium P1 o P2 (o una licenza che include queste funzionalità, come Microsoft 365 E3/E5) [4].
  2. Accesso amministrativo: un account con il ruolo di "Amministratore globale" o "Amministratore dell'applicazione" nel portale di Azure (https://portal.azure.com).
  3. Windows Server for Connector: un server Windows Server (2012 R2 o successivo) all'interno della rete locale dotato di connettività alle applicazioni che desideri pubblicare e ad Azure AD. Questo server deve avere accesso a Internet in uscita (porte 80 e 443 per Azure AD e 443 per il servizio proxy applicazione Azure AD) [5].
  4. Applicazioni Web locali: applicazioni Web interne che desideri rendere accessibili da remoto.
  5. Dominio personalizzato (facoltativo): un dominio personalizzato verificato in Azure AD se si desidera utilizzare URL descrittivi per le applicazioni pubblicate.

Passo dopo passo: configurazione del proxy dell'applicazione Azure AD

Configuriamo il proxy dell'applicazione e pubblichiamo un'applicazione.

1. Installazione e configurazione del connettore proxy dell'applicazione

Il connettore è un agente leggero che si connettead Azure AD e alle applicazioni locali.

  1. Apri il browser e accedi al portale di Azure: "https://portal.azure.com".
  2. Accedi con un account che disponga delle autorizzazioni necessarie.
  3. Nel campo di ricerca in alto, digita "Azure Active Directory" e selezionalo dai risultati.
  4. Nel riquadro di navigazione a sinistra, seleziona Proxy applicazione in "Gestisci".
  5. Fare clic su "Scarica servizio connettore".

  6. Sul server Windows locale designato per il connettore:

    • Scaricare ed eseguire il programma di installazione del connettore (AADApplicationProxyConnectorInstaller.exe).
    • Seguire le istruzioni della procedura guidata di installazione. Durante l'installazione ti verrà richiesto di accedere con le credenziali di amministratore globale di Azure AD.
    • Al termine dell'installazione, il servizio connettore verrà avviato automaticamente.
  7. Tornando al portale di Azure, nella pagina Proxy dell'applicazione, verificare che il connettore appena installato venga visualizzato nell'elenco "Connettori" con lo stato "Attivo".

    • Spiegazione: si consiglia di installare almeno due connettori per la disponibilità elevata e il bilanciamento del carico. I connettori si aggiornano automaticamente, garantendoti sempre la versione più recente.

2. Pubblicazione di un'applicazione Web locale

Pubblichiamo un'applicazione web interna. Per questo esempio, immagina di avere un'applicazione web interna chiamata "MinhaAppInterna" accessibile all'indirizzo "http://minhaappinterna.local:8080".

  1. Nel riquadro di navigazione sinistro di Azure Active Directory, seleziona Applicazioni aziendali in "Gestisci".
  2. Fare clic su "+ Nuova applicazione".
  3. Fai clic su "Integra qualsiasi altra applicazione che non trovi nella galleria (Non galleria)".
  4. Nozioni di base:
    • Nome: fornire un nome significativo (ad esempio MyInternal-ProxyApp).
    • Tipo di applicazione: seleziona "Applicazione locale".
  5. Fare clic su "Aggiungi".

  6. Dopo aver creato l'applicazione, verrai reindirizzato alla pagina di gestione dell'applicazione. Nel riquadro di navigazione a sinistra, seleziona Proxy applicazione in "Gestisci".

  7. Impostazioni di base:

    • URL interno: inserisci l'URL interno della tua applicazione (es: http://minhaappinterna.local:8080). Assicurati che il connettore possa risolvere e accedere a questo URL.
    • URL esterno: questo URL verrà generato automaticamente in base al dominio Azure AD predefinito (ad esempio myappinternal-proxy.msappproxy.net). Puoi impostare un dominio personalizzato se ne hai uno.
    • Metodo di pre-autenticazione: seleziona "Azure Active Directory" (consigliato per la massima sicurezza).
    • Gruppo connettori: seleziona il gruppo connettori predefinito o un gruppo personalizzato se disponi di più connettori.
  8. Fare clic su Salva.

  9. Nel riquadro di navigazione a sinistra, seleziona Utenti e gruppi in "Gestisci".

  10. Fare clic su "+Aggiungi utente/gruppo" e assegnare gli utenti o i gruppi di Azure AD a cui sarà consentito accedere a questa applicazione.

    • Spiegazione: L'assegnazione di utenti e gruppi è fondamentale per controllare chi può accedere all'applicazione pubblicata. Il proxy dell'applicazione Azure AD garantisce che solo gli utenti autenticati e autorizzati possano raggiungere l'applicazione interna.

3. Configurazione dell'accesso condizionato per le applicazioni pubblicate

L'accesso condizionale consente di applicare policy di sicurezza aggiuntive, come MFA, per l'accesso alle applicazioni.

  1. Nel riquadro di navigazione sinistro di Azure Active Directory, seleziona Sicurezza > Accesso condizionale.
  2. Fare clic su "+ Nuova politica".
  3. Nozioni di base:
    • Nome: fornire un nome significativo (es: MFA_para_MinhaAppInternal).
  4. Responsabilità:
    • Utenti o carichi di lavoro identità: seleziona gli utenti e i gruppi che saranno interessati dalla policy (es: Grupo_Usuarios_MinhaAppInterna).
    • Applicazioni o azioni cloud: seleziona "MyAppInternal-Proxy".
  5. Controlli di accesso:
    • Concedi: seleziona "Concedi accesso" e "Richiedi autenticazione a più fattori".
  6. Abilita policy: seleziona "Abilitato".
  7. Fare clic su Crea.

    • Spiegazione: questa policy garantirà che a qualsiasi utente che tenta di accedere a "MyInternal-ProxyApp" verrà richiesto di eseguire l'autenticazione a più fattori, anche se l'applicazione locale non supporta MFA in modo nativo.

4. Pubblicazione di altri tipi di applicazioni

Il proxy dell'applicazione può essere utilizzato per pubblicare altri tipi di risorse, ad esempio RemoteClient Web desktop e SharePoint.

4.1. Pubblicazione del client Web Desktop remoto

  1. Seguire i passaggi nella Sezione 2 per creare una nuova applicazione aziendale.
  2. Nella configurazione del proxy dell'applicazione:
    • URL interno: immettere l'URL del server Client Web Desktop remoto (ad esempio: https://rdweb.contoso.com/RDWeb).
    • URL esterno: verrà generato automaticamente.
    • Metodo di preautenticazione: "Azure Active Directory".
    • Tipo di intestazione di traduzione URL: "Intestazioni URL backend".
  3. Assegnare utenti/gruppi.

4.2. Pubblicazione di SharePoint locale

  1. Seguire i passaggi nella Sezione 2 per creare una nuova applicazione aziendale.
  2. Nella configurazione del proxy dell'applicazione:
    • URL interno: immettere l'URL del sito di SharePoint (ad esempio: https://sharepoint.contoso.local).
    • URL esterno: verrà generato automaticamente.
    • Metodo di preautenticazione: "Azure Active Directory".
    • Tipo di intestazione di traduzione URL: "Intestazioni URL backend".
  3. Assegnare utenti/gruppi.

Convalida e test

È fondamentale testare l'accesso remoto per garantire che le applicazioni siano accessibili in modo sicuro.

1. Testare l'accesso all'applicazione pubblicata

  1. Scenario: da un computer esterno alla rete aziendale (ad esempio casa tua), aprire un browser e accedere all'URL esterno di MinhaAppInternal-Proxy (ad esempio https://minhaappinterna-proxy.msappproxy.net).
  2. Azione prevista: dovresti essere reindirizzato alla pagina di accesso di Azure AD. Dopo aver immesso le credenziali di Azure AD e, se configurato, aver completato l'autenticazione a più fattori, dovresti essere reindirizzato a MyApp locale.
  3. Verifica:
    • Conferma che l'applicazione si carica correttamente e che puoi interagire con essa.
    • Controllare i log di accesso di Azure AD per confermare che l'accesso è stato autenticato tramite il proxy dell'applicazione e che è stata applicata l'autenticazione a più fattori.

2. Controllo dei log di accesso di Azure AD

  1. Nel portale di Azure passare a Azure Active Directory > Monitoraggio > Log in entrata.
  2. Filtra i registri per "Applicazione" ("MyAppInternal-Proxy").
  3. Controlla i dettagli di accesso, incluso lo "Stato di accesso condizionato" (dovrebbe mostrare "Successo" e indicare che l'AMF è stata applicata).

Suggerimenti e best practice per la sicurezza

  • Utilizza sempre la preautenticazione di Azure AD: la preautenticazione di Azure AD è il metodo più sicuro poiché garantisce che solo gli utenti autenticati e autorizzati raggiungano la rete interna. Evitare il "Pass-through" a meno che non sia strettamente necessario per le applicazioni che non possono gestire la preautenticazione.
  • Accesso condizionale: utilizza l'accesso condizionale per applicare policy di sicurezza aggiuntive come MFA, restrizioni sulla posizione, conformità dei dispositivi, ecc. per tutte le applicazioni pubblicate tramite Application Proxy.
  • Gruppi di connettori: organizza i connettori in gruppi per isolare le applicazioni o avere connettori più vicini ad applicazioni specifiche per prestazioni migliori.
  • Elevata disponibilità: installa almeno due connettori su server separati per garantire elevata disponibilità e resilienza. Prendi in considerazione l'installazione in regioni o zone di disponibilità diverse, se applicabile.
  • Manutenzione del connettore: sebbene i connettori si aggiornino automaticamente, monitora il loro stato nel portale di Azure per assicurarti che siano sempre attivi e integri.
  • Sicurezza server connettore: protegge il server su cui è installato il connettore. Mantienilo aggiornato, applica il principio del privilegio minimo e monitoralo per attività sospette.
  • Ottimizzazione delle prestazioni: per applicazioni con traffico elevato o che richiedono bassa latenza, considerare la posizione dei connettori rispetto ai server delle applicazioni e alla larghezza di banda disponibile.
  • Monitoraggio: monitora i log di accesso di Azure AD e i log dei connettori per rilevare attività sospette o problemi di accesso.

Risoluzione dei problemi comuni

  • Errore di accesso (404, 500, ecc.):
    • Controlla l'URL interno: assicurati che l'URL interno configurato nel proxy dell'applicazione sia corretto e che il connettore possa accedervi direttamente dal server su cui è installato.
    • Controlla il connettore: verifica che il connettore sia "attivo" nel portale di Azure. Riavviare il servizio connettore sul server.
    • Controlla il gruppo di connettori: assicurati che il gruppo di connettori assegnato all'applicazione abbiam almeno un connettore attivo.
    • Firewall locale: controlla se il firewall sul server del connettore o sul server delle applicazioni sta bloccando il traffico.
  • Le applicazioni non vengono caricate correttamente (problemi di rendering):
    • Traduzione dell'intestazione: per alcune applicazioni, potrebbe essere necessario modificare il "Tipo di intestazione della traduzione dell'URL" nelle impostazioni del proxy dell'applicazione su "Intestazioni URL backend" o "Intestazioni URL frontend".
    • Collegamenti codificati: le applicazioni con collegamenti codificati a URL interni potrebbero riscontrare problemi. Prendi in considerazione l'utilizzo di "Link Translation" di Application Proxy o la riconfigurazione dell'applicazione, se possibile.
  • Problemi SSO:
    • Configurazione SSO: controlla le impostazioni SSO nell'applicazione aziendale. Per le applicazioni non federate, potrebbe essere necessario configurare "SSO basato su password" o "SSO intestazione".
    • Delega vincolata Kerberos (KCD): per le applicazioni che utilizzano l'autenticazione integrata di Windows (IWA), verificare che KCD sia configurato correttamente in Active Directory per il connettore.
  • L'accesso condizionato blocca gli utenti legittimi:
    • Esaminare attentamente le politiche di accesso condizionale. Verificare che gli utenti o i gruppi siano inclusi o esclusi correttamente.
    • Utilizza lo strumento "What If" nell'accesso condizionale per simulare l'accesso e comprendere il motivo per cui una policy viene applicata o bloccata.
  • Connettore offline:
    • Verificare la connettività di rete del server del connettore ad Azure AD (porte in uscita 80 e 443) e al servizio proxy di applicazione (porta in uscita 443).
    • Controllare i registri eventi di Windows sul server del connettore per eventuali errori relativi al servizio.
    • Assicurati che il servizio "Microsoft AAD Application Proxy Connector" sia in esecuzione.

Conclusione

Azure AD Application Proxy è uno strumento potente e sicuro per estendere l'accesso alle applicazioni Web locali agli utenti remoti, allineandosi ai principi del modello Zero Trust. Centralizzando l'autenticazione e l'autorizzazione in Azure AD ed eliminando la necessità di complesse infrastrutture di accesso remoto, le organizzazioni possono semplificare la propria architettura di sicurezza rafforzando al tempo stesso la protezione dalle minacce. Un'implementazione attenta, l'integrazione con l'accesso condizionale e il monitoraggio continuo sono essenziali per massimizzare i vantaggi in termini di sicurezza e garantire un'esperienza utente fluida. Con questa guida pratica, i professionisti della sicurezza e gli amministratori IT saranno ben attrezzati per configurare, convalidare e gestire il proxy dell'applicazione Azure AD, proteggendo l'accesso remoto alle applicazioni critiche e rafforzando il livello di sicurezza delle loro organizzazioni.


Riferimenti:

[1]Microsoft Learn. Pubblica app locali con il proxy dell'applicazione Microsoft Entra. Disponibile all'indirizzo: https://learn.microsoft.com/pt-br/entra/identity/app-proxy/overview-what-is-app-proxy [2]Microsoft Learn. Aggiungi un'applicazione locale per l'accesso remoto tramite Microsoft Entra Application Proxy. Disponibile all'indirizzo: https://learn.microsoft.com/pt-br/entra/identity/app-proxy/application-proxy-add-on-premises-application [3]Microsoft Learn. Pubblica desktop remoto con il proxy dell'applicazione Microsoft Entra. Disponibile all'indirizzo: https://learn.microsoft.com/pt-br/entra/identity/app-proxy/application-proxy-integrate-with-remote-desktop-services [4]Microsoft Learn. Licenza ID Microsoft Entra. Disponibile all'indirizzo: https://learn.microsoft.com/pt-br/entra/identity/licensing-azure-active-directory [5]Microsoft Learn. Connettori proxy applicazione Microsoft Entra. Disponibile su: https://learn.microsoft.com/pt-br/entra/identity/app-proxy/application-proxy-connectors [6]Microsoft Learn. Accesso condizionale su Microsoft Inserisci ID. Disponibile all'indirizzo: https://learn.microsoft.com/pt-br/entra/identity/conditional-access/overview [7]Microsoft Learn. Risolvere i problemi relativi ai connettori proxy dell'applicazione Microsoft Entra. Disponibile all'indirizzo: https://learn.microsoft.com/pt-br/entra/identity/app-proxy/application-proxy-troubleshoot-connectors