Salta al contenuto

Come posso configurare le regole del mio firewall di rete per bloccare o autorizzare domini specifici?

9 minuti di lettura
0

Desidero utilizzare Firewall di rete AWS per filtrare il traffico web in uscita dalle risorse nel mio Amazon Virtual Private Cloud (Amazon VPC).

Breve descrizione

AWS Network Firewall utilizza l'ordine di operazione o l'ordine di valutazione rigoroso per supportare il filtraggio basato sul dominio per il traffico web in uscita. Per configurare le regole, utilizza un gruppo di regole stateful con elenco di domini o stringhe compatibili con Suricata. L'ispezione del dominio funziona con i protocolli HTTP e HTTPS.

Per HTTP, il firewall controlla l'intestazione dell'host. Per HTTPS, il firewall utilizza l'indicazione del nome del server (SNI) nell'handshake TLS. Quando utilizzi un elenco di domini consentiti, Firewall di rete invia il traffico solo ai domini specificati ed elimina tutte le altre richieste.

Per ulteriori informazioni, consulta Suricata compatible rule strings in AWS Network Firewall (Stringhe di regole compatibili con Suricata in Firewall di rete AWS) e Stateful domain list groups in AWS Network Firewall (Gruppi di regole stateful con elenco di domini in Firewall di rete AWS).

Risoluzione

Configura un gruppo di regole con elenco di domini per una policy con ordine di operazione di default

Completa i seguenti passaggi:

  1. Crea un firewall.
  2. Nel pannello di navigazione della console Amazon VPC, in ** Network Firewall**, scegli Policy del firewall.
  3. Seleziona la policy dei firewall con l'ordine di operazione di default che desideri modificare.
  4. In Gruppi di regole stateful, scegli Operazioni, quindi seleziona Crea un gruppo di regole con stato.
  5. In Stateful rule group format (Formato del gruppo di regole stateful), scegli Elenco di domini.
    Nota: non puoi modificare l'ordine delle regole stateful perché è ereditato dalla policy. L'Ordine delle regole appare come Ordine di operazione.
  6. Inserisci un nome univoco per il gruppo di regole.
  7. In Prenotazione della capacità, inserisci un numero stimato di domini che saranno inclusi nell'elenco.
    Nota: dopo aver creato il gruppo di regole, non puoi modificare il valore.
  8. Alla voce Elenco di domini, in Origine del nome di dominio, inserisci i nomi di dominio che supereranno la verifica della corrispondenza. Puoi definire i domini come corrispondenza esatta, ad esempio abc.esempio.com. Oppure puoi definirli come corrispondenza parziale, ad esempio .esempio.com.
  9. Per Intervalli CIDR, scegli una delle seguenti opzioni:
    Di default per un indirizzo IP di origine che esiste nello stesso VPC del firewall.
    Personalizzato per un indirizzo IP di origine che esiste in un VPC remoto. Inserisci le sottoreti di origine che desideri che il firewall controlli in Intervalli CIDR IP di fonte.
  10. In Protocolli, scegli HTTP e HTTPS.
  11. Per Operazione, scegli Consenti.
  12. Scegli Crea gruppo di regole.

Definisci una regola IPS compatibile con Suricata per una policy con valutazione dell'ordine di operazione

Completa i seguenti passaggi:

  1. Crea un firewall.
  2. Nel pannello di navigazione della console Amazon VPC, in ** Network Firewall**, scegli Policy del firewall.
  3. Seleziona la policy dei firewall con l'ordine di operazione di default che desideri modificare.
  4. In Gruppi di regole stateful, scegli Operazioni, quindi seleziona Crea un gruppo di regole con stato.
  5. Per Stateful rule group format (Formato del gruppo di regole stateful), scegli Stringa della regola compatibile con Suricata.
    Nota: non puoi modificare l'ordine delle regole stateful perché è ereditato dalla policy. L'Ordine delle regole appare come Ordine di operazione.
  6. Inserisci un nome univoco per il gruppo di regole.
  7. In Prenotazione della capacità, inserisci un numero stimato di domini che saranno inclusi nell'elenco.
    Nota: dopo aver creato il gruppo di regole, non puoi modificare il valore.
  8. (Facoltativo) Definisci le variabili delle regole personalizzate da utilizzare nelle firme Suricata.
  9. (Facoltativo) Definisci riferimenti dei set IP da utilizzare nelle firme Suricata.
  10. In Stringa della regola compatibile con Suricata, inserisci le seguenti regole:
