Condividi tramite


Controllare il traffico in uscita con route definite dall'utente

Nota

Questa funzionalità è supportata solo per il tipo di ambiente dei profili di carico di lavoro.

Questo articolo illustra come usare route definite dall'utente con Firewall di Azure per bloccare il traffico in uscita dalle app contenitore alle risorse di Azure back-end o ad altre risorse di rete.

Azure crea una tabella di route predefinita per le reti virtuali in caso di creazione. Implementando una tabella di route definita dall'utente, è possibile controllare il modo in cui il traffico viene instradato all'interno della rete virtuale. In questa guida viene configurata la route definita dall'utente nella rete virtuale app contenitore per limitare il traffico in uscita con Firewall di Azure.

È anche possibile usare un gateway NAT o qualsiasi altra appliance di terze parti anziché Firewall di Azure.

Per altre informazioni, vedere configurazione della route definita dall'utente con Firewall di Azure in rete in App Azure Container.

Prerequisiti

  • Ambiente dei profili del carico di lavoro: ambiente dei profili di carico di lavoro integrato con una rete virtuale personalizzata. Per altre informazioni, vedere la guida per la creazione di un ambiente dell'app contenitore nell'ambiente dei profili di carico di lavoro.

  • curl supporto: l'app contenitore deve avere un contenitore che supporta curl i comandi. In questa procedura si usa curl per verificare che l'app contenitore sia distribuita correttamente. Se non è stata distribuita un'app curl contenitore, è possibile distribuire il contenitore seguente che supporta curl, mcr.microsoft.com/k8se/quickstart:latest.

Creare la subnet del firewall

Per distribuire un firewall nella rete virtuale integrata, è necessaria una subnet denominata AzureFirewallSubnet .

  1. Aprire la rete virtuale integrata con l'app nel portale di Azure.

  2. Dal menu a sinistra selezionare Subnet e quindi + Subnet.

  3. Immettere i valori seguenti:

    Impostazione Azione
    Nome Immettere AzureFirewallSubnet.
    Intervallo di indirizzi subnet Usare il valore predefinito o specificare un intervallo di subnet /26 o superiore.
  4. Seleziona Salva

Distribuire il firewall

  1. Nel menu portale di Azure o nella home page selezionare Crea una risorsa.

  2. Cercare Firewall.

  3. Selezionare Firewall.

  4. Seleziona Crea.

  5. Nella pagina Crea un firewall configurare il firewall con le impostazioni seguenti.

    Impostazione Azione
    Gruppo di risorse Immettere lo stesso gruppo di risorse della rete virtuale integrata.
    Nome Immettere un nome di propria scelta
    Area Selezionare la stessa area della rete virtuale integrata.
    Criteri firewall Crearne uno selezionando Aggiungi nuovo.
    Rete virtuale Selezionare la rete virtuale integrata.
    Indirizzo IP pubblico Selezionare un indirizzo esistente o crearne uno selezionando Aggiungi nuovo.
  6. Selezionare Rivedi e crea. Al termine della convalida, selezionare Crea. Il completamento del passaggio di convalida potrebbe richiedere alcuni minuti.

  7. Al termine della distribuzione, selezionare Vai alla risorsa.

  8. Nella pagina Panoramica del firewall copiare l'INDIRIZZO IP privato del firewall. Questo indirizzo IP viene usato come indirizzo hop successivo durante la creazione della regola di routing per la rete virtuale.

Instradare tutto il traffico al firewall

