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 _______________________________________________ Freedombox-discuss mailing list [email protected] http://lists.alioth.debian.org/mailman/listinfo/freedombox-discuss
