Creazione delle regole firewall di App Engine

In App Engine, puoi creare un firewall con un massimo di 1000 priorità singole regole che consentono o limitano un intervallo di indirizzi IP, subnet. La tua app risponderà soltanto alle richieste consentite firewall.

Per scoprire come funziona il firewall di App Engine, vedi Informazioni sui firewall.

Prima di iniziare

Prima di poter creare regole firewall di App Engine per la tua app, devi disporre di uno dei seguenti servizi IAM di App Engine ruoli, che includi i privilegi necessari per creare o modificare le regole firewall:

  • App Engine Admin
  • Editor
  • Proprietario

Creazione delle regole firewall in corso...

Utilizza uno dei seguenti metodi per creare una regola firewall. Ripeti per ogni regola aggiuntiva:

Console

Utilizza la pagina Regole firewall nella console Google Cloud per creare un regola firewall:

  1. Vai alla pagina Crea una regola firewall nella console Google Cloud:

    Vai alla pagina Crea una regola firewall

  2. Specifica i dettagli della regola firewall:

    1. In Priority (Priorità), inserisci un numero intero per specificare il relativo l'importanza della regola e definirne l'ordine viene valutato.

      I valori validi sono da 1 a 2147483646. La priorità 1 è la prima regola valutata. Priorità 2147483647 è l'ultima regola valutata ed è riservati per la regola "default".

    2. In Azione in caso di corrispondenza, specifica se consentire o negare l'accesso per le richieste che soddisfano la regola. Regole impostate su allow inoltra la richiesta all'app. Regole impostate su deny rispondono alle richieste con un Errore 403 Forbidden.
    3. In Intervallo IP, definisci l'intervallo di indirizzi IP applicabili alla regola. L'intervallo di indirizzi IP deve essere definito con la notazione CIDR e può includere subnet mask, e supportare sia IPv4 che IPv6.
    4. (Facoltativo) In Descrizione, includi una descrizione della regola che non superi i 100 caratteri.
  3. Fai clic su Salva per creare la regola.
  4. Testa la regola per assicurarti che la priorità e l'azione forniscano comportamento previsto:
    1. Fai clic su Verifica indirizzo IP.
    2. Inserisci l'indirizzo IP che vuoi convalidare e poi fai clic su Esegui test per assicurarti che la regola corrispondente venga valutata in modo corretto.
.
.
gcloud

Esegui questi comandi gcloud app firewall-rules per creare una regola firewall:

  1. Esegui questo comando per creare una regola firewall:

    gcloud app firewall-rules create PRIORITY --action ALLOW_OR_DENY --source-range IP_RANGE --description DESCRIPTION
    dove:
    • PRIORITY è un numero intero compreso tra 1 e 2147483646 che definisce l'importanza della regola e l'ordine in cui viene valutata la regola. Priorità 1 è la prima regola valutata. La priorità 2147483647 è l'ultima regola valutata ed è riservata alla regola "default".
    • ALLOW_OR_DENY specifica se consentire o negare l'accesso per le richieste che soddisfano la regola. I valori validi sono allow o deny. Regole impostate su allow inoltra la richiesta all'app. Regole impostate su deny per rispondere con un errore 403 Forbidden.
    • IP_RANGE definisce l'intervallo di indirizzi IP applicabili alla regola. L'intervallo IP deve essere definito con la notazione CIDR, può includere subnet mask e supportare sia IPv4 che IPv6.
    • DESCRIPTION è una descrizione facoltativa della regola che non deve superare i 100 caratteri.
  2. Esegui questo comando per testare la regola e assicurarti che la priorità e l'azione forniscono il comportamento previsto:
    gcloud app firewall-rules test-ip IP_ADDRESS
    dove IP_ADDRESS è l'indirizzo IP che vuoi testare contro il firewall.
  3. Esegui questo comando per visualizzare un elenco delle regole esistenti:
    gcloud app firewall-rules list
  4. Esegui questo comando per eliminare una regola esistente:
    gcloud app firewall-rules delete PRIORITY
    dove PRIORITY è il valore di priorità della regola che vuoi eliminare.
Esempi:
Utilizza i seguenti esempi per creare il firewall:
  • Aggiungere una regola che consenta un indirizzo IPv6 e una subnet mask, quindi testala per assicurarti che venga valutata prima delle altre regole:

    gcloud app firewall-rules create 123 --source-range fe80::3636:3bff:fecc:8778/128 --action allow
    gcloud app firewall-rules test-ip fe80::3636:3bff:fecc:8778
  • Aggiungere una regola per negare un indirizzo IPv4 e una subnet mask, quindi verificala per assicurarti che venga valutata correttamente:

    gcloud app firewall-rules create 123456 --source-range "74.125.0.0/16" --action deny
    gcloud app firewall-rules test-ip 74.125.0.8
  • Aggiorna e poi testa la regola predefinita per assicurarti che limita tutti gli indirizzi IP che non corrispondono a nessun'altra regola:

    gcloud app firewall-rules update default --action deny
    gcloud app firewall-rules test-ip 123.456.7.89
