Ik ben al enige tijd bezig met het 'ontwikkelen' van een mailplatform waar ik zelf vertrouwen in heb: SMTP server met authenticatie, IMAP en POP3 server (dit alles over een beveiligde verbinding), spam- en virusfilter en een redelijke webmail client.
Voor veel mensen is het genoeg om een paar voorgebouwde packages te pakken en die op hun server te mikken, maar dat ik niet mijn stijl. Ik geloof dat om de techniek te begrijpen je zelf onder de motorkap moet klimmen. En daarnaast is 'standaard' niet goed genoeg. ![]()
Ik heb nu inmiddels mijn producten gekozen:
- voor de SMTP service Postfix, de snelle en veilige mailserver van Wietse Venema
- als authenticatielaag over de SMTP service Cyrus SASL(Simple Authentication and Security Layer)
- voor de IMAP en POP3 mechanismen Courier-IMAP
- SpamAssassin voor het 'filteren' van spam
- Clam Anti-Virus voor virus-detectie en filtering, en ten slotte
- Squirrel Webmail client.
Het bouwen van dit alles in an sich niet zo moeilijk; er zijn veel tutorials te vinden over deze onderwerpen. Maar zoals ik zei, standaard is niet goed genoeg voor mij. ![]()
Om de data op een veelzijdige manier te kunnen gebruiken heb ik gekozen voor opslag in een MySQL database. MySQL mag wel niet de mooiste databaseoplossing zijn (PostgreSQL is beter), MySQL geniet een brede ondersteuning en is relatief simpel.
Het eerste wat ik heb gedaan is het bouwen en configureren van Postfix en SASL. An sich niet zo moeilijk, maar ik was niet tevreden met de manier waarop SASL met wachtwoorden omspringt.
In mijn optiek is de juiste manier van authenticatie de gebruikersnaam en het wachtwoord te sturen naar de database en kijken of er een overeenkomst te vinden is. Wat SASL echter doet is het wachtwoord opvragen uit de database aan de hand van de gebruikersgegevens. Niet alleen is dit onverstandig vanuit een beveiligingsoogpunt, maar maakt het ook moeilijker om je wachtwoord anders (bijvoorbeeld versleuteld) op te slaan.
Gelukkig was ik niet de enige die dit vond; Branko Gracnar heeft een patch (wijziging) geschreven op SASL die je de mogelijkheid biedt om in ieder geval je wachtwoorden versleuteld op te slaan. Thanks dude. ![]()
Momenteel ben ik bezig met het installeren van Courier-IMAP. Hier valt eigenlijk nog niets over te zeggen. Daarom laat ik dit onderwerp voor wat het is en ga even verder knutselen. Later meer hierover. ![]()

Door saslautd te gebruiken voor auth is het wel mogelijk om users en paswoorden te laten veriferen in een database. Om dit mogelijk te maken moet je je smtp.conf aanpassen en get volgende erin plaatsen : pwcheck_method: saslauthd. Deze zal aan de hand van pam (waar je sql script staat) auth gaan doen. Dit werkt schitterend ...
Geplaatst door: cvdb | 7 augustus 2005 om 23:31