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 gli URL pubblici e gli IP che non sono protetti da un firewall.
Prima di iniziare
Per configurare 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 individuare eventuali funzionalità che potrebbero interessano dati, utenti o sistemi che non rientrano nell'ambito scelto della scansione.
Poiché Web Security Scanner compila campi, preme pulsanti, fa clic su link e altre interazioni, devi utilizzarlo con cautela. Lo Scanner per la sicurezza web potrebbe attivare funzionalità che modificano lo stato dei dati o del sistema, con risultati indesiderati. Ad esempio:
- In un'applicazione blog che consente i commenti pubblici, Web Security Scanner potrebbe pubblicare stringhe di test come commenti su tutti i tuoi articoli del blog.
- In una pagina di registrazione via email, Web Security Scanner potrebbe generare un numero elevato di email di prova.
Per suggerimenti su come ridurre al minimo i rischi, consulta le best practice per prevenire conseguenze.
Abilita Web Security Scanner
Abilita Web Security Scanner in Security Command Center per creare ed eseguire scansioni.
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 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 un'applicazione di cui è stato eseguito il deployment o vuoi provare Web Security Scanner con un'applicazione di test, esegui il deployment del test nell'applicazione App Engine. 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:
Vai alla pagina IAM e amministrazione nella console Google Cloud.
Fai clic sull'elenco a discesa Selettore progetti.
Nella finestra di dialogo Seleziona da visualizzata, scegli il progetto che ti interessa. per eseguire la scansione utilizzando Web Security Scanner.
Nella pagina IAM, fai clic su Modifica accanto al tuo nome utente.
Nel riquadro Modifica autorizzazioni visualizzato, fai clic su Aggiungi un altro ruolo. quindi seleziona uno dei seguenti ruoli:
- Progetto > Proprietario
- Progetto > Editor
Dopo aver aggiunto i ruoli, fai clic su Salva.
Scopri di più su 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 attuale, potrebbero essere necessarie diverse ore prima che venga eseguita una scansione. Per creare, salvare ed eseguire una scansione:
Vai alla pagina Web Security Scanner nella console Google Cloud.
Seleziona il progetto che contiene l'applicazione di cui vuoi eseguire la scansione.
Per configurare una nuova scansione, fai clic su Nuova scansione:
Nella pagina Create a new scan (Crea una nuova scansione) che viene caricata, imposta i seguenti valori:
- In URL di avvio, inserisci l'URL dell'applicazione che vuoi scansione.
- In Programmazione, seleziona Settimanale.
- In Prossima esecuzione il giorno, seleziona una data.
La casella Esporta in Security Command Center viene selezionata automaticamente. Se hai Web Security Scanner abilitato come Security Command Center origine di sicurezza, analisi dei risultati può essere visualizzato nella console Google Cloud.
Per questa prima scansione, utilizza la scansione predefinita senza modificare altri valori nella pagina Create a new scan (Crea una nuova scansione). Per ulteriori informazioni sulle impostazioni di scansione, consulta Eseguire la scansione di un'app.
Per creare la scansione, fai clic su Salva.
Nella pagina Web Security Scanner, fai clic sul nome della scansione per caricarne la panoramica pagina e fai clic su Esegui scansione.
La scansione viene messa in coda e poi eseguita in futuro. Potrebbero essere necessarie diverse ore prima che venga eseguita la scansione.
Al termine della scansione, la pagina Panoramica della scansione mostra una sezione dei risultati. L'immagine seguente mostra risultati di scansione di esempio in assenza di vulnerabilità rilevato:
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 scansionato la tua applicazione, scopri come personalizzare la scansione sezione relativa alla 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 di incorrere in addebiti di App Engine per l'applicazione.
Passaggio 4: pulisci
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- 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: crea un account di prova
Quando esegui la scansione dell'app, è preferibile utilizzare un account di prova che non dispone dell'accesso a dati sensibili o operazioni dannose. Crea un account di prova autorizzato ad 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 prova per eseguire la scansione e i dati di Google Cloud.
Passaggio 2: creazione di una scansione
Vai alla pagina Web Security Scanner nella console Google Cloud.
Fai clic su Seleziona, quindi seleziona un progetto a cui è già associato un App Engine, Compute Engine o GKE di cui è stato eseguito il deployment.
Per visualizzare il nuovo modulo di scansione, fai clic su Crea scansione o Nuova scansione.
Per aggiungere valori al nuovo modulo di scansione, utilizza la seguente tabella come guida:
Campo Descrizione URL di avvio Un sito di base richiede in genere un solo URL iniziale, come il home page, pagina principale o 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 menu multilivello con passaggio del mouse
In questi casi, specifica più URL iniziali 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 scansionare il 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, funzionano come gli account Gmail. L'autenticazione a due fattori non è supportati.Google applica norme relative al nome reale negli Account Google. Se il nome nel 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 Guida di IAP.
Per utilizzare Web Security Scanner con un dispositivo protetto da IAP risorsa, concedi prima l'accesso al servizio Web Security Scanner :
- Vai alla sezione Pagina IAP nella console Google Cloud.
- Seleziona il progetto che vuoi utilizzare con Web Security Scanner.
- Seleziona la risorsa dell'applicazione da scansionare e fai clic su Aggiungi entità nel riquadro informazioni.
-
Nella casella Nuove entità in Aggiungi entità
inserisci l'account di servizio Web Security Scanner nel
forma di
service-project-number@gcp-sa-websecurityscanner.iam.gserviceaccount.com
. - Nell'elenco a discesa Seleziona un ruolo, seleziona Cloud IAP > Utente applicazione web con protezione IAP.
- Dopo aver aggiunto i 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:
- Vai alla sezione pagina IAP nella console Google Cloud.
- Seleziona il progetto che vuoi utilizzare con Web Security Scanner.
- Nel menu extra, seleziona Modifica client OAuth.
- Nella finestra ID client per l'applicazione web che viene visualizzata, copia l'ID client.
- Vai alla sezione Pagina di Web Security Scanner nella console Google Cloud.
- In Autenticazione, seleziona Identity-Aware Proxy alpha.
- Nella casella ID client OAuth2, incolla l'ID client OAuth che 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 modulo di accesso che include un campo
username
epassword
. L'azione di accesso deve generare un cookie di autenticazione per consentire allo scanner di continuare la scansione.Alcuni problemi comuni che possono causare un errore di accesso personalizzato sono:
-
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
epassword
. - Non viene salvato un cookie di autenticazione al termine dell'accesso.
- In alcuni casi, lo scanner viene negato da contromisure volte a proteggere da bot, attacchi DDoS e altri attacchi.
Ti consigliamo di utilizzare l'integrazione di Identity-Aware Proxy per con la scansione autenticata delle applicazioni.
Pianificazione Puoi impostare l'esecuzione della scansione giornaliera, settimanale, ogni due settimane o ogni quattro settimane. È preferibile creare una scansione pianificata per garantire che in futuro dell'applicazione vengono testate. Inoltre, poiché occasionalmente rilasciare nuovi scanner che individuano nuovi tipi di bug, eseguendo una scansione pianificata offre una maggiore copertura senza alcun 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 indirizzi IP esterni. 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 di scansione e dei risultati della scansione a 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. Dopo aver aggiunto 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 a 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:
- Accedi all'account di test che hai utilizzato per creare la scansione.
Vai alla pagina Web Security Scanner nella console Google Cloud.
Fai clic su Seleziona, quindi seleziona il progetto in cui hai creato l'analisi.
In Configurazioni di scansione, fai clic sul nome della scansione che vuoi eseguire.
Nella pagina dei dettagli della scansione, fai clic su Esegui.
La scansione è in 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 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 della scansione nella console Google Cloud. Per visualizzare i risultati della scansione:
- Accedi all'account di test che hai utilizzato per creare la scansione.
Vai alla pagina Web Security Scanner nella console Google Cloud.
Fai clic su Seleziona, quindi seleziona il progetto che contiene la scansione che vuoi rivedere.
In Configurazioni di scansione, fai clic sul nome della scansione che vuoi esaminare.
Viene caricata la pagina dei dettagli della scansione, che mostra i risultati dell'analisi più recente. Se è in corso una scansione, 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 termini di query al secondo (QPS)
Puoi trovare ulteriori informazioni sull'analisi nel progetto pagina dei log.
Modificare una scansione personalizzata
Per modificare un'analisi personalizzata:
- Accedi all'account di prova che hai utilizzato per creare l'analisi.
Vai alla pagina Web Security Scanner nella console Google Cloud.
Fai clic su Seleziona e poi seleziona il progetto che contiene la scansione da modificare.
In Configurazioni di scansione, fai clic sul nome della scansione da modificare.
Nella pagina dei dettagli della scansione visualizzata, fai clic su Modifica.
Nella pagina Modifica di [nome della scansione] visualizzata, apporta le modifiche che preferisci e poi fai clic su Salva.
La scansione personalizzata modificata viene eseguita alla successiva pianificazione oppure puoi eseguirla manualmente per ricevere risultati aggiornati.
Eliminazione di una scansione personalizzata
Per eliminare una o più analisi personalizzate:
- Accedi all'account di test che hai utilizzato per creare la scansione.
Vai alla pagina Web Security Scanner nella console Google Cloud.
Fai clic su Seleziona e poi seleziona il progetto che contiene la scansione da modificare.
In Configurazioni di scansione, seleziona la casella di controllo accanto a una o più scansioni che da eliminare.
Fai clic su Elimina e poi su Ok.
Tutte le scansioni selezionate vengono eliminate.
Configurare 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 l'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 pubblica di Compute Engine o GKE. 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 tramite Account Google.
Passaggio 1: configura il firewall
Vai alla pagina Regole firewall nella console Google Cloud.
Fai clic su Seleziona e poi seleziona il tuo progetto.
Nella pagina Regole firewall visualizzata, fai clic su Crea regola firewall.
Nella pagina Crea una regola firewall, imposta i seguenti valori:
- Nome: inserisci
web-security-scanner
o un nome simile. - Priorità: seleziona una priorità più alta (valore numerico più basso) rispetto a tutte le altre e le regole che negano il traffico in uscita verso la tua applicazione.
- Intervalli IP di origine: inserisci
34.66.18.0/26
e34.66.114.64/26
. - 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 inserire
80
e443
per le porte.
- Nome: inserisci
Al termine dell'impostazione dei valori, fai clic su Crea.
Passaggio 2: configurazione della scansione
Dopo aver configurato il firewall per consentire a Web Security Scanner per gli indirizzi IP prevedibili, configura la scansione in modo da utilizzare IP predefiniti:
Vai alla pagina Web Security Scanner nella console Google Cloud.
Fai clic su Seleziona e poi seleziona il tuo progetto.
Crea una nuova scansione o modificane una esistente.
Seleziona la casella di controllo Esegui scansioni da un set predefinito di IP di origine.
Salva la scansione.
La prossima volta che verrà eseguita la scansione, verranno analizzate le applicazioni Compute Engine e GKE pubbliche protette dal 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 che corrispondono a una qualsiasi delle esclusioni. Le sezioni seguenti descrivono la corrispondenza dei pattern utilizzata da Web Security Scanner.
Corrispondenza pattern URL
La corrispondenza degli URL esclusi si basa su un insieme di URL definiti da pattern di corrispondenza. R il pattern di corrispondenza è un URL con cinque segmenti:
scheme
: ad esempiohttp
o*
host
: ad esempiowww.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>
*
in ogni parte svolge la seguente funzione:
scheme
:*
corrisponde a HTTP o HTTPS.host
:*
corrisponde a qualsiasi host*.hostname
corrisponde all'host specificato e ai suoi sottodomini.
path
:*
corrisponde a 0 o più caratteri.
Non è necessario includere tutti i segmenti 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 viene specificato, per impostazione predefinita sarà:/*
, se i segmentiquery
efragment
non sono specificati. Questo valore corrisponde a qualsiasipath
o nessunpath
./
opath
vuoto se il segmentoquery
ofragment
è specificato.
Se il segmento
query
non è specificato, il valore predefinito è:?*
, se il segmentofragment
non è specificato. Questo valore corrisponde a qualsiasiquery
o nessunquery
.?
oquery
vuoto, sefragment
è specificato.
Se il segmento
fragment
non viene specificato, il valore predefinito è#*
, che corrisponde qualsiasifragment
o nessunfragment
.
Corrispondenze di pattern valide
La seguente tabella fornisce esempi di pattern validi:
Pattern | Comportamento | Esempi di URL corrispondenti |
---|---|---|
http://*/* |
Corrisponde a qualsiasi URL che utilizza lo schema HTTP. |
|
http://*/foo* |
Corrisponde a qualsiasi URL che utilizza lo schema HTTP, su qualsiasi host, se il percorso inizia
con /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://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 che si trova sull'host
127.0.0.1 .
|
|
*://mail.google.com/* |
Corrisponde a qualsiasi URL che inizia con http://mail.google.com oppure
https://mail.google.com . |
|
*://*/foo*?*bar=baz* |
Corrisponde a qualsiasi URL in cui il percorso inizia con /foo e ha la
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 * si trova nell'host, deve essere il primo carattere. |
http:/bar |
L'URL è un separatore di schema non nel formato corretto. "/"
deve essere "//" .
|
foo://* |
Lo schema dell'URL non è valido. |
Passaggi successivi
- Scopri come correggere i risultati di Web Security Scanner.