.. _releaseProcessGovWay_dynamicAnalysis_security_authn:
Autenticazione
~~~~~~~~~~~~~~~~
I test realizzati tramite il tool `TestNG `_ verificano le autenticazioni https, http-basic, principal e api-key.
I sorgenti sono disponibili in `protocolli/trasparente/testsuite/src `_ relativamente ai seguenti package:
- `org.openspcoop2.protocol.trasparente.testsuite.units.soap.authn `_
- `org.openspcoop2.protocol.trasparente.testsuite.units.rest.auth `_
Evidenze disponibili in:
- `Autenticazione per le API Fruite `_
- `Autenticazione per le API Erogate `_
Ulteriori evidenze dei test mirati alle sole API di tipo REST che verificano la gestione di header HTTP quali 'WWW-Authenticate', 'Authorization' etc sono disponibili in:
- `Autenticazione per le API REST Fruite `_
- `Autenticazione per le API REST Erogate `_.
Altri test vengono realizzati tramite il tool `JUnit `_ e verificano le autenticazioni tramite token OAuth2, e il forward delle credenziali tramite header HTTP dove l'autenticazione viene effettuata da un webserver. Vengono inoltre verificate le autenticazioni https, http-basic, principal e api-key già verificate tramite TestNG relativamente ai soli applicativi di dominio esterno.
I sorgenti sono disponibili in `protocolli/trasparente/testsuite/karate/src `_ relativamente ai seguenti package:
- `org.openspcoop2.core.protocolli.trasparente.testsuite.autenticazione.applicativi_token `_
- `org.openspcoop2.core.protocolli.trasparente.testsuite.autenticazione.applicativi_esterni `_
- `org.openspcoop2.core.protocolli.trasparente.testsuite.autenticazione.gestore_credenziali `_
- `org.openspcoop2.core.protocolli.trasparente.testsuite.autenticazione.gestore_credenziali_principal `_
Evidenze disponibili in:
- `Autenticazione tramite token OAuth2 `_
- `Autenticazione applicativi di dominio esterno `_
- `Forward delle credenziali `_
- `Forward delle credenziali 'principal' `_
Infine, sono disponibili script automatici che verificano il corretto funzionamento delle procedure di login sia sulle console sia sulle API di gestione e di monitoraggio. Durante tali verifiche si attesta l’assenza delle seguenti criticità:
- tentativi di brute force (CWE-307);
- corretta applicazione dei criteri di autorizzazione;
- per le sole console, assenza della vulnerabilità di session fixation (CWE-384).
I sorgenti delle verifiche sono disponibili in:
- console di gestione (govwayConsole): `tools/web_interfaces/control_station/testsuite/scripts/verifica_accesso_console_gestione.sh `_
- console di monitoraggio (govwayMonitor): `tools/web_interfaces/monitor/testsuite/scripts/verifica_accesso_console_monitoraggio.sh `_
- API di gestione (govwayAPIConfig): `tools/rs/config/server/testsuite/scripts/verifica_stato_api_configurazione.sh `_
- API di monitoraggio (govwayAPIMonitor): `tools/rs/monitor/server/testsuite/scripts/verifica_stato_api_monitoraggio.sh `_
Evidenze disponibili nell'output console dell'ambiente di `Continuous Integration Jenkins di GovWay `_.