pass http $HOME_NET any -> $EXTERNAL_NET any (http.host; dotprefix; content:".amazonaws.com"; endswith; msg:"matching HTTP allowlisted FQDNs"; flow:to_server, established; sid:1; rev:1;)
pass http $HOME_NET any -> $EXTERNAL_NET any (http.host; content:"example.com"; startswith; endswith; msg:"matching HTTP allowlisted FQDNs"; flow:to_server, established; sid:2; rev:1;)
pass tls $HOME_NET any -> $EXTERNAL_NET any (tls.sni; dotprefix; content:".amazonaws.com"; nocase; endswith; msg:"matching TLS allowlisted FQDNs"; flow:to_server, established; sid:3; rev:1;)
pass tls $HOME_NET any -> $EXTERNAL_NET any (tls.sni; content:"example.com"; startswith; nocase; endswith; msg:"matching TLS allowlisted FQDNs"; flow:to_server, established; sid:4; rev:1;)
drop http $HOME_NET any -> $EXTERNAL_NET any (http.header_names; content:"|0d 0a|"; startswith; msg:"not matching any HTTP allowlisted FQDNs"; flow:to_server, established; sid:5; rev:1;)
drop tls $HOME_NET any -> $EXTERNAL_NET any (msg:"not matching any TLS allowlisted FQDNs"; flow:to_server, established; sid:6; rev:1;)

Nota: nelle regole precedenti, sostituisci i domini con i domini che desideri includere. Scegli Crea gruppo di regole.

Nota: le regole di dominio includono in genere la parola chiave di flusso stabilita, che tuttavia potrebbe non tenere conto di tutti i casi limite di scambio di pacchetti fuori flusso. Prima di utilizzare qualsiasi esempio di elenco di regole, testa la regola per verificare che funzioni come previsto.

Configura un gruppo di regole con elenco di domini per una policy con ordine di valutazione rigoroso

Completa i seguenti passaggi:

  1. Crea un firewall.
  2. Nel pannello di navigazione della console Amazon VPC, in ** Network Firewall**, scegli Policy del firewall.
  3. Seleziona la policy del firewall con l'ordine di valutazione rigoroso che desideri modificare.
  4. In Gruppi di regole stateful, scegli Operazioni, quindi seleziona Crea un gruppo di regole con stato.
  5. In Stateful rule group format (Formato del gruppo di regole stateful), scegli Elenco di domini.
    Nota: non puoi modificare un ordine delle regole stateful perché è ereditato dalla policy. L'Ordine delle regole viene visualizzato come Strict.
  6. Inserisci un nome univoco per il gruppo di regole.
  7. In Prenotazione della capacità, inserisci un numero stimato di domini che saranno inclusi nell'elenco.
    Nota: dopo aver creato il gruppo di regole, non puoi modificare il valore.
  8. Alla voce Elenco di domini, in Origine del nome di dominio, inserisci i nomi di dominio che supereranno la verifica della corrispondenza. Puoi definire i domini come corrispondenza esatta, ad esempio abc.esempio.com. Oppure puoi definirli come corrispondenza parziale, ad esempio .esempio.com.
  9. Per Intervalli CIDR, scegli una delle seguenti opzioni:
    Di default per un indirizzo IP di origine che esiste nello stesso VPC del firewall.
    Personalizzato per un indirizzo IP di origine che esiste in un VPC remoto. Inserisci le sottoreti di origine che desideri che il firewall controlli in Intervalli CIDR IP di fonte.
  10. In Protocolli, scegli HTTP e HTTPS.
  11. Per Operazione, scegli Consenti.
  12. Scegli Crea gruppo di regole.
  13. Nel pannello di navigazione, in Network Firewall, scegli Policy del firewall.
  14. Seleziona la policy con ordine rigiroso.
  15. In Stateful rule evaluation order and default actions (Ordine di valutazione delle regole stateful e operazioni di default), seleziona Modifica.
  16. Per Operazioni di default, scegli Rilascio stabilito, quindi Salva.

Definisci una regola IPS compatibile con Suricata per una policy con ordine di valutazione rigoroso

