Configurazione delle scansioni personalizzate mediante Web Security Scanner

Pianifica ed esegui scansioni personalizzate su un'applicazione di cui è stato eseguito il deployment utilizzando Web Security Scanner nella console Google Cloud . Web Security Scanner supporta le scansioni per IP e URL pubblici che non sono protetti da un firewall.

Prima di iniziare

Per configurare le scansioni personalizzate utilizzando Web Security Scanner:

  • Devi avere un'applicazione di cui è stato eseguito il deployment su un URL o un IP pubblico. Web Security Scanner supporta solo i siti web che utilizzano IPv4. I siti web che utilizzano IPv6 non vengono analizzati.
  • Devi aver abilitato Security Command Center.

Prima di eseguire la scansione, esamina attentamente l'applicazione per verificare la presenza di funzionalità che potrebbero influire su dati, utenti o sistemi al di fuori dell'ambito scelto per la scansione.

Poiché Web Security Scanner compila i campi, preme i pulsanti, fa clic sui link e altre interazioni, devi utilizzarlo con cautela. Web Security Scanner potrebbe attivare funzionalità che modificano lo stato dei dati o del sistema, con risultati indesiderati. Ad esempio:

  • In un'applicazione di blog che consente commenti pubblici, Web Security Scanner potrebbe pubblicare stringhe di test come commenti su tutti gli articoli del blog.
  • In una pagina di registrazione via email, Web Security Scanner potrebbe generare un numero elevato di email di test.

Per suggerimenti su come ridurre al minimo i rischi, consulta le best practice per evitare conseguenze indesiderate.

Abilitare Web Security Scanner

Abilita Web Security Scanner in Security Command Center per creare ed eseguire scansioni personalizzate.

Se Security Command Center è attivo, puoi abilitare Web Security Scanner nella console Google Cloud nella pagina Impostazioni di Security Command Center.

Passaggio 1: esegui il deployment di un'applicazione di test

Per completare la configurazione di Web Security Scanner per le scansioni personalizzate, devi disporre dell'URL di un'applicazione Compute Engine, Google Kubernetes Engine (GKE) o App Engine già sottoposta a deployment. Se non hai un'applicazione di cui è stato eseguito il deployment o se vuoi provare Web Security Scanner con un'applicazione di test, esegui il deployment dell'applicazione App Engine di test. Utilizza la lingua che preferisci:

Passaggio 2: assegna i ruoli IAM

Per eseguire una scansione di Web Security Scanner, devi disporre di uno dei seguenti ruoli Identity and Access Management (IAM) per il progetto che vuoi analizzare:

  • Editor
  • Proprietario

Per aggiungere uno di questi ruoli:

  1. Vai alla pagina IAM e amministrazione nella Google Cloud console.

    Vai alla pagina IAM e amministrazione

  2. Fai clic sull'elenco a discesa del selettore progetti.

  3. Nella finestra di dialogo Seleziona da visualizzata, seleziona il progetto che vuoi analizzare utilizzando Web Security Scanner.

  4. Nella pagina IAM, fai clic su Modifica accanto al tuo nome utente.

  5. Nel riquadro Modifica autorizzazioni visualizzato, fai clic su Aggiungi un altro ruolo, quindi seleziona uno dei seguenti ruoli:

    • Progetto > Proprietario
    • Progetto > Editor
  6. Quando avrai finito di aggiungere ruoli, fai clic su Salva.

Scopri di più sui ruoli di Web Security Scanner.

Passaggio 3: esegui una scansione

