Il portale ArcGIS Enterprise viene fornito con uno strumento di script Python portalScan.py, che analizza i problemi di sicurezza comuni. Lo strumento verifica la presenza di problemi in base ad alcune procedure consigliate per configurare un ambiente protetto per il portale. Analizza molti criteri o proprietà di configurazione e li divide in tre livelli di gravità: Critical, Important e Recommended. Di seguito sono riportate le descrizioni di questi criteri:
ID | Gravità | Proprietà | Descrizione |
---|---|---|---|
PS01 | Critical | Restrizioni proxy | Determina se la funzionalità proxy del portale è limitata. Per impostazione predefinita, il server proxy del portale è aperto a qualsiasi URL. Per mitigare i rischi di potenziali attacchi DoS (Denial of Service) o SSRF (Server Side Request Forgery), si consiglia di limitare la funzionalità proxy del portale a indirizzi Web approvati. |
PS02 | Critical | Richieste token | Determina se le richieste token con credenziali nel parametro di query sono supportate. Se supportate, quando si generano i token, le credenziali di un utente possono essere fornite come parte dell'URL e possono essere esposte tramite cronologia browser o in registri di rete. Si consiglia di disabilitarlo a meno che non sia richiesto da altre applicazioni. |
PS03 | Important | Directory servizi del portale | Determina se la directory servizi del portale è accessibile tramite un browser Web. Disabilitare per ridurre la probabilità che gli elementi, i servizi, le mappe Web, i gruppi e le altre risorse del portale aziendale possano essere esplorati, trovati in una ricerca Web o interrogati tramite moduli HTML. |
PS04 | Important | Comunicazioni protette | Determina se il portale comunica solo tramite HTTPS. Per impedire che le comunicazioni all'interno del portale vengano intercettate, è consigliabile configurare il portale aziendale e il server Web che ospita Web Adaptor in modo da imporre l'uso di SSL. |
PS05 | Recommended | Accesso all'account incorporato | Determina se gli utenti possono fare clic sul pulsante Crea account nella pagina di registrazione del portale per creare un account predefinito del portale. Se si intende utilizzare account aziendali o si desidera creare tutti gli account manualmente, disabilitare questa opzione. |
PS06 | Recommended | Accesso anonimo | Determina se l'accesso anonimo è consentito. Per impedire agli utenti di accedere ai contenuti senza prima fornire le credenziali al portale, è consigliabile configurare il portale aziendale in modo da disabilitare l'accesso anonimo. |
PS07 | Consigliato | Archivio identità LDAP | Se il portale è configurato con un archivio identità LDAP, ciò determina se si utilizza la comunicazione crittografata. Si consiglia di utilizzare LDAPS nelle proprietà ldapURLForUsers e ldapURLForRoles elencate nei parametri di configurazione dell'archivio utenti e dell'archivio gruppi. |
PS08 | Consigliato | Certificato SSL del portale | Determina se il portale utilizza un certificato autofirmato. Per contribuire alla riduzione di avvisi del browser Web o altro comportamento imprevisto dai client che comunicano con il portale, si consiglia di importare e utilizzare un certificato SSL firmato da una CA associato alla porta 7443. |
PS09 | Consigliato | Richieste tra domini | Determina se le richieste tra domini (CORS) sono senza restrizioni. Per ridurre la possibilità che un'applicazione sconosciuta acceda a un elemento di un portale condiviso, si consiglia di limitare le richieste tra domini alle applicazioni ospitate solo in domini attendibili. |
PS10 | Critica | URL amministrativo del server federato | Determina se l'URL amministratore del server federato è raggiungibile dal portale e se il certificato SSL utilizzato in questo URL è attendibile. Se non è attendibile o non è raggiungibile, molte funzioni e operazioni del portale non funzioneranno. |
PS11 | Consigliato | URL dei servizi del server federato | Determina se l'URL dei servizi del server federato è raggiungibile dal portale e se il certificato SSL utilizzato in questo URL è attendibile. Se non è attendibile o non è raggiungibile, il portale funzionerà comunque, ma alcune operazioni del portale potrebbero non funzionare. |
PS12 | Consigliato | Contenuto pubblico | Se il portale è configurato in modo che i membri possano condividere pubblicamente i contenuti, si elencherà qualunque elemento che è ancora condiviso con Tutti. |
Lo script portalScan.py si trova nella directory <Portal for ArcGIS installation location>/tools/security. Eseguire lo script dalla riga di comando o shell. Durante l'esecuzione dello script è possibile specificare uno o più parametri.
Parametri dello script portalScan.py
La seguente tabella descrive parametri portalScan.py:
Parametro | Descrizione |
---|---|
-n | Nome di dominio completo del computer in cui è installato il portale (ad esempio, gisportal.domain.com). Il valore predefinito è il nome host del computer in cui viene eseguito lo script. |
-u | Nome utente dell'account amministratore. |
-p | Password dell'account amministratore. |
-o | Directory in cui verrà salvato il report relativo all'analisi della sicurezza. La directory predefinita è la stessa cartella in cui viene eseguito lo script. |
-t | Anziché il nome utente e la password è possibile generare e utilizzare un token. Quando si genera un token, portalScan dovrebbe essere immesso nel campo Webapp URL. Quando viene immesso un token, tale token sovrascriverà qualsiasi nome utente o password immessi. |
--ignoressl | Disabilita la verifica del certificato SSL. A partire dalla versione 10.7.1, lo script proverà a verificare tutti i certificati SSL per impostazione predefinita. Se Python non si fida dell'emittente dei certificati, lo script non riuscirà a completarsi. Se necessario, è possibile specificare questo parametro in modo da ignorare tutti i certificati. |
-h o -? | Visualizza l'elenco di parametri che possono essere specificati durante l'esecuzione dello script. |
Esempio: python portalScan.py -n portal.domain.com -u admin -p my.password -o C:\Temp
Se lo script portalScan.py viene eseguito senza parametri, verrà richiesto di immetterli manualmente o di selezionare un valore predefinito. Se si desidera utilizzare un token, è necessario specificarlo come parametro durante l'esecuzione dello script.
La scansione genera un report in formato HTML che elenca gli eventuali problemi precedenti che sono stati trovati nel portale specificato.
Per impostazione predefinita, il report viene salvato nella stessa cartella in cui si esegue lo script ed è denominato portalScanReport_[hostname]_[date].html.