page header photo

juli 2016 Archieven

Gecombineerde authenticatie voor ontvangen en verzenden van e-mail :: Rapportage


Geplaatst door gait op 2016-07-01 15:08:47 | Permanente link | Categorie: Systeembeheer, Tips and Tricks | Reacties: 0

Gecombineerde authenticatie voor IMAP (met Dovecot) en SMTP (met Postfix)

Dit artikel sluit aan op het blogitem "Mailserver howto" van 4 augustus 2015.

Stel: Je wilt authenticatie bij zowel het verzenden als het lezen van e-mail. Voor het lezen gebruik je Dovecot en die verzorgt daarvoor de authenticatie. Omdat de combinatie gangbaar is kun je Postfix gebruik laten maken van die dienst.

Wordt er een bericht verzonden dan spiekt de SMTP-server (Postfix) voor de authenticatie bij de IMAP-server (Dovecot). Hoe de authenticatie bij Dovecot werkt hoeft Postfix niet te weten.

Configureer dit voor Postfix door het volgende in het bestand /etc/postfix/main.cf op te nemen:

smtpd_sasl_type = dovecot
# path to the SASL socket relative to postfix spool directory
# i.e. /var/spool/postfix
# (onafhankelijk van eventuele chroot())
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes

Bij Dovecot gaat het om twee bestanden in de reeds bestaande configuratie. In het bestand /etc/dovecot/conf.d/10-master.conf zet je:

service auth {
  ...
  # Postfix smtp-auth
  unix_listener /var/spool/postfix/private/auth {
    mode = 0660
    # Assuming the default Postfix user and group
    user = postfix
    group = postfix
  }
  ...
}

Aan het bestand /etc/dovecot/conf.d/10-auth.conf voeg je toe:

  auth_mechanisms = plain login

Postfix Rapportage

Het Perl-script pflogsumm maakt een overzicht van de activiteiten van Postfix.

Je kunt het script aanroepen in een script in /etc/cron.daily/. Het lukte pflogsumm aanvankelijk niet om (ver) terug te kijken omdat het logbestand op dat moment niet zo ver terug in de tijd ging. Dat werd opgelost door de volgorde van de dagelijks uit te voeren acties in de directory etc/cron.daily/ zo aan te passen dat eerst pflogsumm rapport uitbrengt en daarna pas logrotate de /var/log/maillog roteert.

De details die in de rapportage komen kun je tot in detail instellen:

#! /bin/ksh
pflogsumm \
         /var/log/mail.log \
         --bounce_detail 10 \
         -d yesterday \
         --deferral_detail 10 \
         --detail 10 \
         -h 10 \
         --ignore_case \
         --iso_date_time \
         --mailq \
         --problems_first \
         -q \
         --reject_detail 10 \
         --smtp_detail 10 \
         --smtpd_stats \
         --smtpd_warning_detail 10 \
         -u 10 \
         --verbose_msg_detail \
         --verp_mung=2 \
         |
mail -s "Postfix log summaries $(/bin/date --date=yesterday +%Y-%m-%d)" \
         root@mail.com \

Postfix Caching

Eens kwam ik er door die rapportage achter dat een bepaalde ontvangende partij om de haverklap nieuwe verbindingen weigerde omdat er al teveel open waren. Normaal gesproken past Postfix vanzelf caching toe (on demand caching) doch caching afdwingen per bestemming kan ook:

smtp_connection_cache_destinations = mx-host.tld

Dit bleek afdoende.