Esercitazione: Distribuire e configurare Firewall di Azure e policy usando il portale di Azure

Il controllo dell'accesso alla rete in uscita è un componente importante di un piano di sicurezza della rete generale. Ad esempio, è possibile limitare l'accesso ai siti Web. In alternativa, potrebbe essere utile limitare gli indirizzi IP e le porte in uscita a cui è possibile accedere.

È possibile controllare l'accesso alla rete in uscita da una subnet di Azure usando Firewall di Azure e Criteri firewall. Usando Firewall di Azure e i criteri firewall, è possibile configurare:

  • Regole di applicazione che definiscono i nomi di dominio completi (FQDN) accessibili da una subnet.
  • Regole di rete che definiscono l'indirizzo di origine, il protocollo, la porta di destinazione e l'indirizzo di destinazione.

Il traffico di rete è sottoposto alle regole del firewall configurate quando si instrada il traffico di rete al firewall come gateway predefinito della subnet.

Per questa esercitazione si crea una rete virtuale singola semplificata con due subnet per semplificare la distribuzione.

  • AzureFirewallSubnet: firewall nella subnet.
  • Workload-SN: server del carico di lavoro nella subnet. Il traffico di rete di questa subnet passa attraverso il firewall.

Diagramma che mostra un'infrastruttura di rete firewall.

Per le distribuzioni di produzione, usare un modello hub-spoke, in cui il firewall si trova nella propria rete virtuale. I server del carico di lavoro si trovano nelle reti virtuali associate all'interno della stessa area con una o più subnet.

In questa esercitazione verranno illustrate le procedure per:

  • Configurare un ambiente di rete di test
  • Distribuire un firewall e il criterio firewall
  • Creare una route predefinita
  • Configurare una regola di applicazione per consentire l'accesso a www.google.com
  • Configurare una regola di rete per consentire l'accesso a server DNS esterni
  • Configurare una regola NAT per consentire l'accesso HTTP in ingresso al server di test
  • Testare il firewall

Se si preferisce, è possibile completare questa procedura usando Azure PowerShell.

Prerequisiti

Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.

Scegli una regione che supporti Azure Bastion Developer, come West US. Usa quella regione per tutte le risorse di questo tutorial.

Configurare la rete

In primo luogo, creare un gruppo di risorse per contenere le risorse necessarie per distribuire il firewall. Creare quindi una rete virtuale, le subnet e un server di test.

Creare un gruppo di risorse

Il gruppo di risorse contiene tutte le risorse per l'esercitazione.

  1. Accedere al portale di Azure.

  2. Nel menu del portale di Azure selezionare Gruppi di risorse o cercare e selezionare Gruppi di risorse da qualsiasi pagina e quindi selezionare Crea. Immettere o selezionare i valori seguenti:

    Impostazione valore
    Subscription Selezionare la sottoscrizione di Azure.
    Gruppo di risorse Immettere Test-FW-RG.
    Region Scegliere un'area, Tutte le altre risorse create devono risiedere nella stessa area.
  3. Selezionare Rivedi e crea>Crea.

Creare una rete virtuale

Questa rete virtuale ha due subnet.

Note

La dimensione della subnet AzureFirewallSubnet è /26. Per altre informazioni sulle dimensioni delle subnet, vedere le domande frequenti su Firewall di Azure.

  1. Nel menu del portale di Azure o da Home selezionare Crea una risorsa, cercare Rete virtuale e selezionare Crea.

  2. Immettere o selezionare i valori seguenti:

    Impostazione valore
    Subscription Selezionare la sottoscrizione di Azure.
    Gruppo di risorse Selezionare Test-FW-RG.
    Nome Immettere Test-FW-VN.
    Region Selezionare la stessa posizione usata in precedenza.
  3. Selezionare Avanti due volte per passare alla scheda Indirizzi IP .

  4. In Spazio indirizzi IPv4 accettare il valore predefinito 10.0.0.0/16.

  5. In Subnet, selezionare predefinita. Nel riquadro Modifica subnet imposta Scopo subnet su Firewall di Azure.

    Il firewall si trova in questa subnet e il nome della subnet deve essere AzureFirewallSubnet.

  6. Per Indirizzo iniziale digitare 10.0.1.0, quindi selezionare Salva.

  7. Selezionare Aggiungi subnet e immettere i valori seguenti, quindi selezionare Aggiungi:

    Impostazione valore
    Nome della sottorete Workload-SN
    Indirizzo iniziale 10.0.2.0/24
  8. Selezionare Rivedi e crea>Crea.

