[Dovecot] Encryption solution for messages at rest
Ed W
lists at wildgooses.com
Wed Oct 30 12:46:41 EET 2013
I think your problem can be more generically restated as:
- Untrusted users have access to the mailstore, eg employees who
maintain the server, attackers who break into the system as untrusted
user accounts
- There is some trusted process to get access to decryption keys and
largely this process is secure (obviously except attacks which succeed
to escalate to root, or if employees typically get root access)
- How to extend this secure key access process to dovecot
So Exchange offers this feature where you can encrypt the mail and grant
specific users access to decrypt subsets of the mail. This means that
employees managing the mail server may not have access to decrypt the
messages for their boss, etc (without at least using trickery to bypass
and escalate their privileges - of course this is always possible,
especially with physical access, but it reduces the attack surface)
Off the top of my head it seems like any attempts to do this using block
disk encryption layers substantially boil down to equivalent to standard
file permissions. eg adding ecryptfs on the mail store means you need to
prevent access to the mounted decrypted files, which given the mail
store is a long running process, is largely equivalent to just using
file permissions, MAC, grsec, etc to protect the dir?
Timo's suggestion to incorporate in Dovecot opens up possible solutions.
ie now files can be decrypted *as* they are required by the mail server.
decryption key can probably be stored in userdb without loss of privacy
(since if you can get the password for the account you can just pickup
the emails via imap?). Bonus marks if you design some encrypted key
store, but is seems challenging to add value here, possibly against more
specific attacks, eg you don't want your database DBA to be able to get
access to the decryption keys, hence a separate (simple) database just
for decryption keys moves the problem sideways.
Using Timo's filter this all seems very do-able, but performance will
obviously be impacted. Modern processers are very fast at certain types
of encryption opts though..?
I'm interested to see what you produce. Seems interesting, but as many
have already commented, it really only defends against a limited attack
surface and not at all if the dovecot process or root/dovecot user is
compromised. I think corporates would quite like this feature though
Ed W
On 28/10/2013 19:14, Douglas Mortensen wrote:
> Currently our dovecot servers are on our webhosting linux boxes. We are using the LAMP stack to host websites, and also doing email with postfix & dovecot on these systems. We provide this as a hosting setup for 100+ accounts/websites on a single server (a multi-tenant setup). Each customer has anywhere between 1-100 email accounts which Dovecot services.
>
> If a customer has vulnerable PHP code on a website, some of these will allow a remote file upload. I have seen cases where they upload a PHP script that is a sort of web-based console/shell to the server (file-system, etc.). It provides several tools which all run through the uploaded PHP script to try to brute force and do other attacks. I've seen attempts at a root exploit. We've never had a root exploit and any such case of a customer's site being hacked has been easily contained by simple filesystem permissions being correct (and the fact that we have apache setup to run all scripts as the user who is the owner of the script files, which confines the script to that users' permissions). Still nobody loves the idea of bad guys trying to hack on your box.
>
> So.... given that type of scenario, if filesystem permissions weren't correct, or some new exploit surfaced that allowed someone bypass or elevate to root, then they could theoretically have access to the entire fileystem including where emails are stored.
>
> I hope to never have this sort of thing happen. We patch our systems regularly and have other security measures we follow to prevent this. We also are managing most of the PHP scripts customers use ourselves now and are updating those for the CMS' and other systems proactively.
>
> However, it would be nice to know that even if we were breached, the emails on the server were encrypted and would be completely useless to an attacker.
>
> This type of encryption is ideal and some regulations prefer (although don't require) it.
> -
> Doug Mortensen
> Network Consultant
> Impala Networks
> P: 505.327.7300
>
> -----Original Message-----
> From: dovecot-bounces at dovecot.org [mailto:dovecot-bounces at dovecot.org] On Behalf Of Michael Orlitzky
> Sent: Monday, October 28, 2013 11:52 AM
> To: dovecot
> Subject: Re: [Dovecot] Encryption solution for messages at rest
>
> On 10/28/2013 12:02 PM, Douglas Mortensen wrote:
>> Hi,
>>
>> We have clients with various security & compliance requirements.
>> Although not required, it would be ideal to have messages encrypted at
>> rest.
> You can rule out a lot of the crazier options by answering the questions,
>
> (a) What attack scenario do you have in mind?
>
> (b) How will encryption help?
>
More information about the dovecot
mailing list