documentazione_3di_riservata:docway4:audit
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
| Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente | ||
| documentazione_3di_riservata:docway4:audit [2019/03/29 11:50] – ncandelora | documentazione_3di_riservata:docway4:audit [Data sconosciuta] (versione attuale) – eliminata - modifica esterna (Data sconosciuta) 127.0.0.1 | ||
|---|---|---|---|
| Linea 1: | Linea 1: | ||
| - | ====== Modulo AUDIT di DocWay4 ====== | ||
| - | * Modulo attraverso il quale tutte le azioni svolte da operatori o processi sull' | ||
| - | * In caso di modifica di record (documenti XML su eXtraWay), all' | ||
| - | * La registrazione delle differenze in salvataggio avviene con una procedura a 2 step per avere la certezza di non perdere informazioni di audit (e garantire quindi un tracciamento completo delle modifiche) anche in caso di arresto del server Tomcat: | ||
| - | * Prima del salvataggio del record su eXtraWay, viene prodotto un file di lavoro dell' | ||
| - | * Se il salvataggio su eXtraWay restituisce errore, il file di lavoro in attesa viene rimosso dal disco | ||
| - | * Se il salvataggio su eXtraWay si completa con successo, il file di lavoro in attesa viene riversato su MongoDB (specifica chiamata di save al client MongoDB) e rimosso dal disco | ||
| - | * In caso di errore riscontrato in salvataggio dell' | ||
| - | * La registrazione dell' | ||
| - | * In caso di fallimento della registrazione dell' | ||
| - | * E' possibile configurare l' | ||
| - | |||
| - | <WRAP center round info 80%> | ||
| - | **N.B.**: Visto che la registrazione temporanea dei dati di audit viene fatta su una specifica directory su file system, **è importante tenere conto della velocità di scrittura su questa directory per mantenere delle performance accettabili**. | ||
| - | </ | ||
| - | |||
| - | ===== Configurazione ===== | ||
| - | |||
| - | * Per attivare il modulo di audit su DocWay (o altre applicazioni integrate con esso, quali 3diWS o MSA) occorre abilitarlo attraverso uno specifico set di properties definite all' | ||
| - | |||
| - | < | ||
| - | audit.enabled=false | ||
| - | |||
| - | # Parametri di connessione a MongoDB | ||
| - | # | ||
| - | audit.mongodb.uri= | ||
| - | # | ||
| - | audit.mongodb.dbName= | ||
| - | |||
| - | # Directory all' | ||
| - | # creata ed utilizzata una directory ' | ||
| - | audit.workDir= | ||
| - | |||
| - | # Regular Expression da utilizzare per identificare eventuali seriali presenti all' | ||
| - | # casi previsti dalla regex il documento XML verra' ricaricato dopo il salvataggio su eXtraWay in modo da registrare il seriale asssegnato all' | ||
| - | # di audit. Se non viene specificata alcuna regex si disabilitera' | ||
| - | audit.serial.regex=(num_prot|numero)[ ]{0,1}=[ ]{0, | ||
| - | |||
| - | # Definizione di xpath conosciuti per i quali e' possibile definire un set di attributi (o sottoelementi testo) che definiscono la chiave del nodo all' | ||
| - | # ripetizione. In questo modo le differenze possono essere valutate sul singolo nodo di elementi ripetibili e non sull' | ||
| - | # di docway e acl sono gia' gestiti a livello di codice (occorre definire eventuali xpath ripetibili di campi custom). | ||
| - | # Il formato di definizione e' il seguente: | ||
| - | # audit.repeatableXPath.know.N=XPATH_DOT_NOTATION|KEY_VALUE[, | ||
| - | # dove: | ||
| - | # - N rappresenta il numero progressivo di definizione del path | ||
| - | # - XPATH_DOT_NOTATION rappresenta l' | ||
| - | # - KEY_VALUE corrisponde ad un attributo o un sottoelemento di tipo test del nodo. E' possibile specificare piu' valori separandoli con la virgola | ||
| - | # - la definizione del path deve essere separata dalle chiavi tramite pipe | ||
| - | # Esempio (in realta' | ||
| - | # audit.repeatableXPath.know.1=doc.postit|@cod_operatore, | ||
| - | # audit.repeatableXPath.know.2=doc.link_interno|@href | ||
| - | # audit.repeatableXPath.know.3=fascicolo.link_interno|@href | ||
| - | |||
| - | # Tempo (in minuti) di sleep del thread di che si occupa di ritentare il salvataggio dell' | ||
| - | audit.errorsJob.sleep=1 | ||
| - | |||
| - | # Configurazione della casella per l' | ||
| - | # host | ||
| - | # | ||
| - | # porta | ||
| - | # | ||
| - | # credenziali di accesso | ||
| - | # | ||
| - | # | ||
| - | # protocollo di invio | ||
| - | # | ||
| - | # indirizzo email utilizzato per l' | ||
| - | # | ||
| - | # nome alternativo dell' | ||
| - | # | ||
| - | # indirizzo email al quale inviare le notifiche | ||
| - | # | ||
| - | |||
| - | # Eventuale elenco di tipologie di record da ignorare su uno specifico archivio. Il formato di definizione e' il seguente: | ||
| - | # audit.pne.ignore.N=DB_NAME|ROOT_NAME[, | ||
| - | # dove: | ||
| - | # - N rappresenta il numero progressivo | ||
| - | # - DB_NAME corrisponde all' | ||
| - | # - ROOT_NAME corrisponde al nome dell' | ||
| - | # - la definizione del nome db deve essere separata dagli xpath tramite pipe | ||
| - | # Esempio: | ||
| - | # audit.pne.ignore.1=acl|comune | ||
| - | |||
| - | # Elenco di archivi che devono essere ignorati dalla procedura di audit (nessun intervento sugli archivi specificati verra' tracciato) | ||
| - | audit.dbNames.ignore= | ||
| - | |||
| - | # Elenco di azioni che devono essere ignorate dalla procedura di audit | ||
| - | audit.actions.ignore= | ||
| - | |||
| - | # Elenco di diritti (codici separati da virgola) per i quali deve essere mappata una specifica azione in fase di audit delle attivita' | ||
| - | # tutti gli interventi svolti su diritti e identificate le variazioni su diritti speciali o diritti di amministrazione | ||
| - | audit.acl.rights.dirittiSpeciali=ACL-16, | ||
| - | # Per quanto riguarda i diritti di amministrazione, | ||
| - | # presso il cliente | ||
| - | audit.acl.rights.amministrazione=ACL-25, | ||
| - | </ | ||
| - | |||
| - | * // | ||
| - | * // | ||
| - | |||
| - | ===== Accesso da DocWay ===== | ||
| - | |||
| - | <WRAP center round tip 80%> | ||
| - | **Il pacchetto di distribuzione della console di Audit è disponibile su [[ http:// | ||
| - | </ | ||
| - | |||
| - | |||
| - | L' | ||
| - | |||
| - | Il link di accesso alla console è visibile dal menù in altro di DocWay, sezione '// | ||
| - | |||
| - | Per poter abilitare il link occorre configurare le necessarie properties sul file // | ||
| - | |||
| - | < | ||
| - | # Abilita il link di accesso alla console di audit dall' | ||
| - | abilitaConsoleAudit=si | ||
| - | |||
| - | # Eventuale URL di accesso alla console di audit dall' | ||
| - | # console di audit direttamente da docway) | ||
| - | auditConsole.url=http:// | ||
| - | </ | ||
| - | |||
| - | Oltre alle properties occorre verificare la presenza del diritto di accesso alla console sul file dei diritti // | ||
| - | |||
| - | < | ||
| - | ... | ||
| - | <group label=" | ||
| - | ... | ||
| - | <right cod=" | ||
| - | </ | ||
| - | ... | ||
| - | </ | ||
| - | |||
| - | <WRAP center round info 80%> | ||
| - | **N.B.**: Se il file è stato personalizzato per la specifica installazione, | ||
| - | </ | ||
| - | |||
| - | |||
| - | ===== Nota sui criteri di controllo relativi alle modifiche fraudolente dei record di audit ===== | ||
| - | |||
| - | N.B: la presente nota è stata prodotta per fornire informazioni al Cliente SOSE. | ||
| - | |||
| - | * Quello che può garantire la 3D, anche per iscritto, è il software dell' | ||
| - | * Questa componente tramite un sistema di chiavi crea un hash immodificabile per ogni oggetto del sistema (ovvero un info in formato json - registrazione di audit), utilizzando dei specifici criteri di sicurezza basati proprio sull' | ||
| - | * Viene creato un hash utilizzando una chiave di n caratteri random (la chiave di default è 12, ma può essere selezionato di quanti caratteri farla: la sicurezza consiste proprio nel non sapere quanti caratteri vengono utilizzati). | ||
| - | * Gli algoritmi sono standard, per aumentare la sicurezza inseriamo gli n caratteri della chiave usati per creare l'hash in testa all' | ||
| - | * Si estrapolano gli stessi caratteri della chiave utilizzata per calcolare l'hash e si ricalcola l'hash esattamente nello stesso modo. | ||
| - | * Il confronto fra i due hash permette di verificare che siano uguali: se sono diversi, vuol dire che qualcuno ha modificato i dati dell' | ||
| - | * Qualora l' | ||
| - | * Non possiamo garantire il db Mongo, in quanto non siamo amministratori delle macchine su cui è installato, e un utente di root potrebbe modificare le password del database ed accedere allo stesso. Quello che garantiamo è che se qualcuno accede al db e modifica o cancella i record, tramite il sistema di confronto degli hash descritto sopra, l'ente sia a conoscenza che i dati nel database sono stati modificati direttamente nel database, in quanto garantiamo anche che non ci sono altri applicativi in grado di scrivere o sovrascrivere dati nel db di mongo usato dal modulo di Audit. | ||
/data/attic/documentazione_3di_riservata/docway4/audit.1553856634.txt.gz · Ultima modifica: da ncandelora