[Dovecot] Please help me resolve why mail isn't being delivered to virtual users
Asheesh Laroia
asheesh at asheesh.org
Wed Jan 9 23:51:00 EET 2008
On Wed, 9 Jan 2008, Pascal Volk wrote:
> Am 09.01.2008 21:43 schrieb Asheesh Laroia:
>> Not in the way I was describing:
>>
>> Let's say some person logs on to your Dovecot-based IMAP service and
>> figures out how to take over Dovecot to read and modify arbitrary files on
>> the system. (Timo, I hope this doesn't happen - but bear with me.) To be
>> clear, Dovecot's imap handler runs as the UNIX UID associated with the
>> user logging in, not root.
>>
>> In the virtual user setup that the thread starter described, the user
>> shares his UNIX UID with the other virtual users on the system. So he has
>> UNIX permission to read and write other users' mail.
>
> This will be only the case, if you have a poor™ setup.
> If the setup is done right, each imap/pop user will have it's on UID.
> And therefor each imap/pop process will run with the UID from the user.
>
> ,--[ `ps aux | grep imap | head -n 5` ]--
> | 70001 5691 0.0 0.0 2676 1416 ? S 12:45 0:00 imap
> | 70002 5693 0.0 0.0 2600 1212 ? S 12:45 0:00 imap
> | 70014 5695 0.0 0.0 2676 1256 ? S 12:45 0:00 imap
> | 70013 5696 0.0 0.0 2420 1164 ? S 12:45 0:00 imap
> | 70000 5698 0.0 0.0 2564 1200 ? S 12:45 0:00 imap
> `--
>
>> In my setup where you assign separate UIDs to each user, the attacking
>> user can only read/modify the files that he has UNIX filesystem permission
>> to read/modify. That would limit the attacker to only being able to
>> destroy his own mail, unlike the virtual user setup.
>>
>>> Virtual users do not have all of their data jumbled together into one
>>> file, which seems to me anyway what you are referring to.
>>
>> No, I meant filesystem-level permissions. Obviously no one is talking
>> about different users having "all their data jumbled together into one
>> file"; sorry if I wasn't clear.
>
> Filesystem-level permissions are also possible with virtual Users:
>
> ,--[ `ls -l /srv/mail/1/70003 | tail -n 5` ]--
> | drwx------ 3 70007 70003 4096 2007-12-31 17:48 70007
> | drwx------ 3 70008 70003 4096 2007-10-16 23:07 70008
> | drwx------ 3 70009 70003 4096 2007-10-16 23:08 70009
> | drwx------ 3 70010 70003 4096 2007-10-16 23:08 70010
> | drwx------ 3 70011 70003 4096 2007-12-31 18:19 70011
> `--
As they say, I have been schooled. (-:
My apologies - I wasn't aware of these "virtual user with a UID" setups.
I was only aware of the "virtual users all share a UID" setup like the
thread starter described.
Can you provide a link to documentation on the system that you're
describing?
-- Asheesh.
--
Chicken Little only has to be right once.
More information about the dovecot
mailing list