Distribuire Azure Bastion

Usa Azure Bastion Developer per connetterti in modo sicuro a Srv-Work per i test. Lo sviluppatore utilizza un'infrastruttura condivisa e si collega a VM nella stessa rete virtuale. Non richiede un AzureBastionSubnet dedicato né un indirizzo IP pubblico.

In questo tutorial non è prevista una distribuzione separata su host dedicato. Dopo aver creato la VM e configurato il firewall, i passaggi di test si collegano tramite Bastion. In una regione supportata, selezionando Connetti si implementa automaticamente Bastion Developer. Per i dettagli, vedi Deploy Bastion Developer.

Creare una macchina virtuale

Creare la macchina virtuale workload e inserirla nella subnet Workload-SN.

  1. Nella casella di ricerca nella parte superiore del portale immettere Macchina virtuale, selezionare Macchine virtuali e quindi crea>macchina virtuale.

  2. Immettere o selezionare questi valori per la macchina virtuale:

    Impostazione valore
    Dettagli di progetto
    Subscription Selezionare la sottoscrizione di Azure.
    Gruppo di risorse Selezionare Test-FW-RG.
    Dettagli dell'istanza
    Nome della macchina virtuale Immettere Srv-Work.
    Region Selezionare la stessa posizione usata in precedenza.
    Opzioni di disponibilità Selezionare La ridondanza dell'infrastruttura non è richiesta.
    Tipo di sicurezza Selezionare Standard.
    Immagine Selezionare Ubuntu Server 24.04 LTS -x64 Gen2
    Misura Selezionare una dimensione per la macchina virtuale.
    Account dell'amministratore
    Username Inserire azureuser.
    Origine chiave pubblica SSH Selezionare Genera nuova coppia di chiavi.
    Nome della coppia di chiavi Immettere Srv-Work_key.
  3. In Regole porta in ingresso, impostare Porte in ingresso pubbliche su Nessuna.

  4. Accettare le altre impostazioni predefinite e nella scheda Rete verificare che / Workload-SN sia selezionato e Che l'indirizzo IP pubblico sia Nessuno.

  5. Selezionare Rivedi e crea>Crea. Quando richiesto, selezionare Scarica chiave privata e creare la risorsa e salvare il file della chiave.

  6. Al termine della distribuzione, prendere nota dell'indirizzo IP privato Srv-Work per un uso successivo.

Distribuire il firewall e il criterio

Distribuire il firewall nella rete virtuale.

  1. Nel menu del portale di Azure o da Home selezionare Crea una risorsa, cercare Firewall e selezionare Crea.

  2. In Creare un firewall usare la tabella seguente per configurare il firewall:

    Impostazione valore
    Dettagli di progetto
    Subscription Selezionare la sottoscrizione di Azure.
    Gruppo di risorse Selezionare Test-FW-RG.
    Dettagli dell'istanza
    Nome Immettere Test-FW01.
    Region Selezionare la stessa posizione usata in precedenza.
    SKU firewall Selezionare Standard.
    Firewall Management selezionare Usa un criterio firewall per gestire questo firewall.
    Criterio firewall Selezionare Aggiungi nuovo e immettere fw-test-pol.
    Selezionare la stessa area usata in precedenza. Selezionare OK.
    Scegliere una rete virtuale Selezionare Usa esistente e quindi Test-FW-VN. Ignorare l'avviso relativo al tunneling forzato. L'avviso viene risolto in un passaggio successivo.
    Indirizzo IP pubblico Selezionare Aggiungi nuovo e immettere fw-pip come Nome. Selezionare OK.
  3. Svuota la casella Abilita la gestione firewall della scheda di rete, poi seleziona Avanti: Avanzato.

  4. Lascia Abilita NAT gateway deselezionato per questa esercitazione. Per configurare un gateway NAT StandardV2 durante la creazione del firewall, vedi Integra gateway NAT con Firewall di Azure.

  5. Seleziona Visualizza + crea, rivedi le impostazioni e poi seleziona Crea.

    La distribuzione richiede alcuni minuti.

  6. Al termine della distribuzione, passare a Test-FW-RG, selezionare il firewall Test-FW01 e prendere nota degli indirizzi IP privati e pubblici per un uso successivo.

Creare una route predefinita

