fredag 24 september 2010

Mailserver i egen regi

Något jag länge funderat på är nu klart - jag kör min egen mailserver. Jag har haft två epostleverantörer - en för inkommande och en för utgående.
Den inkommande spamfiltrerade så hårt att fullt legitima mail inte kom igenom. En oförstående support gjorde inte saken bättre.
Den utgående mailleverantören hade även annan verksamhet på sina servrar som skickade spam, till den grad att servern klassades som skräpserver och blev blockerad av andra mailservrar.
Därtill var imapservern väldigt seg, och kontostorleken var för liten.
Det som fick mig att till slut få tummen ur var dock att avtalet skulle löpa ut.

Varför valde jag att köra eposten själv och inte ta en extern leverantör?
  • jag vill inte råka ut för för hård spamfiltrering som tar bort legitima mail
  • jag vill inte riskera att klassifiseras som en dålig server pga. andra användare
  • jag vill ha så stora mailboxar jag själv känner för
  • jag vill inte att min mail passerar sveriges gränser i onödan
  • jag vill kunna backupa mailen i mitt normala backupsystem
  • det är skoj att kunna!
Jag försökte hitta en leverantör som kunde erbjuda ett par imap-konton med rimlig storlek (>=500 MB) och inget annat. Det var svårt! Det närmaste jag kom skulle kosta över 100 kr i månaden. För den pengen kan jag lägga ner ganska mycket tid själv för att räkna hem det på lång tid. Och epost är långsiktig.

Nu kör jag postfix (för smtp) och dovecot (för imap) bakom NAT och dynamisk DNS och det fungerar mycket väl. Detta på en mycket klen server.
Det var inte helt lätt att förstå konfigurationen av postfix - det är mycket som kan konfigureras i en mailserver. Att få igång postfix med ett enstaka konto är inte särskilt svårt, däremot flera domäner, virtuella mailboxar, autentisering utan pam, kryptering, förhindra open relay, spf-verifiering och greylisting tog lite tid. Dovecot gick fortare att konfigurera - det mesta är klart från start. Den medföljande konfigurationsfilen på över 1000 rader förklarar det mesta.

Jag följde dokumentationen på postfix hemsida, samt diverse howtos. Här finns ett exempel på en howto som ger en god översikt.

I huvudsak går det ut på följande. Om man gör det i ordning så är det inte skarpt förrän sista punkten, när DNS-en ändras (MX-recorden). Här är arbetsgången i huvudsak. För mig tog det ca 30 timmar att få det att fungera, men då visste jag i princip ingenting om smtp, postfix eller dovecot.
  • konfigurera DNS så att din server kan nås via namn
  • sätt upp filstruktur för virtuella mailboxar
  • skapa lösenordsdatabas för eposten
  • konfigurera dovecot så att den når dina mailboxar och autentiserar mot lösenordsdatabasen
  • konfigurera dovecot till att använda kryptering (TLS/SSL)
  • konfigurera postfix så att den kan skicka mail ut
  • konfigurera postfix så att den inte är en open relay
  • konfigurera postfix till att autentisera genom dovecot
  • konfigurera postfix till att levera mail till dina mailboxar
  • konfigurera postfix med alla dina maildomäner, vidarebefodringar och alias
  • konfigurera postfix till att använda kryptering (TLS)
  • vidarebefodra portar smtp 25 och 587 i din router
  • vidarebefodra port 993 i din router för dovecot
  • peka om MX-recorden för din domän (det är nu extern epost faktiskt dirigeras in till servern, till dess kan du härja runt fritt för att prova att det fungerar!)
  • lägg till greylisting och spf till postfix
  • ordna backup av mailboxarna

Det som återstår att göra är att fixa självsignerade certifikat så att jag slipper bekräfta varningarna i mitt epostprogram. Samt möjligtvis spam-filtrering...
Och kanske webmail, men det är en annan historia.

Nu så här en vecka efter att allt gått i drift måste jag säga att det fungerar riktigt bra. Responstiden är makalöst kort - precis som det ska vara.

Jag använder Debian, en helt fantastisk linuxdistribution. Tack, alla debianutvecklare och ni som skrivit alla program jag använder!

2 kommentarer:

Ulrich sa...

Jag blev undrande när mina utgående mail till en del norsak adresser aldrig kom fram. Det kunde slutat med affärer som ej skulle blivit av samt förlorad goodwill. Efter en hel del utredande visade det sig att några norska operatörer hade filtrerat bort allt som gick vi telias e-postserver p g a att någon skickat spam. Telia har antagligen flera hundratusen konton.

Anonym sa...

Jag håller med, Debian är helt fantastiskt, och och jättetack till alla som underhåller alla paket och supportar debian utan ersättning.