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
3ROS attack tool lowers the technical bar so anyone can be an intruder.
Mozilla's latest browser offers powerful new privacy feature
If attackers are on your system, saving your passwords in a password vault is no protection.
Faulty hash algorithm persists, despite efforts by experts to raise awareness.
Powerful man-in-the-middle attack is now targeting online shopping.
Another high-profile coder says the kernel team needs a kinder, gentler culture.
Bug database has a bug of its own that could allow an intruder to create an unauthorized account.
Report focuses federal resources on achieving universal Internet access.
Leading browser makers say “no” to porous encryption algorithm