Panoramica sulla sicurezza delle app

ID regione

REGION_ID è un codice abbreviato che Google assegna in base alla regione selezionata quando crei l'app. Il codice non corrisponde a un paese o a una provincia, anche se alcuni ID regione potrebbero sembrare simili ai codici di paesi e province di uso comune. Per le app create dopo febbraio 2020, REGION_ID.r è incluso negli URL di App Engine. Per le app esistenti create prima di questa data, l'ID regione è facoltativo nell'URL.

Scopri di più sugli ID regione.

La sicurezza è una funzionalità principale di Google Cloud, ma ci sono comunque dei passaggi che devi seguire per proteggere la tua app App Engine e identificare le vulnerabilità.

Utilizza le seguenti funzionalità per assicurarti che la tua app App Engine sia sicura. Per scoprire di più sul modello di sicurezza di Google e sui passaggi disponibili che puoi eseguire per proteggere i tuoi progetti Google Cloud , consulta Google Cloud Sicurezza.

Richieste HTTPS

Utilizza le richieste HTTPS per accedere in modo sicuro alla tua app App Engine. A seconda di come è configurata l'app, hai le seguenti opzioni:

Domini appspot.com
  • Utilizza il prefisso URL https per inviare una richiesta HTTPS al servizio default del tuo progetto Google Cloud , ad esempio:
    https://PROJECT_ID.REGION_ID.r.appspot.com
  • Per scegliere come target risorse specifiche nella tua app App Engine, utilizza la sintassi -dot- per separare ogni risorsa che vuoi scegliere come target, ad esempio:
    https://VERSION-dot-SERVICE-dot-PROJECT_ID.REGION_ID.r.appspot.com

  • Per convertire un URL HTTP in un URL HTTPS, sostituisci i punti tra ogni risorsa con -dot-, ad esempio:
    http://SERVICE_ID.PROJECT_ID.REGION_ID.r.appspot.com
    https://SERVICE_ID-dot-PROJECT_ID.REGION_ID.r.appspot.com

Per saperne di più sugli URL HTTPS e sulle risorse di targeting, consulta Come vengono instradate le richieste.

Domini personalizzati

Per inviare richieste HTTPS con il tuo dominio personalizzato, puoi utilizzare i certificati SSL gestiti di cui App Engine esegue il provisioning. Per saperne di più, consulta Protezione dei domini personalizzati con SSL.

Controllo degli accessi

In ogni progetto Google Cloud , configura controllo dell'accesso per determinare chi può accedere ai servizi all'interno del progetto, incluso App Engine. Puoi assegnare ruoli diversi ad account diversi per assicurarti che ogni account abbia solo le autorizzazioni necessarie per supportare la tua app. Per maggiori dettagli, consulta Configurazione del controllo degli accessi.

Firewall di App Engine

Il firewall di App Engine ti consente di controllare l'accesso alla tua app App Engine tramite un insieme di regole che possono consentire o negare le richieste provenienti dagli intervalli di indirizzi IP specificati. Non ti viene addebitato alcun costo per il traffico o la larghezza di banda bloccati dal firewall. Crea un firewall per:

Consenti solo il traffico proveniente da una rete specifica
Assicurati che solo un determinato intervallo di indirizzi IP di reti specifiche possa accedere alla tua app. Ad esempio, crea regole per consentire solo l'intervallo di indirizzi IP all'interno della rete privata della tua azienda durante la fase di test dell'app. Puoi quindi creare e modificare le regole del firewall per controllare l'ambito di accesso durante il processo di rilascio, consentendo solo a determinate organizzazioni, interne o esterne alla tua azienda, di accedere alla tua app mentre si avvicina alla disponibilità pubblica.
Consenti solo il traffico proveniente da un servizio specifico
Assicurati che tutto il traffico verso la tua app App Engine venga prima inviato tramite proxy tramite un servizio specifico. Ad esempio, se utilizzi un web application firewall (WAF) di terze parti per inviare richieste proxy alla tua app, puoi creare regole firewall per negare tutte le richieste, ad eccezione di quelle inoltrate dal tuo WAF.
Blocca gli indirizzi IP illeciti
Sebbene Google Cloud disponga di molti meccanismi per prevenire gli attacchi, puoi utilizzare il firewall di App Engine per bloccare il traffico verso la tua app da indirizzi IP che presentano intenzioni dannose o per proteggere la tua app da attacchi denial of service e forme simili di abuso. Puoi aggiungere indirizzi IP o subnet a una lista bloccata, in modo che le richieste instradate da questi indirizzi e subnet vengano rifiutate prima di raggiungere la tua app App Engine.

