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 la scansione di URL e IP pubblici che non sono protetti da un firewall.

Prima di iniziare

Per configurare scansioni personalizzate utilizzando Web Security Scanner:

  • Devi avere un'applicazione di cui hai eseguito il deployment su un IP o un URL pubblico.
  • Security Command Center deve essere abilitato.

Prima di eseguire la scansione, verifica attentamente l'applicazione per rilevare eventuali funzionalità che potrebbero influire su dati, utenti o sistemi oltre l'ambito previsto della scansione.

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

  • In un'applicazione di blog che consente i commenti pubblici, Web Security Scanner potrebbe pubblicare stringhe di test come commenti a 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.

Abilita Web Security Scanner

Abilita Web Security Scanner in Security Command Center per creare ed eseguire analisi 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 avere l'URL di un'applicazione Compute Engine, Google Kubernetes Engine (GKE) o App Engine di cui è già stato eseguito il deployment. Se non hai eseguito il deployment di un'applicazione 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 IAM (Identity and Access Management) per il progetto che vuoi analizzare:

  • Editor
  • Proprietario

Per aggiungere uno di questi ruoli:

  1. Vai alla pagina IAM e amministrazione nella console Google Cloud.
    Vai alla pagina IAM e amministrazione
  2. Fai clic sull'elenco a discesa Selettore progetto.
  3. Nella finestra di dialogo Seleziona da visualizzata, seleziona il progetto di cui vuoi eseguire la scansione utilizzando Web Security Scanner.
  4. Nella pagina IAM, accanto al tuo nome utente, fai clic su Modifica.
  5. Nel riquadro Modifica autorizzazioni visualizzato, fai clic su Aggiungi un altro ruolo, quindi seleziona uno dei seguenti ruoli:
    • Progetto > Proprietario
    • Progetto > Editor
  6. Una volta completata l'aggiunta dei 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, l'esecuzione della scansione potrebbe richiedere diverse ore. Per creare, salvare ed eseguire una scansione:

  1. Vai alla pagina Web Security Scanner nella console Google Cloud.
    Vai alla pagina di Web Security Scanner
  2. Seleziona il progetto che contiene l'applicazione di cui hai eseguito il deployment da scansionare.
  3. Per configurare una nuova scansione, fai clic su Nuova scansione:
  4. Nella pagina Crea una nuova scansione che viene caricata, imposta i seguenti valori:

    1. In URL di avvio, inserisci l'URL dell'applicazione da scansionare.
    2. In Programmazione, seleziona Settimanale.
    3. In Prossima esecuzione il giorno, seleziona una data.

    La casella Esporta in Security Command Center è selezionata automaticamente. Se hai abilitato Web Security Scanner come origine di sicurezza di Security Command Center, i risultati dell'analisi possono essere visualizzati nella console Google Cloud.

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

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

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

    La scansione verrà messa in coda e poi verrà eseguita in un secondo momento. L'esecuzione della scansione potrebbe richiedere diverse ore.

  7. Al termine dell'analisi, la pagina della panoramica dell'analisi mostra una sezione dei risultati. L'immagine seguente mostra esempi di risultati dell'analisi quando non vengono rilevate vulnerabilità:

    Se hai abilitato 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 della scansione.

Hai completato una scansione di base di Web Security Scanner. Se hai eseguito la scansione della tua applicazione, scopri come personalizzare l'analisi nella sezione Scansione di un'app in 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 addebiti di App Engine per l'applicazione.

Passaggio 4: pulizia

  1. Nella console Google Cloud, vai alla pagina Gestisci risorse.

    Vai a Gestisci risorse

  2. Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina.
  3. Nella finestra di dialogo, digita l'ID del progetto e fai clic su Chiudi per eliminare il progetto.

Scansione di 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, è meglio utilizzare un account di test che non abbia accesso a dati sensibili o operazioni dannose. Crea un account di prova che può accedere alla tua app. Prendi nota delle credenziali di accesso da fornire per l'autenticazione quando crei una scansione. Le credenziali ti consentono di usare l'account di prova per scansionare i dati.

