Outils pour utilisateurs

Outils du site


admin:infrastructure:mail

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édentesRévision précédente
Prochaine révision
Révision précédente
admin:infrastructure:mail [2017/07/11 16:41] fpoulainadmin:infrastructure:mail [2021/09/17 13:43] (Version actuelle) cpm
Ligne 4: Ligne 4:
  
 Les envois de mails vers l'Internet se font par lui, c'est donc le relais.  Il reçoit également tous les domaines hébergés par chapril, dont le principal chapril.org Les envois de mails vers l'Internet se font par lui, c'est donc le relais.  Il reçoit également tous les domaines hébergés par chapril, dont le principal chapril.org
 +
 +<note tip>Pour installer un postfix satellite, c'est ici : [[admin:procedures:installation_postfix_satellite|Installation d'un postfix en satellite]]</note>
  
 Le serveur de mails est un postfix et le serveur de réception de courrier dovecot. On ne va pas s'étendre sur ce dernier car actuellement il n'y a pas d'email délivré à autre que root. Le serveur de mails est un postfix et le serveur de réception de courrier dovecot. On ne va pas s'étendre sur ce dernier car actuellement il n'y a pas d'email délivré à autre que root.
 +
 +Enfin, sympa et l'interconnexion de sympa fait l'objet d'une documentation spécifique : [[admin:infrastructure:sympa|Interconnexion entre sympa et postfix]].
  
 ===== Architecture de postfix ===== ===== Architecture de postfix =====
Ligne 20: Ligne 24:
  
 La configuration TLS est basique: un couple clé/certificat placé dans ''/etc/ssl/'' a été créé et auto-signé.  Les protocoles SSLv2 et SSLv3 ont été désactivés et l'authentification doit utiliser TLS obligatoirement. La configuration TLS est basique: un couple clé/certificat placé dans ''/etc/ssl/'' a été créé et auto-signé.  Les protocoles SSLv2 et SSLv3 ont été désactivés et l'authentification doit utiliser TLS obligatoirement.
 +
 +<note warning>Toute la doc qui suit a été écrite à froid, adaptée de celle de l'April, et concerne des sujets touchy. Il est évident que la peinture ne soit pas sèche et que des éléments divergent de ce qui est réellement sur le serveur.</note>
 +
 +===== Installation de Amavis =====
  
 <code bash> <code bash>
-apt-get install postfix-policyd-spf-python amavisd-new spamassassin clamav-daemon +apt install amavisd-new spamassassin clamav-daemon pyzor razor arj bzip2 cabextract cpio file gzip nomarch pax unzip zip
-apt-get install libnet-dns-perl libmail-spf-perl pyzor razor +
-apt-get install arj bzip2 cabextract cpio file gzip nomarch pax unzip zip+
 </code> </code>
  
Ligne 46: Ligne 52:
  
 <code bash> <code bash>
-apt-get install clamav-testfiles+apt install clamdscan clamav-testfiles 
 +systemctl start clamav-daemon.service 
 +systemctl restart clamav-freshclam.service
 clamdscan /usr/share/clamav-testfiles/clam.mail clamdscan /usr/share/clamav-testfiles/clam.mail
 </code> </code>
  
 +Enfin décommenter les lignes dans ''/etc/amavis/conf.d/15-content_filter_mode'' :
 +<code conf /etc/amavis/conf.d/15-content_filter_mode >
 +@bypass_virus_checks_maps = (
 +   \%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);
 +
 +@bypass_spam_checks_maps = (
 +   \%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);
 +
 +</code>
 +
 +Et redémarrer amavis :
 +  systemctl restart amavis
 ===== Installation de fail2ban ===== ===== Installation de fail2ban =====
  
Ligne 56: Ligne 76:
 <code bash> <code bash>
 apt-get install fail2ban apt-get install fail2ban
-/etc/fail2ban/jail.conf: 
-ignoreip = 172.16.0.0/24 127.0.0.1/8 
-bantime  = 86400 
-findtime = 600 
-maxretry = 5 
-destemail = admins-auto@april.org 
-sender = admins-auto@april.org 
 </code> </code>
  
Ligne 74: Ligne 87:
  
 Après ça postgrey tourne et écoute sur le 10023. Il faut ajouter une restriction au niveau de posftix : Après ça postgrey tourne et écoute sur le 10023. Il faut ajouter une restriction au niveau de posftix :
-<code postfix /etc/postfix/main.cf>+<code postfix /etc/postfix/conf.d/50-restrictions.conf:>
 smtpd_recipient_restrictions = smtpd_recipient_restrictions =
                              [...]                              [...]
                              check_policy_service inet:127.0.0.1:10023,                              check_policy_service inet:127.0.0.1:10023,
-                             permit 
 </code> </code>
 Et nous allons baisser fortement le délais de greylisting, le temps d'avoir en base une liste convenable de serveurs autorisés : Et nous allons baisser fortement le délais de greylisting, le temps d'avoir en base une liste convenable de serveurs autorisés :
 <code bash /etc/default/postgrey> <code bash /etc/default/postgrey>
 POSTGREY_OPTS="--inet=10023 --delay=60" POSTGREY_OPTS="--inet=10023 --delay=60"
 +</code>
 +
 +Nous allons aussi ajouter une liste de gros comptes en whitelist car les messages venant d'eux peuvent « rebondir » depuis de nombreux serveurs d'un même pool avant de nous parvenir tel qu'on les attend
 +<code conf /etc/postgrey/whitelist_clients>
 +yahoo.com
 +google.com
 +hotmail.com
 +live.fr
 +outlook.com
 +mail-out.ovh.net
 +mxb.ovh.net
 +gandi.net
 </code> </code>
  
 Et on redémarre le tout : Et on redémarre le tout :
 <code> <code>
