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 URL e IP 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 indirizzo IP pubblico.
  • Devi aver attivato Security Command Center.

Prima di eseguire la scansione, controlla attentamente l'applicazione per verificare la presenza di eventuali funzionalità che potrebbero colpire dati, utenti o sistemi oltre l'ambito scelto della scansione.

Poiché Web Security Scanner compila campi, preme pulsanti, fa clic su 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 tuo blog.
  • In una pagina di registrazione 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.

Attivare Web Security Scanner

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

Se Security Command Center è attivo, puoi attivare 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à di cui è stato eseguito il 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 IAM (Identity and Access Management) per il progetto da 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 progetti.

  3. Nella finestra di dialogo Seleziona da visualizzata, seleziona il progetto da 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. Al termine dell'aggiunta dei ruoli, fai clic su Salva.

Scopri di più sui ruoli di Web Security Scanner.

Passaggio 3: esegui una scansione

Quando configuri una ricerca, questa viene messa in coda per essere eseguita in un secondo momento. A seconda del carico corrente, potrebbero essere necessarie diverse ore prima che venga eseguita una scansione. Per creare, salvare ed eseguire una ricerca:

  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 da eseguire la scansione.
    2. In Pianificazione, seleziona Settimanale.
    3. In Esegui la prossima esecuzione il giorno, seleziona una data.

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

    Per questa prima scansione, utilizza la scansione predefinita senza modificare altri valori nella pagina Crea una nuova scansione. Per ulteriori informazioni sulle impostazioni di scansione, consulta Eseguire la 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 caricarne la pagina di panoramica, quindi fai clic su Esegui scansione.

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

  7. Al termine della scansione, nella pagina Panoramica della scansione viene visualizzata una sezione dei risultati. L'immagine seguente mostra un esempio di risultati di scansione quando non vengono rilevate vulnerabilità:

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

    Per visualizzare i dettagli di un determinato rilevamento, fai clic sul nome del rilevamento nei risultati della scansione.

Hai completato una scansione di base di Web Security Scanner. Se hai eseguito la scansione della tua app, scopri come personalizzarla nella sezione sulla 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.

Scansione di un'app

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

Passaggio 1: creazione di un account di prova

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

Passaggio 2: creazione di 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 su 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 pagina iniziale, principale o 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 JavaScript complesso, ad esempio un menu a più livelli attivato dal 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 protolinguaggio semplificato con uno o più caratteri jolly *, anziché richiedere un'espressione regolare valida. Per maggiori dettagli e pattern validi di esempio, consulta Esclusione di URL più avanti in questa pagina.
    Autenticazione > Account Google

    Puoi creare un account di prova in Gmail e 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 account Gmail. L'autenticazione a due fattori non è supportata.

    Google applica norme relative al nome reale negli Account Google. Se il nome sul tuo account di prova non sembra reale, l'account potrebbe essere bloccato.

    Autenticazione > Identity-Aware Proxy alpha

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

    Per utilizzare Web Security Scanner con una risorsa protetta da IAP, concedi prima l'accesso all'account servizio 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 eseguire la scansione e 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. Al termine dell'aggiunta dei ruoli, fai clic su Salva.

    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 web 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 del modulo di accesso, il nome utente e la password. Queste credenziali vengono utilizzate per accedere all'applicazione e scansionarla.

    Web Security Scanner tenta di accedere alla tua applicazione ed eseguirne la scansione utilizzando l'euristica. Nello specifico, questo metodo cerca un form di accesso con due campi che includono 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 di modulo HTML non standard, ad esempio non utilizzare un tipo password.
    • Utilizzo di un modulo di accesso complicato, ad esempio un modulo con più di un campo username e password.
    • Non viene salvato un cookie di autenticazione al termine dell'accesso.
    • In alcune situazioni, lo scanner viene negato da contromisure volte a 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 giornaliera, settimanale, ogni due settimane o ogni quattro settimane. Ti consigliamo di creare una scansione pianificata per assicurarti che le versioni future della tua applicazione vengano testate. Inoltre, poiché di tanto in tanto rilasciamo nuovi scanner che rilevano nuovi tipi di bug, l'esecuzione di una scansione pianificata offre una maggiore copertura senza intervento manuale.
    Esegui scansioni da un set predefinito di IP di origine (Anteprima) Seleziona questa opzione per limitare il traffico delle scansioni 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 del firewall in modo da consentire il traffico di Web Security Scanner, consulta Configurazione del firewall di seguito 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à il reporting della scansione come esito negativo. 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. Quando hai finito di aggiungere i 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 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 del sistema e di funzionalità come:

  • Complessità del sito
  • Numero di elementi strategici per pagina
  • Numero di maglie
  • La quantità di codice 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.

Visualizzazione dei risultati di analisi personalizzate

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 e poi seleziona il progetto che contiene la scansione che vuoi esaminare.

  4. In Scan configs (Configurazioni di scansione), fai clic sul nome della scansione che vuoi esaminare.

La pagina dei dettagli della scansione carica e mostra i risultati dell'ultima scansione. Se una scansione è in corso, la scheda Risultati mostra la percentuale di completamento corrente. 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 eventuali vulnerabilità rilevate durante la scansione.
  • La scheda URL sottoposti a scansione mostra un elenco di 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 e poi seleziona il progetto che contiene la scansione da modificare.

  4. In 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 di [nome della scansione] visualizzata, apporta le modifiche che preferisci e poi fai clic su Salva.

La ricerca personalizzata modificata viene eseguita alla successiva pianificazione oppure puoi eseguirla manualmente per ottenere risultati aggiornati.

Eliminare una scansione personalizzata

Per eliminare una o più analisi 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 e poi 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 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 attivi questa funzionalità, Web Security Scanner utilizza indirizzi IP prevedibili per eseguire la scansione delle 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 versione futura.

Prima di iniziare

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

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

Passaggio 1: configurazione del firewall

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

    Vai a Regole firewall

  2. Fai clic su Seleziona e poi 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 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, quindi inserire 80 e 443 per le porte.
  5. Al termine dell'impostazione dei valori, fai clic su Crea.

Passaggio 2: configurazione della scansione

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

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

    Vai a Web Security Scanner

  2. Fai clic su Seleziona e poi 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 prossima volta che verrà 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 coincidono con nessuna 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 simbolo * 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.

Non tutti i segmenti sono obbligatori in un pattern escluso.

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

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

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

Corrispondenze di pattern valide

La seguente tabella fornisce esempi di pattern validi:

Pattern Comportamento URL corrispondenti 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 google.com host, 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 contiene 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 contiene il frammento open. https://www.google.com/app/example#open

Corrispondenze con 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 * è nell'host, deve essere il primo carattere.
http:/bar Il separatore di schema dell'URL non è formato correttamente. "/" deve essere "//".
foo://* Lo schema dell'URL non è valido.

Passaggi successivi