+++ images = ['images/blog/encrypt-compress-emails-on-server.jpg'] tagsspot = ['Security','Server','Privacy', 'Dovecot'] categoriesspot= ['Solutions'] date = '2022-07-08' lastmod = '2022-07-08' title = 'Cifrare e comprimere le email lato server' slug = 'cifrare-comprimere-email-server' +++ Per migliorare la sicurezza e la privacy degli utenti e risparmiare spazio su disco, il mail server [Dovecot](https://www.dovecot.org/) permette di cifrare e comprimere i files che contengono la posta elettronica. La compressione avviene tramite il plugin ```zlib``` mentre la cifratura tramite il plugin ```mail_crypt```. ```bash mail_plugins = $mail_plugins zlib mail_crypt ``` I due plugin possono essere poi configurati con diversi opzioni ```bash plugin { mail_crypt_global_private_key = "/tmp/$(basename "$file")" if [[ -s "/tmp/$(basename "$file")" ]]; then chmod 600 "/tmp/$(basename "$file")" chown vmail:vmail "/tmp/$(basename "$file")" mv "/tmp/$(basename "$file")" "$file" else rm "/tmp/$(basename "$file")" fi fi done ``` Per decifrare e decomprimere : ```bash find /var/vmail/domain/user/Maildir -type f -regextype egrep -regex '.*S=.*W=.*' | while read -r file; do if [[ $(head -c7 "$file") == "CRYPTED" ]]; then echo $file doveadm fs get compress lz4:0:crypt:private_key_path=/etc/dovecot/crypt/master.key:public_key_path=/etc/dovecot/crypt/master.pub:posix:prefix=/ \ "$file" > "/tmp/$(basename "$file")" if [[ -s "/tmp/$(basename "$file")" ]]; then chmod 600 "/tmp/$(basename "$file")" chown vmail:vmail "/tmp/$(basename "$file")" mv "/tmp/$(basename "$file")" "$file" else rm "/tmp/$(basename "$file")" fi fi done ```