-/etc/init.d/postgrey restart+systemctl restart postgrey
 postfix reload postfix reload
 </code> </code>
Ligne 100: Ligne 124:
 </code> </code>
  
-Édition de ''/etc/opendkim/opendkim.conf'' et ajout en fin :+Édition de ''/etc/opendkim.conf'' et ajout en fin :
  
 <code> <code>
-KeyTable           /etc/opendkim/KeyTable +KeyTable          /etc/postfix/dkim/keytable 
-SigningTable       /etc/opendkim/SigningTable +SigningTable            /etc/postfix/dkim/signingtable  
-ExternalIgnoreList /etc/opendkim/TrustedHosts +ExternalIgnoreList      /etc/postfix/dkim/TrustedHosts
-InternalHosts      /etc/opendkim/TrustedHosts+
 </code> </code>
  
Ligne 112: Ligne 135:
  
 <code> <code>
-SOCKET="inet:12345@localhost" # listen on loopback on port 12345+SOCKET="inet:12301@localhost" # listen on loopback on port 12301
 </code> </code>
  
-Puis, pour setuper toutes les clefs:+<note important>Malheureusement opendkim est pour le moment mal intégré à systemd. La conf de /etc/defaults/opendkim est silentieusement ignorée par ce dernier. Il faut éditer /lib/systemd/system/opendkim.service pour changer les préférences et ne surtout pas utiliser /etc/init.d pour manipuler le démon.</note>
  
 +Puis, pour générer les clefs:
 <code bash> <code bash>
-for domain in april.org listes.april.org localhost localhost.april.org mail.april.org agendadulibre.org candidats.fr flosspact.eu flosspact.org freesoftwarepact.eu freesoftwarepact.org informatiquedeloyale.info libreassociation.info libre-en-fete.net libre-en-fete.org libre-en-fete.org libre-et-accessible.org logiciel-libre.info logiciels-libres.info pactelogiciellibre.fr pactelogiciellibre.org agendadulibre.org agendadulibre.be agendadulibre.ch formatsouverts.education eucd.info ;  +opendkim-genkey -/etc/postfix/dkim/ -d chapril.org -s mail
-do +
-    mkdir -p /etc/opendkim/keys/$domain +
-    cd /etc/opendkim/keys/$domain +
-    opendkim-genkey -r -d $domain +
-    chown opendkim:opendkim default.private +
-    echo "default._domainkey.$domain $domain:default:/etc/opendkim/keys/$domain/default.private" >>  /etc/opendkim/KeyTab\ +
-le +
-    echo "$domain default._domainkey.$domain" >> /etc/opendkim/SigningTable +
- +
-done+
 </code> </code>
  
-Ensuite, copie sur la machine dns de ''/etc/opendkim/keys/*/default.txt'', ajout dans les zones master qui vont bien et incrément du serial.+On va alors obtenir de fichiers dans ''/etc/postfix/dkim/'' : ''mail.private'' et ''mail.txt''. On copie ce dernier dans la zone concernée.
  
-Dans Postfix on ajoute dans ''/etc/postfix/conf.d/60-anti-spam.conf'':+Par ailleurs on définie les tables 
 +<code conf /etc/postfix/dkim/keytable> 
 +mail._domainkey.chapril.org chapril.org:mail:/etc/postfix/dkim/mail.private 
 +</code> 
 +<code conf /etc/postfix/dkim/signingtable> 
 +chapril.org mail._domainkey.chapril.org 
 +</code> 
 +et 
 +<code conf /etc/postfix/dkim/TrustedHosts> 
 +127.0.0.1 
 +localhost     
 +192.168.0.0/24 
 +[::ffff:127.0.0.0]/104 
 +[::1]/128 
 +[2a01:4f8:10b:c41::]/64 
 +[2a01:4f8:10b:c42::]/64 
 +88.191.250.11 
 +# 88.191.250.11 est galanga 
 +</code> 
 + 
 +On pense à changer les permissions : 
 +  chgrp opendkim /etc/postfix/dkim/
 +  chmod g+r /etc/postfix/dkim/*
  
 +Enfin, dans Postfix on ajoute dans ''/etc/postfix/conf.d/60-anti-spam.conf'':
 <code> <code>
 milter_default_action = accept milter_default_action = accept
-milter_protocol = 6 +milter_protocol = 2 
-smtpd_milters = inet:localhost:12345 +smtpd_milters = inet:localhost:12301 
-non_smtpd_milters = inet:localhost:12345+non_smtpd_milters = inet:localhost:12301
 </code> </code>
  
 Puis ''make'' dans ''/etc/postfix'' et: Puis ''make'' dans ''/etc/postfix'' et:
- 
 <code> <code>
 service postfix reload service postfix reload
 </code> </code>
 +
 +===== Adresse no-reply =====
 +
 +Une adresse devnull@chapril.org existe pour les besoins d'un no-reply.
admin/infrastructure/mail.1499791261.txt.gz · Dernière modification : 2017/07/11 16:41 de fpoulain