Mailstore può esportare i suoi messaggi in formato testo – che è molto leggero e si legge su tutti i sistemi. Però i file scritti in questo formato sono facilmente modificabili, e le modifiche non sono tracciate o invertibili.
Dalla versione 10.2 di Mailstore Server è possibile firmare digitalmente le mail esportate in formato EML o MSG sul file system.
In questo modo, quando si recupera un export di qualche tempo prima, si può verificare che le mail non siano state modificate.
Come si fa?
Si confronta usa l'hash SHA 256 della chiave pubblica che si trova nell'audit log di Mailstore con quello generato a partire dalle mail sul file system. Per genereare l'hash si usan OpenSSL oppure LibreSSL
Installazione di OpenSSL o di LibreSSL.
Linux e MacOS
Per installare OpenSSL o LibreSSL basta usare il gestore di pacchetti in uso sul proprio sistema, Per esempio su Debian si potrebbero usare, come root, i comandi
aptitude install openssl o
apt-get install openssl
rispettivamentper i packet manager aptitude o apt-get.
mentre per CentOS o RedHat si usa in genere yum
yum install openssl
su molte distribuzioni linux OpenSSL è installato di default.
Microsoft Windows
Se si usa Windows, bisogna scaricare (e installare) il setup di LibreSSL da https://www.libressl.org. È consigliabile inserire l'eseguibile di OpenSSL nel path, per esempio con il comando PowerShell
env:Path += ";C:PERCORSO_DELL_ESEGUIBILE_OPENSSL"
Creazione dell'Hash della chiave pubblica
con questo comando
openssl dgst -sha256 -hex publickey.pem
si genera un hash SHA256 che si può confrontare con quello contenuto nell' audit log di Mailstore Server
Verificare tutte le mail esportate
per verificare l'integrità di tutte le mail contenute in una cartella (e relative sottocartelle) si puo eseguire, dalla cartella stessa, questo comando:
Linux or MacOS
find . -name '*.eml' -exec openssl dgst -sha256 -verify publickey.pem -signature {}.sig {} ;
Windows (PowerShell)
ls -r *.eml | ForEach-Object { $file_sig = ($_.FullName) + '.sig'; $file_eml = $_.FullName; Write-Host -NoNewLine ($_.Basename) `t": " ; openssl.exe dgst -sha256 -verify publickey.pem -signature "$file_sig" "$file_eml" }
Una volta ottenuto l'hash SHA256 con queste procedure, lo si può confrontare con quello contenuto nell'audit log di Mailstore Server