Passaggio 2: crea una scansione

  1. Vai alla pagina Web Security Scanner nella console Google Cloud.
    Vai alla pagina di Web Security Scanner
  2. Fai clic su Seleziona, quindi seleziona un progetto di 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 semplice di solito 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 ha:

    • Molte pagine
    • Isole di pagine non collegate
    • Navigazione che richiede codice JavaScript complesso come un menu multilivello basato sul 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-lingua semplificato utilizzando uno o più caratteri jolly *, anziché richiedere un'espressione regolare valida. Per dettagli e esempi di pattern validi, consulta Escludere gli URL più avanti in questa pagina.
    Autenticazione > Account Google

    Puoi creare un account di prova in Gmail e quindi utilizzarlo per eseguire la scansione del prodotto. Se sei un cliente Google Workspace, puoi creare account di prova all'interno del tuo dominio, ad esempio test-account@yourdomain.com. In Web Security Scanner, questi account funzionano come gli account Gmail. L'autenticazione a due fattori non è supportata.

    Google applica norme sui nomi reali per gli Account Google. Se il nome del tuo account di prova non sembra vero, l'account potrebbe essere bloccato.

    Autenticazione > Identity-Aware Proxy alpha

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

    Per utilizzare Web Security Scanner con una risorsa protetta da IAP, concedi prima l'accesso all'account di servizio 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. Una volta completata l'aggiunta dei ruoli, fai clic su Salva.

    Poi, aggiungi l'ID client OAuth alla scansione. Web Security Scanner può analizzare solo le 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 Client ID per 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 il tuo sistema di autenticazione e non utilizzi i servizi dell'Account Google. Specifica l'URL, il nome utente e la password del modulo di accesso. Queste credenziali vengono utilizzate per accedere all'applicazione ed eseguirne la scansione.

    Web Security Scanner tenta di eseguire l'euristica per accedere all'applicazione e analizzarla. In particolare, 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 affinché lo scanner possa continuare la scansione.

    Di seguito sono riportati alcuni problemi comuni che possono causare la mancata riuscita dell'accesso personalizzato:

    • Utilizzare campi di moduli HTML non standard, ad esempio, non utilizzare un tipo password.
    • L'utilizzo di un modulo di accesso complicato, ad esempio un modulo che contiene più di un singolo campo username e password.
    • Il cookie di autenticazione non viene salvato all'accesso riuscito.
    • In alcune situazioni, lo scanner viene negato da contromisure concepite per proteggere da bot, DDOS e altri attacchi.

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

    Pianifica Puoi impostare l'esecuzione dell'analisi ogni giorno, ogni settimana, ogni due settimane o ogni quattro settimane. È preferibile creare una scansione pianificata per garantire che le versioni future dell'applicazione vengano testate. Inoltre, poiché a volte rilasciamo nuovi scanner che rilevano nuovi tipi di bug, l'esecuzione di una scansione pianificata offre una maggiore copertura senza sforzi manuali.
    Esegui scansioni da un insieme 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 potrebbe limitare l'ambito della scansione. Per modificare le regole firewall per consentire il traffico di Web Security Scanner, consulta Configurare il 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 consente di stabilire se durante una scansione un numero elevato di errori di stato HTTP, ad esempio 400 richieste non valide, comporterà la segnalazione dell'analisi 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, l'analisi viene segnalata come non riuscita.
  5. Dopo aver aggiunto i valori, fai clic su Salva. Ora puoi eseguire la nuova analisi.

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: esegui una scansione

Per eseguire una scansione:

  1. Accedi all'account di prova che hai utilizzato per creare la scansione.
  2. Vai alla pagina Web Security Scanner nella console Google Cloud.
    Vai alla pagina di Web Security Scanner
  3. Fai clic su Seleziona e seleziona il progetto in cui hai creato la scansione.
  4. In Scan configs (Configurazioni di scansione), fai clic sul nome della scansione da eseguire.
  5. Nella pagina dei dettagli della scansione, fai clic su Esegui.

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

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

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

Visualizzazione dei risultati della scansione personalizzata

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

  1. Accedi all'account di prova che hai utilizzato per creare la scansione.
  2. Vai alla pagina Web Security Scanner nella console Google Cloud.
    Vai alla pagina di Web Security Scanner
  3. Fai clic su Seleziona, quindi seleziona il progetto che contiene la scansione da esaminare.
  4. In Configurazioni di scansione, fai clic sul nome della scansione che vuoi esaminare.

La pagina dei dettagli dell'analisi viene caricata e mostra i risultati dell'analisi più recente. Se è in corso un'analisi, la scheda Risultati mostra la percentuale di completamento attuale. Per visualizzare i risultati delle analisi precedenti, seleziona la data e l'ora dell'analisi dall'elenco a discesa.

