Debian server beheer

Mail ontvangen: Postfix, Dovecot en SASL installeren

Met postfix en dovecot heb je de bsis voor een mailserver. Postfix is nodig om mail uit te wisselen tussen servers, het is dus zowel nodig om mail te ontvangen als om mail te versturen. Dovercot is een IMAP server die je gebruikers nodig hebben om met outlook oid hun mail op te halen. Om te beginnen installeren we de software:

apt-get install dovecot-imapd postfix sasl2-bin libsasl2-2 libsasl2-modules

Tijdens de installatie wordt je gevraag wat voor soort server je in wilt stellen. Kies dan voor internet. Ook wordt de naam van je server gevraagd. Meestal staat deze als vooringevuld, zoniet dan vul je de volledige naam van je server in. Eventueel kun je die naam ophalen met

hostname -f

Postfix configuratie

Maak een backup van het conficuratiebestand en bewerk het originaal:

cp /etc/postfix/main.cf /etc/postfix/main.cf.backup1 nano /etc/postfix/main.cf

Voeg de volgende regels toe aan het einde van het bestand:

home_mailbox = Maildir/ smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous smtpd_sasl_local_domain = $myhostname broken_sasl_auth_clients = yes smtpd_sender_restrictions = permit_sasl_authenticated, permit_mynetworks, smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject_unknown_sender_domain,

In de eerste regel vertellen we postfix de mail op te slaan in de Maildir map in de thuismap van elke gebruiker. De volgende tregels stellen sasl autorisatie in. Tenslotte weigeren we mail met onbekende bestemming of een onbekende afzender. In het volgende hoofdstuk voegen we meer spam- en virusfiltering toe.

Tenslotte moet postfix nog leren welke autorisatiemethode gebruikt moet worden. Maak een nieuw bestand:

nano /etc/postfix/sasl/smtpd.conf

En zet daar ve volgende twee regels in:

pwcheck_method: saslauthd mech_list: plain login

Mail voor meedere domeinen ontvangen

Voeg de volgende regels aan main.cf toe:

virtual_alias_domains = domein1.nl, domein2.com virtual_alias_maps = hash:/etc/postfix/virtual

Bij de virtual-alias_domains vul je de namen in van de domeinen waarvoor je mail gaat ontvangen. De regels alias_maps en alias_database gebruiken we niet, je kunt die wissen of uitschekelen door er een # voor te zetten. Nu gaan we het bestand virtual maken:

nano /etc/postfix/virtual

Je kun in dit bestand definieren welke e-mailadressen van de virtuele domeinen waar aankomen. Bijvoorbeeld:

# instellingen voor domein1.nl jan@domein1.nl root webmaster@domein1.nl webmaster test@domein1.nl ergens@gmail.com, nogergens@hotmailcom # instellingen voor domein2.com jan@domein2.com root test@domein2.com ergens@gmail.com

Zoals je ziet kun je zowel accounts op de server (root, webmaster) als adressen elders gebruiken. Je kunt ook meerdere adressen gebruiken gescheiden door een komma. Sla het bestand nu op met control-o en sluit nano af.

Je moet uiteraard wel apart de DNS zo instellen dat de MX-records (mail exchange) verwijzen naar deze server. Nu is het tijd om de configuratie opnieuw te laden:

postmap /etc/postfix/virtual postfix reload

Het is ook mogelijk om de domeinen te definiëren in het bestand virtual. Je laat de regel virtual_alias_domains = domein1.nl, domein2.com dan weg uit main.cf en maakt het bestand virtual zo:

# instellingen voor domein1.nl domein1.nl - jan@domein1.nl root webmaster@domein1.nl webmaster test@domein1.nl ergens@gmail.com, nogergens@hotmailcom # instellingen voor domein2.com domein2.com - jan@domein2.com root test@domein2.com ergens@gmail.com

Het is ook mogelijk om een catch-all regel te maken. Voeg het volgende toe aan virtual

@domein1.nl root

Mail aan elk willekeurig @domein.nl adres wordt dan bezorgd aan root. Overigens is dit in het algemeen niet aan te raden, het zal je vooral veel spam opleveren.

Dovecot configuratie

Maak een backup van de dovecot configuratie en open het origineel in nano:

cp /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.backup1 nano /etc/dovecot/dovecot.conf

Zoek eerst de regel "protocols = imap imaps". Als daar nog een # teken voor staat, haal die dan weg. Voeg vervolgens na die regel toe:

protocol imap { listen = *:143 ssl_listen = *:993 }

Zoek in het bestand de regel mail_location en pas die alsvolgt aan:

mail_location = maildir:~/Maildir/

Zoek nu in het bestand je de sectie "auth default" tegenkomt. Haal die helemaal weg en vervang door:

auth default { mechanisms = plain login passdb pam { } userdb passwd { } socket listen { client { path = /var/spool/postfix/private/auth mode = 0660 user = postfix group = postfix } } }

Met deze stappen hebben we het imap en imaps protocol geactivieerd, dovecot verteld dat het Maildir moet gebruiken (net als postfix) en de authenticatie-methode ingesteld.

Dovecot met POP3

In het bovenstaande deel hebben we Dovecot geïnstalleerd met ondersteuning voor IMAP. Dit is een modern protocol om je mail op te halen en vooral handig als je mail op meerdere apparaten leest, bijvoorbeeld een computer, een tablet en een smartphone. IMAP synchroniseert je mail, dus als je een bericht op het ene apparaat leest, wordt dat bericht op de andere apparaten ook gemarkeerd als gelezen. In de meeste situaties is IMAP de beste keuze.

Soms heb je misschien toch behoefte aan POP3. Om Dovecot werkend te krijgen met POP3 installer je extra software:

apt-get install dovecot-pop3d

Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: dovecot-pop3d ... Setting up dovecot-pop3d (1:1.2.15-7) ... Restarting IMAP/POP3 mail server: dovecot.

Het protocol POP3 wordt tijdens deze installatie al toegevoegd aan de Dovecot configuratie. Vergeet niet poort 110 open te zetten in de firewall.

SASL configureren

Maak een kopie van het conficuratoebestand en open het origineel in nano:

cp /etc/default/saslauthd /etc/default/saslauthd.backup1
nano /etc/default/saslauthd

Pas de volgende twee regels aan:

START=yes MECHANISMS="pam"

Vervolgens zijn een aantal aanpassingen nodig om postfix te laten communiceren met sasl. Verwijder eerst de volgende map:

rm -r /var/run/saslauthd/

Nu maken we een nieuwe map aan, linken die aan /var/run/

mkdir -p /var/spool/postfix/var/run/saslauthd ln -s /var/spool/postfix/var/run/saslauthd /var/run chgrp sasl /var/spool/postfix/var/run/saslauthd

Als laatste voegen we de gebruiker postfix toe aan de groep sasl:

adduser postfix sasl

Tenslotte: alles herstarten

Als laatste stap moeten we postfiox, dovecot en sasl hersarten

/etc/init.d/dovecot restart /etc/init.d/postfix restart /etc/init.d/saslauthd restart

Als dat allemaal gelukt is kunnen de gebruikers nu mail ontvangen en versturen.