Per maggiori dettagli sulla creazione di regole e sulla configurazione del firewall, consulta Controllo dell'accesso alle app con i firewall.

Controlli in entrata

Puoi utilizzare i controlli in entrata per limitare il traffico in entrata verso la tua app App Engine. Per impostazione predefinita, l'app App Engine accetta il traffico da tutte le origini di rete. Per modificare le impostazioni predefinite e modificare e visualizzare le impostazioni disponibili, consulta Specifica le impostazioni di traffico in entrata.

Controlli del traffico in uscita

Per impostazione predefinita, le istanze dell'ambiente flessibile ricevono un indirizzo IP esterno temporaneo per inviare richieste in uscita alle risorse su internet. Per impedire alle istanze di utilizzare indirizzi IP esterni temporanei predefiniti, imposta instance_ip_mode: internal nel file app.yaml e instrada il traffico internet in uscita tramite Cloud NAT con indirizzi IP statici prenotati. Per i passaggi di configurazione, consulta Invia richieste esterne senza un indirizzo IP esterno.

Rischi del traffico in uscita verso internet condiviso e norme di utilizzo accettabile

Per impostazione predefinita, il traffico in uscita verso la rete internet pubblica utilizza indirizzi IP esterni temporanei di un pool Google Cloud condiviso. Tieni presente i seguenti rischi e responsabilità:

  • Il traffico precedente o rumoroso sul pool di indirizzi IP condivisi può compromettere la reputazione degli indirizzi IP esterni temporanei. I firewall esterni e i web application firewall (WAF) di terze parti potrebbero limitare o bloccare le richieste provenienti da questi indirizzi IP, causando timeout della connessione o errori HTTP 403.

  • Non utilizzare indirizzi IP esterni temporanei predefiniti per endpoint esterni sensibili alla reputazione, come gateway di pagamento, database ospitati o API partner dietro WAF. Imposta invece instance_ip_mode: internal e utilizza Cloud NAT con indirizzi IP esterni statici dedicati, come descritto in Invia richieste esterne senza un indirizzo IP esterno.

  • Non eseguire scansioni di rete, enumerazione delle porte, fingerprinting degli host, probing delle vulnerabilità, web scraping o test di carico su indirizzi IP esterni temporanei predefiniti. L'attività di scansione non isolata peggiora la reputazione dell'IP, può interrompere il servizio per altri clienti in violazione delle Google Cloud Norme di utilizzo accettabile e potrebbe indurre Google a limitare o sospendere il tuo workload.

  • Se esegui workload di scansione di sicurezza autorizzata, fingerprinting dell'host o test di carico, devi isolare il traffico in uscita. Configura le istanze con instance_ip_mode: internal e instrada le richieste in uscita tramite Cloud NAT utilizzando i tuoi indirizzi IP esterni statici.

  • Security Scanner

    Web Security Scanner di Google Cloud rileva le vulnerabilità eseguendo la scansione della tua app App Engine, seguendo tutti i link nell'ambito degli URL di partenza e tentando di esercitare il maggior numero possibile di input utente e gestori di eventi.

    Per utilizzare lo scanner di sicurezza, devi essere il proprietario del progettoGoogle Cloud . Per saperne di più sull'assegnazione dei ruoli, consulta Configurazione del controllo dell'accesso.

    Puoi eseguire scansioni di sicurezza dalla console Google Cloud per identificare le vulnerabilità di sicurezza nella tua app App Engine. Per informazioni dettagliate sull'esecuzione di Security Scanner, consulta Utilizzo di Web Security Scanner.

    Controlli di servizio VPC

    Non supportato nell'ambiente flessibile di App Engine.