Sortie du serveur de messagerie Postfix 3.6.0

Après un an de développement, une nouvelle branche stable du serveur de messagerie Postfix a été publiée : la 3.6.0. Dans le même temps, elle a annoncé la fin du support de la branche Postfix 3.2, sortie début 2017. Postfix est l'un des rares projets qui allie à la fois haute sécurité, fiabilité et performances, ce qui a été réalisé grâce à une architecture bien pensée et une politique assez stricte en matière de conception de code et d'audit des correctifs. Le code du projet est distribué sous EPL 2.0 (Eclipse Public License) et IPL 1.0 (IBM Public License).

Selon une enquête automatisée d'avril portant sur environ 600 33.66 serveurs de messagerie, Postfix est utilisé sur 34.29 % (il y a un an 59.14 %) des serveurs de messagerie, la part d'Exim est de 57.77 % (3.6 %), Sendmail - 3.83 % (2.02 %), MailEnable - 2.12 % ( 0.60 %), MDaemon - 0.77 % (0.32 %), Microsoft Exchange - 0.47 % (XNUMX %).

Principales nouveautés :

  • En raison de changements dans les protocoles internes utilisés pour l'interaction entre les composants Postfix, l'arrêt du serveur de messagerie avec la commande « postfix stop » est requis avant la mise à jour. Sinon, il peut y avoir des échecs lors de l'interaction avec les processus de collecte, qmgr, verify, tlsproxy et postscreen, ce qui peut entraîner un retard dans l'envoi des e-mails jusqu'au redémarrage de Postfix.
  • Les mentions des mots « blanc » et « noir », perçues par certains membres de la communauté comme une discrimination raciale, ont été supprimées. Au lieu de "whitelist" et "blacklist", "allowlist" et "denylist" doivent désormais être utilisés (par exemple, les paramètres postscreen_allowlist_interfaces, postscreen_denylist_action et postscreen_dnsbl_allowlist_threshold). Les modifications affectent la documentation, les paramètres du processus de post-filtrage (pare-feu intégré) et la réflexion des informations dans les journaux. postfix/postscreen[pid] : ALLOWLIST VETO [adresse]:port postfix/postscreen[pid] : ALLOWLISTED [adresse]:port postfix/postscreen[pid] : DENYLISTED [adresse]:port

    Pour conserver les termes précédents dans les journaux, le paramètre « respectful_logging = no » est fourni, qui doit être spécifié dans main.cf avant « compatibility_level = 3.6 ». La prise en charge des anciens noms de paramètres de post-écran a été conservée pour des raisons de compatibilité ascendante. De plus, le fichier de configuration « master.cf » est resté inchangé pour l'instant.

  • Dans le mode « compatibility_level = 3.6 », le commutateur par défaut a été effectué pour utiliser la fonction de hachage SHA256 au lieu de MD5. Si vous définissez une version antérieure dans le paramètre compatibilité_level, MD5 continue d'être utilisé, mais pour les paramètres liés à l'utilisation de hachages dans lesquels l'algorithme n'est pas explicitement défini, un avertissement sera affiché dans le journal. La prise en charge de la version d'exportation du protocole d'échange de clés Diffie-Hellman a été interrompue (la valeur du paramètre tlsproxy_tls_dh512_param_file est désormais ignorée).
  • Diagnostic simplifié des problèmes associés à la spécification d'un programme de gestion incorrect dans master.cf. Pour détecter de telles erreurs, chaque service backend, y compris postdrop, annonce désormais le nom du protocole avant de commencer la communication, et chaque processus client, y compris sendmail, vérifie que le nom du protocole annoncé correspond à la variante prise en charge.
  • Ajout d'un nouveau type de mappage "local_login_sender_maps" pour un contrôle flexible sur l'attribution de l'adresse d'enveloppe de l'expéditeur (fournie dans la commande "MAIL FROM" lors d'une session SMTP) aux processus sendmail et postdrop. Par exemple, pour permettre aux utilisateurs locaux, à l'exception de root et postfix, de spécifier uniquement leurs identifiants dans sendmail, en utilisant la liaison UID au nom, vous pouvez utiliser les paramètres suivants : /etc/postfix/main.cf : local_login_sender_maps = inline :{ { root = *} , { postfix = * } }, pcre:/etc/postfix/login_senders /etc/postfix/login_senders : # La spécification des deux connexions et du formulaire login@domain est autorisée. /(.+)/ $1 $1…@example.com
  • Ajout et activation par défaut du paramètre « smtpd_relay_before_recipient_restrictions=yes », dans lequel le serveur SMTP vérifiera smtpd_relay_restrictions avant smtpd_recipient_restrictions, et non vice versa, comme auparavant.
  • Ajout du paramètre "smtpd_sasl_mechanism_list", qui est par défaut "!external, static:rest" pour éviter les erreurs confuses dans le cas où le backend SASL prétend prendre en charge le mode "EXTERNAL", qui n'est pas pris en charge dans Postfix.
  • Lors de la résolution des noms dans DNS, une nouvelle API prenant en charge le multithreading (threadsafe) est activée par défaut. Pour construire avec l'ancienne API, vous devez spécifier « make makefiles CCARGS= »-DNO_RES_NCALLS… » lors de la construction.
  • Ajout du mode "enable_threaded_bounces = yes" pour remplacer les notifications concernant des problèmes de livraison, une livraison retardée ou une confirmation de livraison par le même identifiant de discussion (la notification sera affichée par le client de messagerie dans le même fil de discussion, avec d'autres messages de correspondance).
  • Par défaut, la base de données système /etc/services n'est plus utilisée pour déterminer les numéros de port TCP pour SMTP et LMTP. Au lieu de cela, les numéros de port sont configurés via le paramètre known_tcp_ports (par défaut lmtp=24, smtp=25, smtps=submissions=465, submit=587). Si un service est manquant dans known_tcp_ports, /etc/services continue d'être utilisé.
  • Le niveau de compatibilité (« compatibility_level ») a été augmenté à « 3.6 » (le paramètre a été modifié deux fois dans le passé, sauf pour 3.6, les valeurs prises en charge sont 0 (par défaut), 1 et 2). À partir de maintenant, « compatibility_level » sera remplacé par le numéro de version dans lequel des modifications ont été apportées qui violent la compatibilité. Pour vérifier les niveaux de compatibilité, des opérateurs de comparaison distincts ont été ajoutés à main.cf et master.cf, tels que « <=level » et « <level » (les opérateurs de comparaison standard ne conviennent pas, car ils considéreront 3.10 comme inférieur à 3.9).

Source: opennet.ru

Ajouter un commentaire