Per la subnet Workload-SN configurare la route predefinita in uscita per passare attraverso il firewall.

  1. Cercare e selezionare Tabelle di route, selezionare Crea e immettere i valori seguenti:

    Impostazione valore
    Dettagli di progetto
    Subscription Selezionare la sottoscrizione di Azure.
    Gruppo di risorse Selezionare Test-FW-RG.
    Dettagli dell'istanza
    Nome Immettere Firewall-route.
    Region Selezionare la stessa posizione usata in precedenza.
  2. Selezionare Rivedi e crea>Crea.

    Al termine della distribuzione, selezionare Vai alla risorsa.

  3. Nel riquadro Firewall-route , in Impostazioni selezionare Subnet>associate.

  4. Per Rete virtuale selezionare Test-FW-VN e per Subnet selezionare Workload-SN. Selezionare OK.

  5. Selezionare Route>Aggiungi e immettere i valori seguenti:

    Impostazione valore
    Nome del percorso fw-dg
    Tipo di destinazione Indirizzi IP
    Prefisso degli indirizzi IP di destinazione/intervalli CIDR 0.0.0.0/0
    Tipo di passaggio successivo Appliance virtuale
    Indirizzo del prossimo passaggio Indirizzo IP privato per il firewall annotato in precedenza

    Note

    Firewall di Azure è in effetti un servizio gestito, ma in questa situazione è possibile usare un'appliance virtuale.

  6. Selezionare Aggiungi.

Installare un server Web

La VM non ha un indirizzo IP pubblico. Usa la via del carico di lavoro che hai appena creato e una regola applicativa temporanea per scaricare nginx attraverso il firewall. Mantieni le impostazioni DNS predefinite fornite da Azure della VM durante l'installazione.

  1. Apri fw-test-pol. In Impostazioni>Regole, selezionare Regole applicazione>Aggiungi una raccolta di regole.

  2. Immettere i valori seguenti:

    Impostazione valore
    Nome Install-Nginx
    Tipo di raccolta regole Applicazione
    Priorità 100
    Azione della collezione di regole Consenti
    Gruppo raccolta di regole DefaultApplicationRuleCollectionGroup
    Nome della regola Consenti-Repository-di-Pacchetti
    Tipo di sorgente Indirizzo IP
    origine 10.0.2.0/24
    Protocollo:porta http:80, https:443
    Tipo di destinazione FQDN
    FQDN di destinazione azure.archive.ubuntu.com, archive.ubuntu.com, security.ubuntu.com, packages.microsoft.com
  3. Seleziona Aggiungi e attendi che l'aggiornamento della politica si completi.

  4. In Test-FW-RG, seleziona Srv-Work. Selezionail comando>Operations>Run RunShellScript, inserisci i seguenti comandi e seleziona Run:

    set -eu
    sudo apt-get update
    sudo apt-get install -y nginx
    echo "<html><body><h1>Azure Firewall DNAT Test</h1><p>If you can see this page, the DNAT rule is working correctly!</p></body></html>" | sudo tee /var/www/html/index.html
    curl --fail http://localhost
    
  5. Conferma che il comando sia stato completato con successo e restituisca la pagina Firewall di Azure DNAT Test. Se il download dei pacchetti non riesce, controlla che il nome host del repository riportato nell'errore corrisponda alla regola temporanea. Consenti solo i repository di pacchetti configurati; non aggiungere una regola Internet con caratteri jolly. Vedi Risoluzione dei problemi comuni con APT su Ubuntu.

  6. Torna a fw-test-pol ed elimina la collezione di regole Install-Nginx . Aspetta che l'aggiornamento della politica sia completato prima di continuare. Questa rimozione garantisce che i test successivi valutino solo le regole permanenti del tutorial.

Configurare una regola di applicazione

Questa regola dell'applicazione concede l'accesso in uscita a www.google.com.

  1. Aprire il gruppo di risorse Test-FW-RG e selezionare il criterio firewall fw-test-pol.

  2. In Impostazioni>Regole, selezionare Regole applicazione>Aggiungi una raccolta di regole.

  3. Immettere i valori seguenti:

    Impostazione valore
    Nome App-Coll01
    Priorità 200
    Azione della collezione di regole Consenti
    Regole
    Nome Allow-Google
    Tipo di sorgente Indirizzo IP
    origine 10.0.2.0/24
    Protocollo:porta http, https
    Tipo di destinazione FQDN
    Destinazione www.google.com
  4. Selezionare Aggiungi.

Firewall di Azure include una raccolta di regole predefinite per i nomi di dominio completi dell'infrastruttura consentiti per impostazione predefinita. Questi FQDN sono specifici della piattaforma e non possono essere usati per altri scopi. Per altre informazioni, vedere Infrastructure FQDNs (FQDN dell'infrastruttura).

Attendere che la distribuzione della regola dell'applicazione sia completata prima di continuare.