.
API

Per creare in modo programmatico regole firewall per App Engine puoi utilizzare l'app apps.firewall.ingressRules nella l'API Admin.

Per testare una regola firewall e garantire che la priorità e l'azione il comportamento previsto, puoi utilizzare apps.firewall.ingressRules.list e specificare l'indirizzo IP che vuoi testare all'interno matchingAddress.

Informazioni sulle regole firewall di App Engine

Un firewall App Engine è costituito da un elenco ordinato di regole che possono consentire o negare alla tua app l'accesso dall'indirizzo o dall'intervallo IP specificati. La si applica a tutte le risorse dell'applicazione App Engine.

Priorità delle regole firewall

Le regole firewall sono ordinate per importanza, che definisci come un numero valore nella priorità di ciascuna regola. Devi specificare un valore di priorità univoco per ogni regola in quanto definisce l'importanza rispetto alle altre regole del firewall. I valori della scala di priorità di una regola a partire dal valore più importante di 1 fino al valore meno importante (2147483647).

Ogni firewall include una regola default creata automaticamente con 2147483647 e si applica all'intero intervallo IP della tua app. La regola default viene sempre valutata dopo tutte le altre regole nel firewall e applicate a tutte le richieste in tutti gli indirizzi IP.

Il firewall valuta per prima la regola con priorità più alta. Tutte le altre regole nel firewall vengono valutate in sequenza fino a quando corrisponda all'intervallo IP della richiesta. Quando viene trovata una regola di corrispondenza, il valore connessione sia consentita o negata e tutte le altre regole del vengono ignorati. Se nessuna delle regole definite manualmente nel firewall corrispondono alla richiesta, viene valutata la regola default.

Ad esempio, se crei una regola con priorità 1, questa viene sempre valutata per prima cosa. Se una richiesta in arrivo corrisponde alla regola con priorità 1, solo quella viene valutata e tutte le altre regole nel firewall vengono ignorate, incluse la regola default.

Il firewall di esempio riportato di seguito mostra il modo in cui la priorità può cambiare il comportamento del firewall.

Firewall di esempio

In questo esempio, un’azienda ha configurato un firewall per concedere l’accesso team di tecnici e rete aziendale interna all'app in fase di sviluppo. La Le regole firewall sono state create con ampi spazi vuoti tra ogni priorità per consentire per favorire la crescita.

Priorità Azione Intervallo IP Descrizione
1000 Rifiuta 192.0.2.1 Nega l'accesso a un utente malintenzionato DoS.
2000 Consenti 198.51.100.2 Consente di accedere a un ingegnere nell'ufficio satellitare.
3000 Rifiuta 198.51.100.0/24 Nega l'accesso a tutti gli edifici non progettati per l'ingegneria.
5000 Consenti 203.0.113.0/24 Consente di accedere alla rete dell'edificio principale.
2147483647 Rifiuta * Azione predefinita

Dopo la creazione del firewall, supponiamo che le seguenti richieste vengano indirizzate all'app di esempio e annota la risposta dell'app:

  • La richiesta da 198.51.100.2 corrisponde alla regola con priorità 2000 ed è consentita.
  • La richiesta da 198.51.100.100 corrisponde alla regola con priorità 3000 e viene rifiutata.
  • La richiesta da 203.0.113.54 corrisponde alla regola con priorità 5000 ed è consentita.
  • La richiesta da 45.123.35.242 corrisponde alla regola predefinita e viene rifiutata.

Risoluzione di regole in conflitto

Ad esempio, supponiamo che due delle priorità del firewall dell'azienda siano scambiato. Se le regole per le priorità 2000 e 3000 vengono scambiate, il comportamento involontario.

Priorità Azione Intervallo IP Descrizione
1000 Rifiuta 192.0.2.1 Nega l'accesso a un utente malintenzionato DoS.
2000 Nega 198.51.100.0/24 Nega l'accesso a tutti gli edifici non progettati per l'ingegneria.
3000 Consenti 198.51.100.2 Consente l'accesso a un ingegnere nell'ufficio satellitare.
5000 Consenti 203.0.113.0/24 Consente di accedere alla rete dell'edificio principale.
2147483647 Rifiuta * Azione predefinita

L'ingegnere dell'ufficio satellite non potrà accedere ai come nuova priorità della regola, significa che non verrà mai valutata. L'ingegnere L'indirizzo IP 198.51.100.2 corrisponde alla regola che nega tutti gli utenti che non sono ingegneri nel 198.51.100.0/24 prima della regola che consente l'accesso Indirizzo IP.

Per risolvere il problema, devi impostare la priorità della regola che consente l'accesso a Il valore di 198.51.100.2 deve essere superiore alla regola che nega l'accesso per l'intervallo IP 198.51.100.0/24.

Passaggi successivi

Per assicurarti di aver configurato in modo sicuro l'app e di impostare le opzioni appropriate i livelli di accesso, rivedere Sicurezza delle applicazioni così come Controllo degli accessi.