I dettagli delle scansioni personalizzate completate includono:

  • Nella scheda Risultati viene visualizzato un elenco di eventuali vulnerabilità trovate dall'analisi.
  • 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 termini di query al secondo (QPS)

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

Modificare un'analisi personalizzata

Per modificare una scansione personalizzata:

  1. Accedi all'account di prova che hai utilizzato per creare la scansione.
  2. Vai alla pagina Web Security Scanner nella console Google Cloud.
    Vai alla pagina di Web Security Scanner
  3. Fai clic su Seleziona, quindi seleziona il progetto che contiene la scansione da modificare.
  4. In Scan configs (Configurazioni di scansione), fai clic sul nome della scansione da modificare.
  5. Nella pagina dei dettagli della scansione visualizzata, fai clic su Modifica.
  6. Nella pagina Modifica [nome scansione] che viene visualizzata, apporta le modifiche desiderate e fai clic su Salva.

La scansione personalizzata modificata viene eseguita alla prossima 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 prova che hai utilizzato per creare la scansione.
  2. Vai alla pagina Web Security Scanner nella console Google Cloud.
    Vai alla pagina di Web Security Scanner
  3. Fai clic su Seleziona, quindi seleziona il progetto che contiene la scansione da modificare.
  4. In Configurazioni di scansione, seleziona la casella di controllo accanto a una o più scansioni da eliminare.
  5. Fai clic su Elimina, quindi su Ok.

Tutte le scansioni selezionate vengono eliminate.

Configurazione di una scansione da IP statici

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

Prima di iniziare

Per utilizzare la funzionalità di analisi personalizzate di Web Security Scanner dagli IP statici, devi avere:

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

Passaggio 1: configura il firewall

  1. Vai alla pagina Regole firewall nella console Google Cloud.
    Vai alla pagina 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. Nome: inserisci web-security-scanner o un nome simile.
    2. Priorità: seleziona una priorità più alta (valore numerico più basso) rispetto a tutte le regole che negano il traffico in uscita verso l'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, quindi inserire 80 e 443 per le porte.
  5. Quando hai completato l'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 da utilizzare IP predefiniti:

  1. Vai alla pagina Web Security Scanner nella console Google Cloud.
    Vai alla pagina di Web Security Scanner
  2. Fai clic su Seleziona, quindi seleziona il tuo progetto.
  3. Crea una nuova scansione o modifica una scansione esistente.
  4. Seleziona la casella di controllo Esegui scansioni da un set predefinito di IP di origine.
  5. Salva l'analisi.

Alla successiva esecuzione, la scansione eseguirà la scansione delle applicazioni pubbliche di Compute Engine e GKE che si trovano dietro il firewall.

Esclusione degli URL

Puoi specificare fino a 100 pattern URL esclusi per evitare di testare le sezioni di un sito durante una scansione personalizzata. Web Security Scanner non richiede risorse corrispondenti a nessuna delle esclusioni. Le seguenti sezioni descrivono il pattern corrispondente utilizzato 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, *.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>

* 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 dei relativi sottodomini.
  • path: * corrisponde a 0 o più caratteri.

Non tutti i segmenti sono obbligatori in un pattern escluso.

  • Se il segmento scheme non è specificato, il valore predefinito sarà *://.
  • Il segmento host deve essere sempre specificato.
  • Se il segmento path non è specificato, per impostazione predefinita sarà:
    • /*, se i segmenti query e fragment non sono specificati. Questo valore corrisponde a qualsiasi path o nessun valore path.
    • / o un path vuoto, se è specificato il segmento query o fragment.
  • Se il segmento query non è specificato, per impostazione predefinita sarà:
    • ?*, se il segmento fragment non è specificato. Questo valore corrisponde a qualsiasi query o nessun valore query.
    • ? o query vuoto, se fragment è specificato.
  • Se il segmento fragment non è specificato, per impostazione predefinita sarà #*, che corrisponde a qualsiasi fragment o nessun valore fragment.

Corrispondenze di pattern valide

La tabella seguente fornisce esempi di pattern validi:

Pattern Comportamento Esempi di URL corrispondenti
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, come 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 non valide per il pattern

La tabella seguente 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 * si trova nell'host, deve essere il primo carattere.
http:/bar L'URL è un separatore di schema non ha un formato corretto. Il valore "/" deve essere "//".
foo://* Lo schema dell'URL non è valido.

Passaggi successivi