Quando configuri una scansione, questa viene messa in coda per essere eseguita in un secondo momento. A seconda del carico attuale, potrebbero essere necessarie diverse ore prima dell'esecuzione di una scansione. Per creare, salvare ed eseguire una scansione:

  1. Vai alla pagina Web Security Scanner nella console Google Cloud .

    Vai a Web Security Scanner

  2. Seleziona il progetto che contiene l'applicazione di cui vuoi eseguire la scansione.

  3. Per configurare una nuova scansione, fai clic su Nuova scansione:

  4. Nella pagina Crea una nuova scansione che si carica, imposta i seguenti valori:

    1. In URL di partenza, inserisci l'URL dell'applicazione che vuoi scansionare.
    2. Nella sezione Programma, seleziona Settimanale.
    3. In Prossima esecuzione il giorno, seleziona una data.

    La casella Esporta in Security Command Center è selezionata automaticamente. Se hai attivato Web Security Scanner come origine di sicurezza di Security Command Center, i risultati della scansione vengono visualizzati nella pagina Risultati della console Google Cloud .

    Per questa prima scansione, utilizza la scansione predefinita senza modificare altri valori nella pagina Crea una nuova scansione. Per maggiori informazioni sulle impostazioni di scansione, vedi Scansione di un'app.

  5. Per creare la scansione, fai clic su Salva.

  6. Nella pagina Web Security Scanner, fai clic sul nome della scansione per caricare la pagina di panoramica, quindi fai clic su Esegui scansione.

    L'analisi verrà messa in coda e poi eseguita in un secondo momento. Potrebbero essere necessarie diverse ore prima che venga eseguita la scansione.

  7. Al termine della scansione, la pagina di panoramica della scansione mostra una sezione dei risultati. La seguente immagine mostra un esempio di risultati della scansione quando non vengono rilevate vulnerabilità:

    Se hai attivato Web Security Scanner come origine di sicurezza di Web Security Scanner, i risultati della scansione vengono visualizzati anche nella console Google Cloud .

    Per visualizzare i dettagli di un risultato specifico, fai clic sul nome del risultato nei risultati dell'analisi.

Ora hai completato una scansione di base di Web Security Scanner. Se hai eseguito la scansione della tua applicazione, scopri come personalizzarla nella sezione Eseguire la scansione di un'app di questa pagina.

Se hai eseguito il deployment di un'applicazione di test per eseguire la scansione, completa il seguente passaggio di pulizia in questa pagina per evitare di incorrere in addebiti di App Engine per l'applicazione.

Passaggio 4: pulizia

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Analizzare un'app

Configura una scansione personalizzata per la tua app utilizzando un account di prova.

Passaggio 1: crea un account di prova

Quando esegui la scansione dell'app, è consigliabile utilizzare un account di prova che non abbia accesso a dati sensibili o operazioni dannose. Crea un account di test che possa accedere alla tua app. Prendi nota delle credenziali di accesso da fornire per l'autenticazione durante la creazione di una scansione. Le credenziali ti consentono di utilizzare l'account di test per eseguire la scansione dei dati.

