[Freedombox-discuss] email recommendations?

Lorenzo lorenzo at usucapio.net
Fri Feb 25 20:59:25 UTC 2011


First of all hello to everybody. One week ago I discovered Eben
Moglen's talks and since then I'm observing the interesting
discussions going on here.

I personally believe that email storage is a very important
service that needs to be de-cloudified. I already implemented,
as I guess many on the list, my "freedom-mail-box" some time
ago. I write to share my experience, in particular I will talk
about the things that required more tough.

The box provides SMTP for outgoing mail, IMAPS and webmail.

What I observed from the point of view of administration is that
after the initial setup I had no work to do except updating the
software to the latest version from time to time. This makes me
hope it is possible to build something that everybody can use.

In my implementation I had to rely on some "centralized"
services. The first is dynamic DNS. Having a name always
pointing to the box is the most convenient way of finding it
(for instance when I want to access the webmail). The second
is an SMTP relay. In theory I could run my own SMTP server but
nowadays spam filters tend to block emails coming from dynamic
IP ranges of ISPs therefore in practice I need to forward all
my email to a relay.

An alternative solution would be to buy a VPN service from a
provider and get a static IP, then make sure that the box is
always connected to the vpn. This would also solve the problem
related to having the box behind a NAT and would make sure my
ISP can't detect I'm running a "server". In this case I could
also be running my own DNS server. I didn't go this way because
my ISP doesn't complain about me running a server and the other
solution is cheaper (actually gratis).

Regarding encryption i found very convenient to implement TLS with
self signed certificates to protect my connections to the box
(SMTP to send my mail, HTTPS and IMAPS to read my mail). This
protects me from eavesdropping when I log in from unsecure
networks. To set it up it's just a matter of running a script
on the server and then accept the certificates on the devices
I use on my first log-in.

Regarding authentication to services, on my box it's done with
passwords. For this reason it is subject to automated password
guessing attacks. I can observe quite often them happening on
IMAP, while i didn't notice any on SMTP (probably because the
box would be useless as relay for the reasons mentioned above). I
tried to setup authentication using certificates. From the server
point of view there are no major problems. I however experienced
problems setting it up on my devices, in particular my phone
didn't support it. To mitigate the attacks I therefore setup
fail2ban: after 3 wrong logins an IP address gets blocked form
5 minutes.

Spamassassin is doing a decent job at keeping out spam from my
mailbox, but I have to say that most of my emails go through
gmail smtp servers first and therefore most spam is blocked there.

For backups I have script on a consumer NAS device in another
city that ssh to the box and rsyncs the mail folders (I'm using
maildirs, very convenient to backup). This however is just a
quick hack, not a real backup solution..

To finish I want to share an idea that I'm exploring right now,
I didn't implement it yet but I think it might be interesting
for the discussion.

I was thinking about how to make the freedom box as easy to use
as a cellphone. I think the key observation is that to configure
a cell phone it is sufficient to insert a SIM card. Would it
be possible to do the same with freedom boxes? For instance
put all the user setup information (dns name, email address,
certificates and keys, dynamics dns credentials, smtp relay
credentials, etc. ) in a file on a USB stick?

The user experience for the non tech savvy would be: buy a
freedombox in a shop, ask a friend to make a "USB-SIM" with
username xy (or directly buy it in the shop), get home, plug the
box in the network and plug the USB-SIM. When the user wants to
change the freedombox he just unplugs the USB-SIM from the old
box and plug it in the new box.

Underlying this approach there is also the idea 1 freedombox =
1 user. This kills quite a lot of complexity (multiple mailboxes
per domain, creation of users, etc.).

Now I try to answer the questions of the email that started the
thread. These answers are based on the previous assumption and
my experience with the development of my box:

 > What's the right stack for that part?

I used Exim, Dovecot, apache httpd, squirrelmail, spamassassin

 > How do we pick?

The components, except the webmail interface, can be substituted
with any other, the only constraint is that they can run on
the target hardware. The choice probably should go towards low
footprint software. Webmail probably should also consider the
bling of the UI.

 > What does administration of it look like?

There is no administration

 > What is the user experience like?

The user has access to the webmail,IMAPS and SSL via
boxname.dynamicdns.net. Webmail is like a regular webmail:
username, password.

 > How does the stack evolve over time?

I'm not sure I understand the question but using the philosophy
described above I would say that except from security (and spam
filter) updates the stack doesn't evolve. After all the firmware
of a normal phone doesn't ever change during its lifetime.

I hope the contribution is useful for the discussion.

Regards,
Lorenzo



More information about the Freedombox-discuss mailing list