Le reti virtuali in Azure hanno tabelle di route predefinite quando si crea la rete. Implementando una tabella di route definita dall'utente, è possibile controllare il modo in cui il traffico viene instradato all'interno della rete virtuale. Nei passaggi seguenti si crea una route definita dall'utente per instradare tutto il traffico al Firewall di Azure.

  1. Nel menu portale di Azure o nella home page selezionare Crea una risorsa.

  2. Cercare Tabelle di route.

  3. Selezionare Tabelle di route.

  4. Seleziona Crea.

  5. Immettere i valori seguenti:

    Impostazione Azione
    Area Selezionare l'area come rete virtuale.
    Nome Immetti un nome.
    Propagare le route del gateway Selezionare No
  6. Selezionare Rivedi e crea. Al termine della convalida, selezionare Crea.

  7. Al termine della distribuzione, selezionare Vai alla risorsa.

  8. Dal menu a sinistra selezionare Route, quindi selezionare Aggiungi per creare una nuova tabella di route

  9. Configurare la tabella di route con le impostazioni seguenti:

    Impostazione Azione
    Prefisso indirizzo Immettere 0.0.0.0/0
    Tipo hop successivo Selezionare Appliance virtuale
    Indirizzo hop successivo Immettere l'indirizzo IP privato del firewall salvato in Distribuire il firewall.
  10. Selezionare Aggiungi per creare la route.

  11. Dal menu a sinistra selezionare Subnet, quindi selezionare Associa per associare la tabella di route alla subnet dell'app contenitore.

  12. Configurare la subnet Associa con i valori seguenti:

    Impostazione Azione
    Rete virtuale Selezionare la rete virtuale per l'app contenitore.
    Subnet Selezionare la subnet per l'app contenitore.
  13. Seleziona OK.

Configurare i criteri firewall

Nota

Quando si usa la route definita dall'utente con Firewall di Azure in App Contenitore di Azure, è necessario aggiungere determinati tag di servizio e FQDN all'elenco elementi consentiti per il firewall. Fare riferimento alla configurazione della route definita dall'utente con Firewall di Azure per determinare i tag del servizio necessari.

A questo momento, tutto il traffico in uscita dall'app contenitore viene instradato al firewall. Attualmente, il firewall consente comunque tutto il traffico in uscita. Per gestire il traffico in uscita consentito o negato, è necessario configurare i criteri del firewall.

  1. Nella risorsa Firewall di Azure nella pagina Panoramica selezionare Criteri firewall

  2. Dal menu a sinistra della pagina dei criteri firewall selezionare Regole applicazione.

  3. Selezionare Aggiungi una raccolta regole.

  4. Immettere i valori seguenti per la raccolta regole:

    Impostazione Azione
    Nome Immettere un nome di raccolta
    Tipo di raccolta regole Selezionare Applicazione
    Priorità Immettere la priorità, ad esempio 110
    Azione raccolta regole selezionare Consenti
    Gruppo di raccolte regole Selezionare DefaultApplicationRuleCollectionGroup
  5. In Regole immettere i valori seguenti

    Impostazione Azione
    Nome Immettere un nome per la regola
    Tipo di origine Selezionare l'indirizzo IP
    Origine Immetti *
    Protocollo Immettere http:80,https:443
    Tipo destinazione Selezionare FQDN.
    Destinazione Immettere mcr.microsoft.com,*.data.mcr.microsoft.com. Se si usa Registro Azure Container, aggiungere l'indirizzo del Registro Azure Container e *.blob.core.windows.net.
    Azione selezionare Consenti

    Nota

    Se si usa il Registro di sistema dell'hub Docker e si vuole accedervi tramite il firewall, è necessario aggiungere gli FQDN seguenti all'elenco di destinazione delle regole: hub.docker.com, registry-1.docker.io e production.cloudflare.docker.com.

  6. Selezionare Aggiungi.

Verificare che il firewall blocchi il traffico in uscita

Per verificare che la configurazione del firewall sia configurata correttamente, è possibile usare il curl comando dalla console di debug dell'app.

  1. Passare all'app contenitore configurata con Firewall di Azure.

  2. Dal menu a sinistra selezionare Console e quindi selezionare il contenitore che supporta il curl comando .

  3. Nel menu Scegli comando di avvio selezionare /bin/sh e selezionare Connessione.

  4. Nella console eseguire curl -s https://mcr.microsoft.com. Verrà visualizzata una risposta con esito positivo durante l'aggiunta mcr.microsoft.com all'elenco elementi consentiti per i criteri del firewall.

  5. Eseguire curl -s https://<FQDN_ADDRESS> per un URL che non corrisponde ad alcuna delle regole di destinazione, ad example.comesempio . Il comando di esempio sarebbe curl -s https://example.com. Non dovrebbe essere visualizzata alcuna risposta, che indica che il firewall ha bloccato la richiesta.

Passaggi successivi