Passaggio 2: crea una scansione

  1. Vai alla pagina Web Security Scanner nella console Google Cloud .

    Vai a Web Security Scanner

  2. Fai clic su Seleziona e poi seleziona un progetto in cui è già stato eseguito il deployment di un'applicazione App Engine, Compute Engine o GKE.

  3. Per visualizzare il nuovo modulo di scansione, fai clic su Crea scansione o Nuova scansione.

  4. Per aggiungere valori al nuovo modulo di scansione, utilizza la seguente tabella come guida:

    Campo Descrizione
    URL di avvio

    Un sito di base in genere richiede un solo URL iniziale, ad esempio la home page, la pagina principale o la pagina di destinazione del sito, da cui Web Security Scanner può trovare tutte le altre pagine del sito. Tuttavia, Web Security Scanner potrebbe non trovare tutte le pagine se un sito presenta:

    • Molte pagine
    • Isole di pagine non collegate
    • Navigazione che richiede JavaScript complessi, ad esempio un menu multilivello basato sul passaggio del mouse

    In questi casi, specifica più URL di avvio per aumentare la copertura della scansione.

    URL esclusi Per ridurre la complessità, le esclusioni vengono definite utilizzando un proto-linguaggio semplificato che utilizza uno o più caratteri jolly *, anziché richiedere un'espressione regolare valida. Per dettagli ed esempi di pattern validi, vedi Esclusione di URL più avanti in questa pagina.
    Autenticazione > Account Google

    Puoi creare un account di prova in Gmail e poi utilizzarlo per scansionare il tuo prodotto. Se sei un cliente Google Workspace, puoi creare account di test all'interno del tuo dominio, ad esempio [email protected]. In Web Security Scanner, questi account funzionano come gli account Gmail. L'autenticazione a due fattori non è supportata.

    Google applica norme relative ai nomi reali sugli Account Google. Se il nome sul tuo account di test non sembra reale, l'account potrebbe essere bloccato.

    Autenticazione > Identity-Aware Proxy alpha

    Per proteggere le risorse con Identity-Aware Proxy, consulta la guida IAP.

    Per utilizzare Web Security Scanner con una risorsa protetta da IAP, concedi prima l'accesso al service account di Web Security Scanner:

    1. Vai alla pagina IAP nella console Google Cloud .
    2. Seleziona il progetto che vuoi utilizzare con Web Security Scanner.
    3. Seleziona la risorsa dell'applicazione da scansionare, quindi fai clic su Aggiungi entità nel riquadro Informazioni.
    4. Nella casella Nuove entità del riquadro Aggiungi entità, inserisci l'account di servizio Web Security Scanner nel formato service-project-number@gcp-sa-websecurityscanner.iam.gserviceaccount.com.
    5. Nell'elenco a discesa Seleziona un ruolo, seleziona Cloud IAP > Utente applicazione web con protezione IAP.
    6. Quando avrai finito di aggiungere ruoli, fai clic su Salva.

    Successivamente, aggiungi l'ID client OAuth alla scansione. Web Security Scanner può eseguire la scansione solo delle applicazioni protette da un singolo ID client OAuth. Per aggiungere l'ID client OAuth:

    1. Vai alla pagina IAP nella console Google Cloud .
    2. Seleziona il progetto che vuoi utilizzare con Web Security Scanner.
    3. Nel menu extra, seleziona Modifica client OAuth.
    4. Nella finestra ID client per l'applicazione web visualizzata, copia l'ID client.
    5. Vai alla pagina Web Security Scanner nella console Google Cloud .
    6. In Autenticazione, seleziona Identity-Aware Proxy alpha.
    7. Nella casella ID client OAuth2, incolla l'ID client OAuth che hai copiato, quindi fai clic su Salva.
    Autenticazione > Account non Google

    Seleziona questa opzione se hai creato un sistema di autenticazione personalizzato e non utilizzi i servizi dell'Account Google. Specifica l'URL del modulo di accesso, il nome utente e la password. Queste credenziali vengono utilizzate per accedere alla tua applicazione ed eseguirne la scansione.

    Web Security Scanner tenta di utilizzare l'euristica per accedere alla tua applicazione ed eseguirne la scansione. Nello specifico, questo metodo cerca un modulo di accesso a due campi che includa un campo username e un campo password. L'azione di accesso deve generare un cookie di autenticazione per consentire allo scanner di continuare la scansione.

    I problemi comuni che possono causare l'errore di accesso personalizzato includono:

    • Utilizzo di campi del modulo HTML non standard, ad esempio non utilizzo di un tipo password.
    • Utilizzo di un modulo di accesso complesso, ad esempio un modulo con più di un campo username e password.
    • Non salvare un cookie di autenticazione in caso di accesso riuscito.
    • In alcune situazioni, lo scanner viene negato da contromisure che hanno lo scopo di proteggere da bot, attacchi DDoS e altri attacchi.

    Consigliamo di utilizzare l'integrazione di Identity-Aware Proxy per un'esperienza più coerente con la scansione autenticata delle applicazioni.

    Pianificazione Puoi impostare l'esecuzione della scansione ogni giorno, ogni settimana, ogni due settimane o ogni quattro settimane. È consigliabile creare una scansione pianificata per assicurarsi che le versioni future dell'applicazione vengano testate. Inoltre, poiché rilasciamo occasionalmente nuovi scanner che rilevano nuovi tipi di bug, l'esecuzione di una scansione pianificata offre una copertura maggiore senza intervento manuale.
    Esegui scansioni da un set predefinito di IP di origine (anteprima) Seleziona questa opzione per limitare il traffico di scansione a un insieme predefinito di indirizzi IP. In questo modo puoi consentire allo scanner di accedere alle applicazioni dietro un firewall, ma l'ambito della scansione può risultare limitato. Per modificare le regole firewall per consentire il traffico di Web Security Scanner, consulta la sezione Configurazione del firewall più avanti in questa pagina.
    Opzioni di esportazione Seleziona questa opzione per esportare automaticamente le configurazioni e i risultati delle scansioni in Security Command Center.
    Ignora gli errori di stato HTTP Questa opzione controlla se un numero elevato di errori di stato HTTP, ad esempio **400 Bad Request**, durante una scansione causerà la segnalazione della scansione come non riuscita. Se l'opzione è selezionata, gli errori di stato vengono ignorati. Se l'opzione non è selezionata e la percentuale di errori di stato supera una soglia predeterminata, la scansione viene segnalata come non riuscita.
  5. Al termine dell'aggiunta dei valori, fai clic su Salva. Ora puoi eseguire la nuova scansione.

