Questa pagina mostra esempi di implementazioni di criteri firewall gerarchici. Si assume che tu abbia familiarità con i concetti descritti in Criteri firewall gerarchici.
Esempio 1: consentire al prober di accedere a tutte le VM
In questo caso d'uso, tutte le istanze di macchine virtuali (VM) di un'organizzazione devono essere sottoposte a scansione e inventariate utilizzando sonde da un determinato indirizzo IP (10.100.0.1
) a una porta di destinazione specifica (123
). L'amministratore della sicurezza dell'organizzazione garantisce che nessun amministratore di rete o altro amministratore della sicurezza possa bloccare la porta su nessuna istanza VM dell'organizzazione.
Questo esempio presuppone che non siano stati implementati criteri firewall a livello di cartella.
La configurazione per questo caso d'uso è descritta nel seguente diagramma.
Norme vigenti applicate nelle VM
In questo esempio, il criterio firewall della VM efficace dopo la valutazione delle regole nella gerarchia è il seguente.
Connessioni in entrata
Le connessioni in entrata con indirizzo IP di origine
10.100.0.1
e porta di destinazione123
sono consentite, come definito nella norma. In caso di corrispondenza nel criterio dell'organizzazione, le connessioni del probe sono consentite e non vengono valutate altre regole nella gerarchia.Per le connessioni in entrata diverse dall'indirizzo IP di origine
10.100.0.1
e dalla porta di destinazione123
, non è presente alcuna corrispondenza. Pertanto, viene applicata la regola in entrata predefinita nelle regole del firewall VPC, che nega la connessione.
Connessione in uscita
- Non esiste una corrispondenza tra le regole definite dalla gerarchia. Pertanto, viene applicata la regola in uscita predefinita nelle regole firewall VPC, consentendo le connessioni in uscita.
Modalità di configurazione
Crea un criterio firewall contenente la regola:
gcloud compute firewall-policies create \ --organization=123456789012 \ --short-name="example-firewall-policy" \ --description="rules that apply to all VMs in the organization"
Aggiungi la regola al criterio firewall:
gcloud compute firewall-policies rules create 1000 \ --action=allow \ --description="allow-scan-probe" \ --layer4-configs=tcp:123 \ --firewall-policy=example-firewall-policy \ --organization=123456789012 \ --src-ip-ranges=10.100.0.1/32
Associa il criterio firewall all'organizzazione:
gcloud compute firewall-policies associations create \ --firewall-policy=example-firewall-policy \ --organization=123456789012
Esempio 2: nega tutte le connessioni esterne tranne quelle a determinate porte
In questo caso d'uso, un criterio firewall blocca tutte le connessioni provenienti da origini internet esterne, ad eccezione delle connessioni sulle porte di destinazione 80
, 443
e 22
. Una connessione a internet in entrata su qualsiasi porta diversa da 80
, 443
e
22
è bloccata indipendentemente dalle regole del firewall a livello di rete VPC. Per qualsiasi connessione sulla porta 80
, 443
o 22
, il criterio
delega all'amministratore della sicurezza VPC il comportamento che vuole
applicare nella rispettiva rete VPC per queste porte.
La configurazione per questo caso d'uso è descritta nel seguente diagramma.
Norme vigenti applicate nelle VM
In questo esempio, il criterio firewall della VM efficace dopo la valutazione delle regole nella gerarchia è il seguente.
Connessioni in entrata
Eventuali connessioni in entrata da
10.0.0.0/8
corrispondono alla regola a livello di organizzazione con priorità più elevatadelegate-internal-traffic
e ignorano il resto delle regole nel criterio dell'organizzazione da valutare in base alle regole firewall configurate a livello di rete VPC. Nella regola firewall VPC, le connessioni da10.2.0.0/16
sono consentite, mentre le altre connessioni vengono valutate in base alla regola in entrata implicita, ovverodeny
.Le connessioni in entrata con un intervallo IP di origine diverso da
10.0.0.0/8
per le porte di destinazione22
,80
e443
vengono delegate al livello successivo, dove le porte80
e443
sono consentite, ma non22
.Tutte le altre connessioni sono bloccate.
Connessioni in uscita
- Non esiste una corrispondenza tra le regole definite dalla gerarchia. Pertanto, viene applicata la regola in uscita predefinita nelle regole firewall VPC, consentendo le connessioni in uscita.
Modalità di configurazione
Crea un criterio firewall contenente la regola:
gcloud compute firewall-policies create \ --organization=123456789012 \ --short-name="example-firewall-policy" \ --description="rules that apply to all VMs in the organization"
Aggiungi una regola per delegare le connessioni interne al proprietario del progetto:
gcloud compute firewall-policies rules create 1000 \ --action=goto_next \ --description="delegate-internal-traffic" \ --organization=123456789012 \ --firewall-policy="example-firewall-policy" \ --src-ip-ranges=10.0.0.0/8
Aggiungi una regola per delegare le regole di connessione esterna alle porte
80
/443
/22
al proprietario del progetto:gcloud compute firewall-policies rules create 2000 \ --action=goto_next \ --description="delegate-external-traffic-spec-ports" \ --src-ip-ranges=0.0.0.0/0 \ --layer4-configs=tcp:80,tcp:443,tcp:22 \ --organization=123456789012 \ --firewall-policy="example-firewall-policy"
Aggiungi una regola per negare tutte le altre connessioni esterne:
gcloud compute firewall-policies rules create 3000 \ --action=deny \ --description="block-other-external-traffic-spec-ports" \ --organization=123456789012 \ --firewall-policy="example-firewall-policy" \ --src-ip-ranges=0.0.0.0/0
Associa il criterio firewall all'organizzazione:
gcloud compute firewall-policies associations create \ --organization=123456789012 \ --firewall-policy="example-firewall-policy"
Nel progetto, aggiungi una regola firewall per consentire le connessioni interne dalla subnet designata:
gcloud compute firewall-rules create allow-internal-traffic \ --action=allow \ --priority=1000 \ --source-ranges=10.2.0.0/16
Nel progetto, aggiungi una regola firewall per consentire le connessioni TCP
80
/443
esterne:gcloud compute firewall-rules create allow-external-traffic \ --action=allow \ --priority=2000 \ --rules=tcp:80,tcp:443
Esempio 3: nega le connessioni in uscita, tranne quelle da una rete VPC specifica
In questo caso d'uso, l'amministratore della sicurezza dell'organizzazione non consente le connessioni in uscita in nessuna rete VPC, ad eccezione delle connessioni che hanno origine dalla rete VPC myvpc
. L'amministratore delegato la decisione di aprire l'uscita al server pubblico 203.0.113.1
all'amministratore della sicurezza myvpc
.
Questo esempio presuppone che non siano stati implementati criteri firewall a livello di cartella. La configurazione per questo caso d'uso è descritta nel seguente diagramma.
Norme vigenti applicate nelle VM
In questo esempio, il criterio firewall della VM efficace dopo la valutazione delle regole nella gerarchia è il seguente.
Connessioni in entrata
- Non esiste una corrispondenza tra le regole definite dalla gerarchia. Pertanto, viene applicata la regola di ingresso predefinita nelle regole firewall VPC, che nega le connessioni in entrata.
Connessioni in uscita
Tutte le connessioni in uscita destinate a
203.0.113.1
sono consentite; il resto delle connessioni viene negato. Tutte le connessioni in uscita destinate a203.0.113.1
corrispondono alla regoladelegate-egress-my-vpc
e ignorano il resto delle regole nel criterio dell'organizzazione.Le connessioni in uscita vengono quindi valutate in base alle regole del firewall configurate in
myvpc
. La regola predefinita consente le connessioni in uscita. La regolablock-egress-traffic-sepc-ports
nel criterio a livello di organizzazione nega il resto delle connessioni.
Modalità di configurazione
Crea un criterio firewall contenente la regola:
gcloud compute firewall-policies create \ --organization=123456789012 \ --short-name="example-firewall-policy" \ --description="rules that apply to all VMs in the organization"
Aggiungi una regola per delegare determinate connessioni in uscita:
gcloud compute firewall-policies rules create 1000 \ --action=goto_next \ --description="delegate-egress-myvpc" \ --dest-ip-ranges=203.0.113.1/32 --direction=egress --organization=123456789012 \ --short-name="example-firewall-policy" \ --target-resources=projects/PROJECT_ID/networks/myvpc
Aggiungi una regola per negare tutte le altre connessioni in uscita:
gcloud compute firewall-policies rules create 2000 \ --action=deny \ --description="block-egress-external-traffic-spec-ports" \ --direction=egress \ --dest-ip-ranges=0.0.0.0/0 \ --organization=123456789012 \ --short-name="example-firewall-policy"
Associa il criterio firewall all'organizzazione:
gcloud compute firewall-policies associations create \ --organization=123456789012 \ --short-name="example-firewall-policy"
Esempio 4: configura regole a livello di organizzazione e specifiche per cartella
In questo caso d'uso, un amministratore della sicurezza non consente le connessioni in entrata a nessuna VM dell'organizzazione, ad eccezione di quelle dell'intervallo aggiunto a una lista consentita: 203.0.113.0/24
. L'amministratore delega ulteriori decisioni su cosa fare con le connessioni da 203.0.113.0/24
agli amministratori della sicurezza a livello di cartella.
Esistono due cartelle diverse:
- Folder1, in cui il criterio consente le connessioni solo alle porte
80
e443
sulle VM di backend e le altre porte sono bloccate. - Folder2, in cui il criterio impone che nessuna VM in Cartella2 possa bloccare qualsiasi porta di destinazione per il traffico dall'indirizzo IP
203.0.113.1
. L'amministratore della sicurezza della cartella 2 delega altre decisioni all'amministratore della sicurezza della VPC, che decide di aprire le porte80
,443
e22
e di negare il resto delle porte.
La configurazione per questo caso d'uso è descritta nel seguente diagramma.
Norme vigenti applicate nelle VM
In questo esempio, il criterio firewall della VM efficace dopo la valutazione delle regole nella gerarchia è il seguente.
Per le VM appartenenti a my-vpc
Sono consentite tutte le connessioni in entrata da
203.0.113.0/24
con porte di destinazione TCP80
e443
. Eventuali altre connessioni in entrata vengono rifiutate.Tutte le connessioni in uscita sono accettate in base alla regola firewall VPC applicata perché non esiste una corrispondenza nelle regole dei criteri firewall di livello superiore.
Per le VM appartenenti a vpc2
Sono consentite tutte le connessioni in entrata da
203.0.113.1
. Le connessioni in entrata da altre origini203.0.113.0/24
diverse da203.0.113.1
sono consentite solo alle porte80
,443
e22
. Tutte le altre connessioni in entrata vengono rifiutate.Tutte le connessioni in uscita sono accettate in base alla regola firewall VPC applicata perché non esiste una corrispondenza nelle regole dei criteri firewall di livello superiore.
Modalità di configurazione
Crea un criterio firewall contenente le regole per Org_A:
gcloud compute firewall-policies create \ --organization=100000000000 \ --short-name="example-firewall-policy-org-a" \ --description="rules that apply to all VMs in the organization"
Aggiungi una regola per delegare l'ingresso da
203.0.113.0/24
al proprietario del progetto:gcloud compute firewall-policies rules create 1000 \ --action=goto_next \ --description="delegate-ingress" \ --organization=100000000000 \ --short-name="example-firewall-policy-org-a" \ --src-ip-ranges=203.0.113.0/24
Aggiungi una regola per negare tutte le altre connessioni esterne:
gcloud compute firewall-policies rules create 2000 \ --action=deny --description="block-ingress-external-traffic" --organization=100000000000 \ --short-name="example-firewall-policy-org-a" \ --src-ip-ranges=0.0.0.0/0
Associa il criterio firewall all'organizzazione:
gcloud compute firewall-policies associations create \ --organization=100000000000 \ --short-name="example-firewall-policy-org-a"
Crea un criterio firewall contenente le regole per la Cartella1:
gcloud compute firewall-policies create \ --organization=100000000000 \ --short-name="example-firewall-policy-folder1" \ --description="rules that apply to all VMs under Folder1"
Aggiungi una regola per consentire tutto l'ingresso HTTP(S):
gcloud compute firewall-policies rules create 1000 \ --action=allow \ --description="allow-http-s-ingress" \ --layer4-configs=tcp:80,tcp:443 \ --organization=100000000000 \ --short-name="example-firewall-policy-folder1"
Aggiungi una regola per negare l'accesso su tutte le altre porte o su tutti gli altri protocolli:
gcloud compute firewall-policies rules create 2000 \ --action=deny \ --description="block-ingress-external-traffic" \ --organization=100000000000 \ --short-name="example-firewall-policy-folder1" \ --src-ip-ranges=0.0.0.0/0
Associa il criterio firewall alla Cartella1:
gcloud compute firewall-policies associations create \ --organization=100000000000 \ --short-name="example-firewall-policy-folder1" \ --folder=200000000000
Crea un criterio firewall contenente le regole per la Cartella2:
gcloud compute firewall-policies create \ --organization=100000000000 \ --short-name="example-firewall-policy-folder2" \ --description="rules that apply to all VMs under Folder2"
Aggiungi una regola per consentire il traffico in entrata da
203.0.113.1
:gcloud compute firewall-policies rules create 1000 \ --action=allow \ --description="allow-vul-scan-ingress" \ --organization=100000000000 \ --short-name="example-firewall-policy-folder2" \ --src-ip-ranges=203.0.113.1/32
Associa il criterio firewall a Cartella2:
gcloud compute firewall-policies associations create \ --organization=100000000000 \ --short-name="example-firewall-policy-folder2" \ --folder=300000000000
Aggiungi una regola firewall per consentire l'ingresso delle connessioni HTTP(S):
gcloud compute firewall-rules create allow-internal-traffic \ --action=allow \ --rules=tcp:80,tcp:443,tcp:22
Passaggi successivi
- Per creare e modificare criteri e regole firewall gerarchici, consulta Utilizzare i criteri firewall gerarchici.