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 [2021/07/22 10:04] – [Accesso da DocWay] alex.adami | 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:// | ||
- | </ | ||
- | |||
- | <WRAP center round alert 60%> | ||
- | Attenzione | ||
- | </ | ||
- | 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.1626941046.txt.gz · Ultima modifica: 2021/07/22 10:04 da alex.adami