Per impostazione predefinita, Web Security Scanner utilizza indirizzi IP assegnati in modo casuale durante ogni esecuzione. Per rendere prevedibili gli indirizzi IP di Web Security Scanner, completa i passaggi per abilitare le scansioni da IP statici più avanti in questa pagina.

Passaggio 3: esecuzione di una scansione

Per eseguire una scansione:

  1. Accedi all'account di test che hai utilizzato per creare la scansione.
  2. Vai alla pagina Web Security Scanner nella console Google Cloud .

    Vai a Web Security Scanner

  3. Fai clic su Seleziona e poi seleziona il progetto in cui hai creato la scansione.

  4. In Configurazioni di scansione, fai clic sul nome della scansione che vuoi eseguire.

  5. Nella pagina dei dettagli della scansione, fai clic su Esegui.

La scansione viene inserita in una coda e potrebbe essere eseguita in ritardo. L'esecuzione può richiedere diversi minuti o molte ore, a seconda del carico del sistema e di funzionalità come:

  • Complessità del sito
  • Numero di elementi interattivi per pagina
  • Numero di link
  • La quantità di JavaScript sul sito, inclusa la navigazione

Puoi configurare ed eseguire fino a 10 scansioni diverse prima di dover eliminare o pulire i risultati salvati in precedenza.

Visualizzare i risultati dell'analisi personalizzata

Lo stato e i risultati di una scansione personalizzata vengono visualizzati nella pagina dei dettagli della scansione nella console Google Cloud . Per visualizzare i risultati della scansione:

  1. Accedi all'account di test che hai utilizzato per creare la scansione.
  2. Vai alla pagina Web Security Scanner nella console Google Cloud .

    Vai a Web Security Scanner

  3. Fai clic su Seleziona, quindi seleziona il progetto che contiene la scansione che vuoi esaminare.

  4. In Configurazioni di scansione, fai clic sul nome della scansione che vuoi esaminare.

Viene caricata la pagina dei dettagli della scansione e vengono visualizzati i risultati dell'ultima scansione. Se una scansione è in corso, la scheda Risultati mostra la percentuale di completamento attuale. Per visualizzare i risultati delle scansioni precedenti, seleziona la data e l'ora della scansione dall'elenco a discesa.

I dettagli delle scansioni personalizzate completate includono:

  • La scheda Risultati mostra un elenco delle vulnerabilità rilevate dalla scansione, se presenti.
  • La scheda URL sottoposti a scansione mostra un elenco degli URL controllati dalla scansione.
  • La scheda Dettagli include:

    • URL di avvio
    • Autenticazione
    • User agent
    • Velocità di scansione massima in query al secondo (QPS)

Puoi trovare ulteriori informazioni sulla scansione nella pagina dei log del progetto.

Modificare una scansione personalizzata

Per modificare una scansione personalizzata:

  1. Accedi all'account di test che hai utilizzato per creare la scansione.
  2. Vai alla pagina Web Security Scanner nella console Google Cloud .

    Vai a Web Security Scanner

  3. Fai clic su Seleziona, poi seleziona il progetto che contiene la scansione da modificare.

  4. In Configurazioni di scansione, fai clic sul nome della scansione che vuoi modificare.

  5. Nella pagina dei dettagli della scansione visualizzata, fai clic su Modifica.

  6. Nella pagina Modifica [nome scansione] visualizzata, apporta le modifiche che vuoi e poi fai clic su Salva.

