WikiMiNET

La documentation technique et administrative

Outils pour utilisateurs

Outils du site


wiki:mail:smtp

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
wiki:mail:smtp [2015/10/29 23:59]
Thithib wiki:mail:installation:presentation renamed to smtp (moved)
wiki:mail:smtp [2015/10/30 00:03] (Version actuelle)
Thithib smtp renamed to wiki:mail:smtp (fix location)
Ligne 1: Ligne 1:
 +===== Installation d'un serveur SMTP MiNET =====
  
 +Des versions plus récentes des fichiers de configuration se trouvent peut-être sur Gitlab.
 +
 +==== Réseau ====
 +
 +<​code>​
 +# cat /​etc/​network/​interfaces ​
 +auto lo
 +iface lo inet loopback
 +
 +auto eth0
 +iface eth0 inet static
 +        address 192.168.102.18
 +        netmask 255.255.255.0
 +
 +auto eth2
 +iface eth2 inet static
 +        address 157.159.40.18
 +        netmask 255.255.255.128
 +        gateway 157.159.40.1
 +
 +iface eth2 inet6 static
 +        address 2001:​660:​3203:​422::​A18
 +        netmask 64
 +        gateway 2001:​660:​3203:​422::​1
 +        up echo 0 > /​proc/​sys/​net/​ipv6/​conf/​all/​autoconf
 +                                                                                              ​
 +auto eth103 ​                                                                                  
 +iface eth103 inet static ​                                                                     ​
 +        address 192.168.103.18 ​                                                               ​
 +        netmask 255.255.255.0
 +
 +auto eth14
 +iface eth14 inet static
 +        address 192.168.14.7
 +        netmask 255.255.255.0
 +</​code>​
 +
 +==== Paquets ====
 +
 +<​code>​
 +apt-get install postfix sasl2-bin libsasl2-modules libsasl2-2 opendkim [opendkim-tools]
 +</​code>​
 +
 +==== Configuration de l'​authentification ====
 +
 +<​code>​
 +# cat /​etc/​saslauthd.conf ​
 +# LDAP MiNET
 +ldap_servers:​ ldap://​ldap.minet.net/​
 +ldap_version:​ 3
 +
 +ldap_auth_method:​ bind
 +ldap_bind_dn:​ cn=sasl,​ou=auths,​ou=systems,​ou=equipe,​dc=minet,​dc=net
 +ldap_password:​ couic
 +
 +ldap_mech_list:​ plain login
 +
 +ldap_search_base:​ ou=equipe,​dc=minet,​dc=net
 +ldap_filter:​ (|(&​(uid=%u)(objectClass=gosaMailAccount)(|(gosaMailDeliveryMode=*L*)(gosaMailDeliveryMode=*V*)(gosaMailDeliveryMode=*I*)))(&​(cn=%u)(cn=cyradmin)))
 +</​code>​
 +
 +Dans ''/​etc/​default/​saslauthd''​ :
 +
 +<​code>​
 +MECHANISMS="​ldap"​
 +THREADS=10
 +OPTIONS="​-O /​etc/​saslauthd.conf -c -m /​var/​spool/​postfix/​var/​run/​saslauthd"​
 +</​code>​
 +
 +Les logs d'​authentification sont situés dans ''/​var/​log/​auth.log''​.
 +
 +<​code>​
 +# cat /​etc/​postfix/​sasl/​smtpd.conf ​
 +pwcheck_method:​ saslauthd
 +mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5
 +</​code>​
 +
 +==== Configuration du serveur mail ====
 +
 +<​code>​
 +##########################​
 +# Configuration générale #
 +##########################​
 +
 +# Nom de domaine
 +mydomain = minet.net
 +
 +alias_maps = hash:/​etc/​aliases
 +alias_database = hash:/​etc/​aliases
 +
 +# On diminue le temps de séjour dans la file.
 +maximal_queue_lifetime = 2h
 +bounce_queue_lifetime = 2h
 +
 +########################​
 +# Configuration réseau #
 +########################​
 +
 +# Autorisation de l'ipv6 (ipv4 par défaut)
 +inet_protocols = all
 +
 +# Réseaux autorisés à relayer via la machine
 +mynetworks = 127.0.0.0/​8,​ 192.168.1.0/​24,​ 192.168.14.0/​24,​ 192.168.102.0/​24,​ 192.168.103.0/​24,​ [2001:​660:​3203:​430::​]/​64,​ 157.159.40.243/​32
 +
 +#######################​
 +# Transport des mails #
 +#######################​
 +
 +# Machine à qui on transmet le courier non local (par défaut, adresse de destination)
 +relayhost = mx.minet.net:​10025
 +
 +#######################################​
 +# Configuration de l'​authentification #
 +# sur le LDAP avec SASL               #
 +#######################################​
 +
 +# Activation sasl
 +smtpd_sasl_auth_enable = yes
 +smtpd_sasl_security_options = noanonymous
 +
 +# Interopérabilité avec de vieux clients
 +broken_sasl_auth_clients = yes
 +
 +# Ajouter le login de l'​authentification à l'​en-tête du message
 +smtpd_sasl_authenticated_header = yes
 +
 +######################​
 +# Règles de filtrage #
 +######################​
 +
 +# HELO nécessaire
 +smtpd_helo_required = yes
 +
 +# Restriction sur le port 25 : autorisation seulement sur le réseau local
 +smtpd_recipient_restrictions =
 +        permit_mynetworks,​
 +        reject
 +
 +# Restrictions sur les ports authentifiés
 +submission_recipient_restrictions =
 +        permit_sasl_authenticated,​
 +        reject
 +
 +############​
 +# Sécurité #
 +############​
 +
 +# Affiche l'​hostname d'un serveur offrant du starttls
 +smtp_tls_note_starttls_offer = yes
 +
 +# Certificats
 +smtpd_tls_cert_file = /​etc/​postfix/​tls/​cert-minet.net.pem
 +smtpd_tls_key_file = /​etc/​postfix/​tls/​key-minet.net.pem
 +
 +# Activation de SSL/TLS
 +smtpd_use_tls = yes
 +smtpd_tls_loglevel = 1
 +smtpd_tls_received_header = yes
 +smtpd_tls_session_cache_timeout = 3600s
 +
 +# DKIM
 +milter_default_action = accept
 +milter_protocol = 2
 +smtpd_milters = inet:​localhost:​8891
 +non_smtpd_milters = inet:​localhost:​8891
 +</​code>​
 +
 +<​code>​
 +# cat /​etc/​postfix/​master.cf ​
 +#
 +# Postfix master process configuration file.  For details on the format
 +# of the file, see the master(5) manual page (command: "man 5 master"​).
 +#
 +# Do not forget to execute "​postfix reload"​ after editing this file.
 +#
 +# ==========================================================================
 +# service type  private unpriv ​ chroot ​ wakeup ​ maxproc command + args
 +#               ​(yes) ​  ​(yes) ​  ​(yes) ​  ​(never) (100)
 +# ==========================================================================
 +smtp      inet  n       ​- ​      ​- ​      ​- ​      ​- ​      smtpd
 +submission inet n       ​- ​      ​- ​      ​- ​      ​- ​      smtpd
 +  -o smtpd_tls_security_level=encrypt
 +  -o smtpd_sasl_auth_enable=yes
 +  -o smtpd_recipient_restrictions=$submission_recipient_restrictions
 +smtps     ​inet ​ n       ​- ​      ​- ​      ​- ​      ​- ​      smtpd
 +  -o smtpd_tls_wrappermode=yes
 +  -o smtpd_sasl_auth_enable=yes
 +  -o smtpd_recipient_restrictions=$submission_recipient_restrictions
 +#628      inet  n       ​- ​      ​- ​      ​- ​      ​- ​      qmqpd
 +pickup ​   fifo  n       ​- ​      ​- ​      ​60 ​     1       ​pickup
 +cleanup ​  ​unix ​ n       ​- ​      ​- ​      ​- ​      ​0 ​      ​cleanup
 +qmgr      fifo  n       ​- ​      ​n ​      ​300 ​    ​1 ​      qmgr
 +#qmgr     ​fifo ​ n       ​- ​      ​- ​      ​300 ​    ​1 ​      oqmgr
 +tlsmgr ​   unix  -       ​- ​      ​- ​      ​1000? ​  ​1 ​      ​tlsmgr
 +rewrite ​  ​unix ​ -       ​- ​      ​- ​      ​- ​      ​- ​      ​trivial-rewrite
 +bounce ​   unix  -       ​- ​      ​- ​      ​- ​      ​0 ​      ​bounce
 +defer     ​unix ​ -       ​- ​      ​- ​      ​- ​      ​0 ​      ​bounce
 +trace     ​unix ​ -       ​- ​      ​- ​      ​- ​      ​0 ​      ​bounce
 +verify ​   unix  -       ​- ​      ​- ​      ​- ​      ​1 ​      ​verify
 +flush     ​unix ​ n       ​- ​      ​- ​      ​1000? ​  ​0 ​      flush
 +proxymap ​ unix  -       ​- ​      ​n ​      ​- ​      ​- ​      ​proxymap
 +proxywrite unix -       ​- ​      ​n ​      ​- ​      ​1 ​      ​proxymap
 +smtp      unix  -       ​- ​      ​- ​      ​- ​      ​- ​      smtp
 +# When relaying mail as backup MX, disable fallback_relay to avoid MX loops
 +relay     ​unix ​ -       ​- ​      ​- ​      ​- ​      ​- ​      smtp
 +        -o smtp_fallback_relay=
 +#       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
 +showq     ​unix ​ n       ​- ​      ​- ​      ​- ​      ​- ​      showq
 +error     ​unix ​ -       ​- ​      ​- ​      ​- ​      ​- ​      error
 +retry     ​unix ​ -       ​- ​      ​- ​      ​- ​      ​- ​      error
 +discard ​  ​unix ​ -       ​- ​      ​- ​      ​- ​      ​- ​      ​discard
 +local     ​unix ​ -       ​n ​      ​n ​      ​- ​      ​- ​      local
 +virtual ​  ​unix ​ -       ​n ​      ​n ​      ​- ​      ​- ​      ​virtual
 +lmtp      unix  -       ​- ​      ​- ​      ​- ​      ​- ​      lmtp
 +anvil     ​unix ​ -       ​- ​      ​- ​      ​- ​      ​1 ​      anvil
 +scache ​   unix  -       ​- ​      ​- ​      ​- ​      ​1 ​      ​scache
 +</​code>​
 +
 +==== Configuration de DKIM ====
 +
 +Génération des clés : 
 +
 +<​code>​
 +opendkim-genkey -r -s mail -d minet.net
 +</​code>​
 +
 +Placer la clé privée ​ dans ''/​etc/​postfix/​dkim/​minetnet_mail.private'',​ et le contenu de ''​mail.txt''​ dans un champ DNS du domaine ''​minet.net''​.
 +
 +Dans ''/​etc/​default/​opendkim''​ :
 +
 +<​code>​
 +SOCKET="​inet:​8891@localhost"​
 +</​code>​
 +
 +Puis dans ''/​etc/​opendkim.conf''​ :
 +
 +<​code>​
 +Domain ​                 minet.net
 +KeyFile ​                /​etc/​postfix/​dkim/​minetnet_mail.private
 +Selector ​               mail
 +
 +InternalHosts ​          ​192.168.102.0/​24,​ 192.168.103.0/​24,​ 192.168.14.0/​24
 +</​code>​
 +
 +Cela permet d'​accepter sans problèmes et de signer les messages des vlans privés, en plus des messages soumis directement au smtp.
wiki/mail/smtp.txt · Dernière modification: 2015/10/30 00:03 par Thithib