Criteri di Sicurezza

In questa pagina sono elencati i criteri di sicurezza utilizzati per la realizzazione del sito.

Logging

  • HTTP LOG. Tutte le request HTTP/HTTPS vengono loggate tramite WebServer IIS e registrate su FileSystem in formato W3C. Il log è configurato per tenere traccia dei seguenti dati di connessione: Date, Time, Client IP Address, User Name, Server IP Address, Server Port, Method, URI, Query, Protocol Status & Substatus, Win32 Status, Time Taken, User Agent, Referer.
  • APPLICATION LOG. Le seguenti azioni utente vengono loggate tramite log applicativo e registrate su Database SQL in una tabella apposita:
    • Type of Action (Method)
    • Subsystem performing the action (Controller)
    • Identifiers for the subject requesting the action (username, user ID, email)
    • Identifiers for the object the action is being performed on (file names, record IDs, parameters)
    • Before and after values when action involves updating a data element
    • Date and time the action was performed
    • Whether the action was allowed or denied
    • Description and/or reason of why the action was denied
Tutti i log (HTTP e applicativi) vengono mantenuti per un minimo di 90 giorni.

Monitoring

  • SERVICE UPTIME. La disponibilità del sito è monitorata da un servizio esterno (StatusCake) che effettua un controllo ogni 10 minuti: in caso di indisponibilità il servizio invia una e-mail a una mailing-list di controllo apposita.
  • DATABASE UPTIME & CONSISTENCY. La disponibilità del database e la coerenza dei dati di un sottoinsieme di tabelle business critical è monitorata da un applicativo di controllo interno (ACTest) che effettua un controllo ogni 10 minuti: in caso di indisponibilità o inconsistenza dei dati presenti in archivio il servizio invia una e-mail a una mailing-list di controllo apposita.

Autenticazione

L'autenticazione del sito avviene tramite l'inserimento di un set di credenziali personali (username e password).
  • PRIMO ACCESSO. Il primo accesso al sito viene consentito attraverso una procedura di registrazione che funziona nel seguente modo:
    • L'utente inserisce NOME, COGNOME, CODICE FISCALE, EMAIL e NOME LOGIN (username).
    • Il sito verifica la presenza di un utente con un CODICE FISCALE uguale a quello inserito all'interno del database, nel quale è stato precedentemente inserito il tracciato degli utenti fornito dal cliente.
      • SE IL RECORD VIENE TROVATO, il sito registra l'utente associando l'EMAIL e il NOME LOGIN inseriti al record in questione e richiedendo l'impostazione di una PASSWORD.
      • SE IL RECORD NON VIENE TROVATO, il sito impedisce la registrazione dell'utente.
    La funzionalità PRIMO ACCESSO è consentita unicamente agli utenti che non hanno ancora effettuato la registrazione.
  • CRITERI PASSWORD. Le password vengono accettate e gestite nel rispetto dei seguenti criteri:
    • Password Hash. La password non viene memorizzata in chiaro, bensì mediante una tecnica di hashing che ne impedisce la visualizzazione ovvero il recupero (anche da parte degli amministratori).
    • Invalid Password Lockout. 5 tentativi consentiti, poi l'account viene messo in lockout per 1 ora. Il lockout time viene inoltre incrementato di 1 ulteriore ora per ciascun tentativo fallito oltre il quinto.
    • Reset rules. La password non può essere recuperata e può essere soltanto reimpostata tramite un token one-time use inviato all'utente tramite e-mail.
    • Expiration. La password scade dopo 90 giorni e va obbligatoriamente reimpostata dopo la scadenza.
    • History. Non è possibile utilizzare le ultime 8 password già utilizzate.
    • Length & Complexity. La password deve essere lunga almeno 8 caratteri e deve contenere almeno 3 dei requisiti seguenti: lettera maiuscola, lettera minuscola, numero, carattere speciale.
    • Initial rule. Vedi "PRIMO ACCESSO".
    • Account Revocation. E' previsto un apposito flag [DISABLED] che può essere utilizzato per impedire l'accesso al sistema a qualsiasi utente (soft-delete).
  • COOKIE DI SESSIONE. In caso di autenticazione avvenuta con successo il sito crea un cookie di sessione sul browser dell'utente, che consente il recupero della sessione. La sessione (e il relativo cookie) scade dopo 15 minuti di inattività, ovvero di assenza di HTTP request <-> response.
  • COOKIE "MEMORIZZA CREDENZIALI". Al momento dell'autenticazione il sito consente la creazione opzionale un cookie che, in caso di login effettuato con successo, persiste le credenziali dell'utente (username + password hash) all'interno di un cookie che, se presente, consente il ripristino automatico di una sessione (e relativo cookie di sessione). Il cookie ha una scadenza pari a 90 giorni.

Autorizzazione

  • ROLE-BASED AUTHORIZATION. Il sito gestisce le autorizzazioni mediante un sistema di ruoli implementato a livello applicativo e che opera a livello di request HTTP. Per ciascun insieme di risorse o pagine relative al medesimo contesto è previsto l'accesso da parte di uno o più ruoli: se l'utente non appartiene a uno dei ruoli autorizzati, l'accesso alla pagina viene impedito.

Encryption

  • IN TRANSIT. Tutti i dati trasmessi dal sito web sono crittografati in transit mediante certificato HTTPS.
  • AT REST. Tutti i dati presenti nel database sono crittografati at rest mediante modulo TDE (Transparent Data Encryption) installato sul server.

Backup

  • WEB SERVER. La macchina server che ospita l'applicativo è oggetto di bare-metal backup con cadenza giornaliera e un minimo di 20 punti di ripristino.
  • DATABASE SERVER. La macchina server che ospita il database è oggetto di bare-metal backup con cadenza giornaliera e un minimo di 20 punti di ripristino.

Deployment

  • HOST UPDATE. L'aggiornamento del Web Server che ospita l'applicativo viene effettuato solo dal personale autorizzato e unicamente in orari di bassa attività (dalle 20 alle 08), salvo necessità di procedere con pubblicazioni di emergenza volte a correggere anomalie bloccanti (bugfix) o a rinforzare la security posture dell'applicativo (patching).
  • PRODUCTION RELEASE. La pubblicazione in produzione del sito viene effettuata solo dal personale autorizzato e unicamente in orari di bassa attività (dalle 20 alle 08), salvo necessità di procedere con pubblicazioni di emergenza volte a correggere anomalie bloccanti (bugfix) o a rinforzare la security posture dell'applicativo (patching).
  • STAGING RELEASE. L'ambiente di staging non è soggetto a SLA e viene quindi aggiornato secondo necessità.

Torna alla Home Page