Daos e crittografia

Daos è l’acronimo di  Domino Attachment e Object Service.

Per chi non lo ricordasse Daos consolida l’archiviazione di allegati inviati a più documenti e / o database sullo stesso server Domino . In altre parole se una email con un allegato viene inviata a più persone l’allegato viene salvato una volta sola , appunto all’interno di DAOS . Il risparmio di spazio è evidente : se invio un’email con un allegato di 1 Mb a 10 persone vado ad occupare 10 Mb di spazio ma con il Daos attivo ne salvo una sola copia a cui tutti fanno riferimento e quindi occupo solo 1 Mb.

Quindi ogni oggetto DAOS (cioè un allegato) esiste solo una volta all’interno di un server Domino e viene memorizzato al di fuori del database Notes e come singolo file Notes Large Object (.NLO).

Un punto a cui fare molta attenzione è che, per default, gli oggetti del Daos ( quindi i file .nlo ) vengono crittografati usando l’ ID del server (a meno che non scriviate nel notes.ini la riga DAOS_ENCRYPT_NLO = 0 ) .

E’ una scelta da parte di IBM che obiettivamente non capisco al 100% . Crittografare questi files su di una normale installazione Domino è nella maggior parte dei casi un’attività non molto utile: se i file NSF sul server Domino non sono crittografati e il server.id non è protetto da una password, non ha molto senso avere i crittografia NLO. Infatti il per decrittare i file ( nel caso di un accesso malevolo) è sufficiente una copia del server ID che, se non è protetto da password, può essere utilizzato senza problemi.

Per esperienza abbiamo visto che praticamente nessuno chiude l’ ID del server con una password: viene considerata una pratica inutile e scomoda, basti pensare che ad ogni riavvio del server stesso viene richiesta la password sulla console del server ed in mancanza di questa il server non riparte.

D’altronde la crittografia del DAOS può anche portare problemi inaspettati in caso di migrazione di un server ad un differente ID : in un caso del genere gli allegati non possono più essere decrittati in quanto l’ ID è cambiato e non c’e’ esiste più corrispondenza.

Un esempio:

Supponete di avere un server A (col suo ID a.id ) che volete migrare su una nuova piattaforma Hw e Sw . La procedura utilizzata è quella di creare un nuovo server B con il suo id temporaneo (b.id), replicare tutto dal server A in produzione verso quello nuovo B e quindi chiudere i due Domino , scambiare i server ID (e gli indirizzi IP ) fa le due macchine e quindi far ripartire il tutto. In un caso del genere se vi dimenticate di togliere l’encryption al nuovo server Domino B in fase di installazione avrete senz’altro dei problemi.

Il Daos del nuovo server verrà crittografato durante le repliche utilizzando l’ID del server B ma al momento in cui farete lo switch degli ID per portare in produzione il nuovo server col vecchio ID tutti gli allegati non saranno più raggiungibili in quanto crittografati da un ID server diverso.

Vero che IBM ha previsto questo caso e rende possibile la decrittazione dei file nel Daos con queste procedure ma comunque si tratta di operazioni abbastanza pesanti e che soprattutto hanno bisogno del server ID utilizzato per crittografare i files.

Quindi, per evitare la crittografia del Daos , ricordatevi di impostare il parametro notes.ini per disattivarlo:  DAOS_ENCRYPT_NLO = 0 .