Encrypting and transferring system email with Zeyple
The script creates an empty logfile for Zeyple, and conscientious admins will want to create a suitable configuration in the
/etc/logrotate.d directory. The block of code that follows (lines 37-53) integrates Zeyple as a content filter on port 10026 (line 44; the port is configurable in
/etc/zeyple/zeyple.conf) in the Postfix
master.cf file; the matching entry for
main.cf then follows.
Up to this point, the installation script has largely followed the instructions by Zeyple author Cédric Félizard. He recommends using the aliases database in Postfix to forward the internal email address to the external one. However, in our lab test, in the present configuration, Postfix does not use the
To: field of the email header for the external email address; rather, it uses the
X-Envelope: field, which is why some email will leave the system unencrypted (see also the Postfix manual ).
Help for Postfix
The remedy lies in lines 60 to 70. The code assigns the external address in the Postfix
recipient_canonical database to the internal address, hashes the database again (line 66), and announces its existence in the Postfix
master.cf configuration file (lines 67 to 70).
Now you only need to load the new Postfix configuration (line 72) to complete the installation and configuration, and the server will automatically encrypt outgoing email. From now on, all system email that would otherwise be sent to root on the mail system should be encrypted when it arrives at the specified external email address. You can test this configuration with the following:
date | mail -s test <admin_internal_email>
The public key for Zeyple is managed at the command line using GPG, the user
zeyple, and the
Zeyple provides good service but is far from perfect: For example, it cannot encrypt email attachments and therefore cannot handle typical HTML email. Also, an attacker could use the public key available on the keyserver to send spoofed system messages to the system administrator. The only solution is to sign email in addition to encryption, but Zeyple cannot do this, yet.
In any case, caution is advised: Hardening all your servers with a single private key is unwise; in the case of a compromise, all systems would need new keys. The only option is to generate a keypair for each system and revoke and replace them in individual cases. The organizational overhead could be significant, depending on the number of servers.
- Logdigest: http://sourceforge.net/projects/logdigest/
- LogSurfer: http://www.crypt.gen.nz/logsurfer/
- "Login Mail" by Charly Kühnast, Linux Magazine, August 2010, pg. 55: http://www.linux-magazine.com/Issues/2010/117/Charly-s-Column
- Zeyple on GitHub: https://github.com/infertux/Zeyple
- Installation script for Zeyple and Postfix: ftp://ftp.linux-magazin.com/pub/listings/magazine/153
- Postfix documentation for address rewriting: http://www.postfix.org/ADDRESS_REWRITING_README.html
Buy this article as PDF
New flaw in an old encryption scheme leaves the experts scrambling to disable SSL 3
Lennart Poettering wants to change the way Linux developers talk to each other.
Enterprise giant frees itself from ink and home PCs (and visa versa).
Mozilla’s product think tank sinks silently into history.
TODO group will focus on open source tools in large-scale environments.
New tool will look like GParted but support a wider range of storage technologies.
New public key pinning feature will help prevent man-in-the-middle attacks.
Carnegie Mellon researchers say 3 million pages could fall down the phishing hole in the next year.
The US government rolls new best-practice rules for protecting SSH.