Configurare una regola di rete

Questa regola di rete concede l'accesso in uscita a due indirizzi IP sulla porta 53 (DNS).

  1. Selezionare Regole >Aggiungi una raccolta regole.

  2. Immettere i valori seguenti:

    Impostazione valore
    Nome Net-Coll01
    Priorità 200
    Azione della collezione di regole Consenti
    Gruppo raccolta di regole DefaultNetworkRuleCollectionGroup
    Regole
    Nome Allow-DNS
    Tipo di sorgente Indirizzo IP
    origine 10.0.2.0/24
    Protocollo UDP
    Porte di destinazione 53
    Tipo di destinazione Indirizzo IP
    Destinazione 209.244.0.3.209.244.0.4 (server DNS pubblici gestiti da CenturyLink)
  3. Selezionare Aggiungi.

Attendere il completamento della distribuzione delle regole di rete, prima di continuare.

Configurare una regola DNAT

Questa regola si connette al server Web nella macchina virtuale Srv-Work tramite il firewall.

  1. Selezionare Regole >Aggiungere una raccolta regole.

  2. Immettere i valori seguenti:

    Impostazione valore
    Nome HTTP
    Priorità 200
    Gruppo raccolta di regole DefaultDnatRuleCollectionGroup
    Regole
    Nome http-nat
    Tipo di sorgente Indirizzo IP
    origine *
    Protocollo TCP
    Porte di destinazione 80
    Destinazione Indirizzo IP pubblico del firewall
    Tipo tradotto Indirizzo IP
    Indirizzo convertito Indirizzo IP privato Srv-Work
    Porta convertita 80
  3. Selezionare Aggiungi.

Modificare l'indirizzo DNS primario e secondario per l'interfaccia di rete Srv-Work

Ai fini del test in questa esercitazione vengono configurati gli indirizzi DNS primari e secondari del server. Questa configurazione non è un requisito generale di Firewall di Azure.

  1. Nel gruppo di risorse Test-FW-RG selezionare l'interfaccia di rete per la macchina virtuale Srv-Work .
  2. In Impostazioni selezionare Server> DNSPersonalizzati.
  3. Immettere 209.244.0.3 e 209.244.0.4 come server DNS, quindi selezionare Salva.
  4. Riavviare la macchina virtuale Srv-Work.

Testare il firewall

A questo punto testare il firewall per verificare che funzioni come previsto.

Testare la regola DNAT

  1. In un Web browser nel computer locale immettere http://<firewall-public-ip-address>.
  2. Viene visualizzata la pagina Web personalizzata: Test DNAT di Firewall di Azure. Ciò conferma che la regola DNAT funziona.

Testare l'applicazione e le regole di rete

Usare Azure Bastion per connettersi in modo sicuro alla macchina virtuale Srv-Work e testare le regole del firewall.

  1. Nel gruppo di risorse Test-FW-RG selezionare la macchina virtuale Srv-Work e quindi selezionare Connetti>tramite Bastion.

  2. Nella pagina Bastion immettere o selezionare i valori seguenti:

    Impostazione valore
    Tipo di autenticazione Selezionare Chiave privata SSH da File locale.
    Username Inserire azureuser.
    File locale Selezionare Sfoglia e selezionare il file Srv-Work_key.pem scaricato durante la creazione della macchina virtuale.
  3. Selezionare Connetti.

    Bastion Developer si distribuisce automaticamente e apre una sessione SSH su Srv-Work nel portale.

  4. Nella sessione SSH immettere il comando seguente per testare l'accesso a Google:

    curl -I https://www.google.com
    

    Viene visualizzata una risposta HTTP riuscita (200 OK), che indica che la regola dell'applicazione consente l'accesso a Google.

  5. Testare ora l'accesso a Microsoft, che dovrebbe essere bloccato. Inserire:

    curl -I https://www.microsoft.com
    

    Il comando raggiunge il timeout o ha esito negativo dopo circa 60 secondi, a indicare che il firewall blocca l'accesso.

Ora è stato verificato che le regole del firewall funzionano:

  • È possibile accedere al server Web tramite la regola DNAT.
  • È possibile passare al nome di dominio completo consentito ma non agli altri.
  • È possibile risolvere i nomi DNS usando il server DNS esterno configurato.

Pulire le risorse

È possibile mantenere le risorse del firewall per l'esercitazione successiva. Se non sono più necessari, eliminare il gruppo di risorse Test-FW-RG per eliminare tutte le risorse correlate al firewall.

Passaggi successivi