L'analisi personalizzata modificata viene eseguita alla successiva pianificazione oppure puoi eseguirla manualmente per ottenere risultati aggiornati.

Eliminazione di una scansione personalizzata

Per eliminare una o più scansioni personalizzate:

  1. Accedi all'account di test che hai utilizzato per creare la scansione.
  2. Vai alla pagina Web Security Scanner nella console Google Cloud .

    Vai a Web Security Scanner

  3. Fai clic su Seleziona, poi seleziona il progetto che contiene la scansione da modificare.

  4. In Configurazioni scansione, seleziona la casella di controllo accanto a una o più scansioni che vuoi eliminare.

  5. Fai clic su Elimina e poi su Ok.

Tutte le scansioni selezionate vengono eliminate.

Configurazione di una scansione da IP statici

Questa sezione descrive come attivare le scansioni personalizzate di Web Security Scanner da indirizzi IP statici. Quando abiliti questa funzionalità, Web Security Scanner utilizza indirizzi IP prevedibili per analizzare le tue applicazioni pubbliche Compute Engine e Google Kubernetes Engine. Questa funzionalità è in anteprima e gli indirizzi IP di Web Security Scanner potrebbero cambiare in una versione futura.

Prima di iniziare

Per utilizzare la funzionalità di scansioni personalizzate di Web Security Scanner da IP statici, devi:

  • Un'applicazione Compute Engine o GKE pubblica. Questa funzionalità non supporta le applicazioni App Engine.
  • Una scansione creata senza autenticazione o con l'autenticazione dell'Account Google. Questa funzionalità non supporta le scansioni che utilizzano l'autenticazione di account non Google.

Passaggio 1: configura il firewall

  1. Vai alla pagina Regole firewall nella console Google Cloud .

    Vai a Regole firewall

  2. Fai clic su Seleziona, quindi seleziona il tuo progetto.

  3. Nella pagina Regole firewall visualizzata, fai clic su Crea regola firewall.

  4. Nella pagina Crea una regola firewall, imposta i seguenti valori:

    1. Name (Nome): inserisci web-security-scanner o un nome simile.
    2. Priorità: seleziona una priorità più alta (valore numerico inferiore) rispetto a tutte le regole che negano il traffico in uscita alla tua applicazione.
    3. Intervalli IP di origine: inserisci 34.66.18.0/26 e 34.66.114.64/26.
    4. Protocolli e porte: seleziona Consenti tutto o specifica i protocolli e le porte per la tua applicazione. In genere, puoi selezionare la casella di controllo tcp e poi inserire 80 e 443 per le porte.
  5. Al termine dell'impostazione dei valori, fai clic su Crea.

Passaggio 2: configura la scansione

Dopo aver configurato il firewall in modo da consentire gli indirizzi IP prevedibili di Web Security Scanner, configura la scansione in modo che utilizzi gli IP predefiniti:

  1. Vai alla pagina Web Security Scanner nella console Google Cloud .

    Vai a Web Security Scanner

  2. Fai clic su Seleziona, quindi seleziona il tuo progetto.

  3. Crea una nuova scansione o modificane una esistente.

  4. Seleziona la casella di controllo Esegui scansioni da un set predefinito di IP di origine.

  5. Salva la scansione.

La volta successiva che viene eseguita la scansione, verranno analizzate le applicazioni Compute Engine e GKE pubbliche che si trovano dietro il firewall.

Esclusione degli URL

Puoi specificare fino a 100 pattern URL esclusi per evitare di testare sezioni di un sito durante una scansione personalizzata. Web Security Scanner non richiede risorse che corrispondono a una delle esclusioni. Le sezioni seguenti descrivono la corrispondenza dei pattern utilizzata da Web Security Scanner.

Corrispondenza dei pattern URL