Completa i seguenti passaggi:

  1. Crea un firewall.
  2. Nel pannello di navigazione della console Amazon VPC, in ** Network Firewall**, scegli Policy del firewall.
  3. Seleziona la policy del firewall con l'ordine di valutazione rigoroso che desideri modificare.
  4. In Gruppi di regole stateful, scegli Operazioni, quindi seleziona Crea un gruppo di regole con stato.
  5. Per Stateful rule group format (Formato del gruppo di regole stateful), scegli Stringa della regola compatibile con Suricata.
    Nota: non puoi modificare l'ordine delle regole stateful perché è ereditato dalla policy. L'Ordine delle regole viene visualizzato come Strict.
  6. Inserisci un nome univoco per il gruppo di regole.
  7. In Prenotazione della capacità, inserisci un numero stimato di domini che saranno inclusi nell'elenco.
    Nota: dopo aver creato il gruppo di regole, non puoi modificare il valore.
  8. (Facoltativo) Definisci le variabili delle regole personalizzate da utilizzare nelle firme Suricata che definisci.
  9. (Facoltativo) Definisci i riferimenti dei set IP da utilizzare nelle firme Suricata che definisci.
  10. In Stringa della regola compatibile con Suricata, inserisci le seguenti regole:
pass http $HOME_NET any -> $EXTERNAL_NET any (http.host; dotprefix; content:".amazonaws.com"; endswith; msg:"matching HTTP allowlisted FQDNs"; flow:to_server, established; sid:1; rev:1;)
pass http $HOME_NET any -> $EXTERNAL_NET any (http.host; content:"example.com"; startswith; endswith; msg:"matching HTTP allowlisted FQDNs"; flow:to_server, established; sid:2; rev:1;)
pass tls $HOME_NET any -> $EXTERNAL_NET any (tls.sni; dotprefix; content:".amazonaws.com"; nocase; endswith; msg:"matching TLS allowlisted FQDNs"; flow:to_server, established; sid:3; rev:1;)
pass tls $HOME_NET any -> $EXTERNAL_NET any (tls.sni; content:"example.com"; startswith; nocase; endswith; msg:"matching TLS allowlisted FQDNs"; flow:to_server, established; sid:4; rev:1;)

Nota: nelle regole precedenti, sostituisci i domini con i domini che desideri includere. Scegli Crea gruppo di regole. Nel pannello di navigazione, in Network Firewall, scegli Policy del firewall. Seleziona la policy con ordine rigiroso. In Stateful rule evaluation order and default actions (Ordine di valutazione delle regole stateful e operazioni di default), seleziona Modifica. Per Operazioni di default, scegli Rilascio stabilito, quindi Salva.

Nota: le regole di dominio includono in genere la parola chiave di flusso stabilita, che tuttavia potrebbe non comprendere tutti i casi limite in cui i pacchetti vengono scambiati al di fuori dei normali flussi di connessione. Prima di utilizzare qualsiasi esempio di elenco di regole, testa la regola per verificare che funzioni come previsto.

Testa le configurazioni

Per verificare che le configurazioni funzionino, esegui comandi curl sui domini specificati.

Il seguente esempio di comando verifica l'accesso HTTPS al dominio https://example.com:

curl -v --silent https://example.com --stderr - | grep 200

Se l'accesso è consentito, ottieni il seguente risultato:

< HTTP/2 200

Il seguente esempio di comando verifica l'accesso HTTP a http://www.google.com:

curl -v http://www.google.com

Il seguente esempio di output mostra che le regole del firewall bloccano il traffico HTTP perché la connessione si interrompe alla richiesta GET:

* Trying 172.253.115.99:80...
* Connected to www.google.com (http://www.google.com/) (172.253.115.99) port 80 (#0)
> GET / HTTP/1.1
> Host: www.google.com (http://www.google.com/)
> User-Agent: curl/7.79.1
> Accept: /

Il seguente esempio di comando verifica l'accesso HTTPS a https://www.google.com:

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

L'output mostra che il traffico HTTPS è bloccato perché la connessione si interrompe durante l'handshake TLS:

* Trying 172.253.115.147:443...
* Connected to www.google.com (https://www.google.com/) (172.253.115.147) port 443 (#0)
* ALPN, offering h2 * ALPN, offering http/1.1 * Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations: * CAfile: /etc/pki/tls/certs/ca-bundle.crt * CApath: none
* TLSv1.2 (OUT), TLS header, Certificate Status (22): * TLSv1.2 (OUT), TLS handshake, Client hello (1):

Informazioni correlate

Firewall policies in Network Firewall (Policy del firewall in Firewall di rete)

Creating a stateful rule group (Creazione di un gruppo di regole stateful)

Examples of stateful rules for Network Firewall (Esempi di regole stateful per Firewall di rete)

AWS UFFICIALEAggiornata 9 mesi fa