La corrispondenza degli URL esclusi si basa su un insieme di URL definiti da pattern di corrispondenza. Un pattern di corrispondenza è un URL con cinque segmenti:

  • scheme: ad esempio, http o *
  • host: ad esempio, www.google.com o *.google.com o *
  • path: ad esempio, /*, /foo* o /foo/bar. *
  • query: ad esempio, ?*, ?*foo=bar*
  • fragment: ad esempio, #*, #access

Di seguito è riportata la sintassi di base:

<exclude-pattern> := <scheme>://<host><path><query><fragment> <scheme> := '*' | 'http' | 'https' <host> := '*' | '*.' <any char except '/' and '*'>+ <path> := '/' <any chars except '?' or '#'> <query> := '?' <any chars except '#'> <fragment> := '#' <any chars> 

Il * in ogni parte ha la seguente funzione:

  • scheme: * corrisponde a HTTP o HTTPS.
  • host:

    • * corrisponde a qualsiasi host
    • *.hostname corrisponde all'host specificato e a uno qualsiasi dei suoi sottodomini.
  • path: * corrisponde a 0 o più caratteri.

Tutti i segmenti non sono obbligatori in un pattern escluso.

  • Se il segmento scheme non è specificato, il valore predefinito è *://.
  • Il segmento host deve essere sempre specificato.
  • Se il segmento path non è specificato, il valore predefinito è:

    • /*, se non vengono specificati i segmenti query e fragment. Questo valore corrisponde a qualsiasi path o a nessun path.
    • / o un path vuoto, se è specificato il segmento query o fragment.
  • Se il segmento query non è specificato, il valore predefinito è:

    • ?*, se il segmento fragment non è specificato. Questo valore corrisponde a qualsiasi query o a nessun query.
    • ? o un query vuoto, se è specificato fragment.
  • Se il segmento fragment non è specificato, il valore predefinito è #*, che corrisponde a qualsiasi fragment o a nessun fragment.

Corrispondenze di pattern valide

La seguente tabella fornisce esempi di pattern validi:

Pattern Comportamento URL con corrispondenza di esempio
http://*/* Corrisponde a qualsiasi URL che utilizza lo schema HTTP.

http://www.google.com/

http://example.org/foo/bar.html

http://*/foo* Corrisponde a qualsiasi URL che utilizza lo schema HTTP, su qualsiasi host, se il percorso inizia con /foo.

http://example.com/foo/bar.html

http://www.google.com/foo

https://*.google.com/foo*bar Corrisponde a qualsiasi URL che utilizza lo schema HTTPS e si trova su un host google.com, ad esempio www.google.com, docs.google.com o google.com, se il percorso inizia con /foo e termina con bar.

http://www.google.com/foo/baz/bar

http://docs.google.com/foobar

http://example.org/foo/bar.html Corrisponde all'URL specificato. http://example.org/foo/bar.html
http://127.0.0.1/* Corrisponde a qualsiasi URL che utilizza lo schema HTTP e si trova sull'host 127.0.0.1.

http://127.0.0.1/

http://127.0.0.1/foo/bar.html

*://mail.google.com/* Corrisponde a qualsiasi URL che inizia con http://mail.google.com o https://mail.google.com.

http://mail.google.com/foo/baz/bar

https://mail.google.com/foobar

*://*/foo*?*bar=baz* Corrisponde a qualsiasi URL in cui il percorso inizia con /foo e ha il parametro di query bar=baz. https://www.google.com/foo/example?bar=baz
google.com/app#*open* Corrisponde a qualsiasi URL con un host google.com in cui il percorso inizia con /app e ha il frammento open. https://www.google.com/app/example#open

Corrispondenze di pattern non valide

La seguente tabella fornisce esempi di pattern non validi:

Pattern Motivo
http://www.google.com L'URL non include un percorso.
http://*foo/bar * nell'host deve essere seguito da . o /.
http://foo.*.bar/baz Se * è presente nell'host, deve essere il primo carattere.
http:/bar Il separatore dello schema dell'URL non è formato correttamente. "/" deve essere "//".
foo://* Lo schema dell'URL non è valido.

Passaggi successivi