Lanzamiento del servidor de correo Postfix 3.6.0

Después de un año de desarrollo, se lanzó una nueva rama estable del servidor de correo Postfix: 3.6.0. Al mismo tiempo, anunció el fin del soporte para la rama Postfix 3.2, lanzada a principios de 2017. Postfix es uno de esos pocos proyectos que combina alta seguridad, confiabilidad y rendimiento al mismo tiempo, lo que se logró gracias a una arquitectura bien pensada y una política bastante estricta de diseño de código y auditoría de parches. El código del proyecto se distribuye bajo EPL 2.0 (Licencia pública Eclipse) e IPL 1.0 (Licencia pública IBM).

Según una encuesta automatizada de abril de alrededor de 600 mil servidores de correo, Postfix se utiliza en el 33.66% (hace un año 34.29%) de los servidores de correo, la participación de Exim es del 59.14% (57.77%), Sendmail - 3.6% (3.83 %), MailEnable - 2.02% (2.12%), MDaemon - 0.60% (0.77%), Microsoft Exchange - 0.32% (0.47%).

Principales novedades:

  • Debido a cambios en los protocolos internos utilizados para la interacción entre los componentes de Postfix, es necesario detener el servidor de correo con el comando "postfix stop" antes de actualizar. De lo contrario, puede haber fallas al interactuar con los procesos de recolección, qmgr, verificar, tlsproxy y postscreen, lo que puede resultar en un retraso en el envío de correos electrónicos hasta que se reinicie Postfix.
  • Se han eliminado las menciones de las palabras “blanco” y “negro”, percibidas por algunos miembros de la comunidad como discriminación racial. En lugar de "lista blanca" y "lista negra", ahora se deben utilizar "lista permitida" y "lista denegada" (por ejemplo, los parámetros postscreen_allowlist_interfaces, postscreen_denylist_action y postscreen_dnsbl_allowlist_threshold). Los cambios afectan la documentación, la configuración del proceso de visualización posterior (firewall integrado) y el reflejo de la información en los registros. postfix/postscreen[pid]: ALLOWLIST VETO [dirección]:puerto postfix/postscreen[pid]: ALLOWLISTED [dirección]:puerto postfix/postscreen[pid]: DENYLISTED [dirección]:puerto

    Para preservar los términos anteriores en los registros, se proporciona el parámetro "respectful_logging = no", que debe especificarse en main.cf antes de "compatibility_level = 3.6". Se ha conservado la compatibilidad con nombres antiguos de configuraciones posteriores a la pantalla para lograr compatibilidad con versiones anteriores. Además, el archivo de configuración “master.cf” no ha cambiado por ahora.

  • En el modo “nivel de compatibilidad = 3.6”, el cambio predeterminado se realizó para usar la función hash SHA256 en lugar de MD5. Si configura una versión anterior en el parámetro nivel_compatibilidad, se seguirá utilizando MD5, pero para las configuraciones relacionadas con el uso de hashes en las que el algoritmo no está definido explícitamente, se mostrará una advertencia en el registro. Se suspendió la compatibilidad con la versión de exportación del protocolo de intercambio de claves Diffie-Hellman (ahora se ignora el valor del parámetro tlsproxy_tls_dh512_param_file).
  • Diagnóstico simplificado de problemas asociados con la especificación de un programa de controlador incorrecto en master.cf. Para detectar tales errores, cada servicio backend, incluido postdrop, ahora anuncia el nombre del protocolo antes de comenzar la comunicación, y cada proceso cliente, incluido sendmail, verifica que el nombre del protocolo anunciado coincida con la variante admitida.
  • Se agregó un nuevo tipo de asignación "local_login_sender_maps" para un control flexible sobre la asignación de la dirección del sobre del remitente (proporcionada en el comando "MAIL FROM" durante una sesión SMTP) a los procesos sendmail y postdrop. Por ejemplo, para permitir a los usuarios locales, con la excepción de root y postfix, especificar solo sus inicios de sesión en sendmail, usando el enlace UID al nombre, puede usar la siguiente configuración: /etc/postfix/main.cf: local_login_sender_maps = inline :{ { root = *} , { postfix = * } }, pcre:/etc/postfix/login_senders /etc/postfix/login_senders: # Se permite especificar tanto los inicios de sesión como el formulario login@domain. /(.+)/ $1 $1…@ejemplo.com
  • Se agregó y habilitó de forma predeterminada la configuración “smtpd_relay_before_recipient_restrictions=yes”, en la que el servidor SMTP verificará smtpd_relay_restrictions antes que smtpd_recipient_restrictions, y no al revés, como antes.
  • Se agregó el parámetro "smtpd_sasl_mechanism_list", cuyo valor predeterminado es "!external, static:rest" para evitar errores confusos en el caso en que el backend de SASL afirme admitir el modo "EXTERNO", que no es compatible con Postfix.
  • Al resolver nombres en DNS, se habilita de forma predeterminada una nueva API que admite subprocesos múltiples (threadsafe). Para compilar con la API anterior, debe especificar "make makefiles CCARGS="-DNO_RES_NCALLS..." al compilar.
  • Se agregó el modo "enable_threaded_bounces = yes" para sustituir notificaciones sobre problemas de entrega, entrega retrasada o confirmación de entrega con el mismo ID de discusión (la notificación será mostrada por el cliente de correo en el mismo hilo, junto con otros mensajes de correspondencia).
  • De forma predeterminada, la base de datos del sistema /etc/services ya no se utiliza para determinar los números de puerto TCP para SMTP y LMTP. En cambio, los números de puerto se configuran a través del parámetroknown_tcp_ports (predeterminado lmtp=24, smtp=25, smtps=submissions=465, submit=587). Si falta algún servicio en los puertos_tcp_conocidos, se sigue utilizando /etc/services.
  • El nivel de compatibilidad (“compatibility_level”) se ha elevado a “3.6” (el parámetro se cambió dos veces en el pasado, excepto para 3.6, los valores admitidos son 0 (predeterminado), 1 y 2). De ahora en adelante, “nivel_compatibilidad” cambiará al número de versión en la que se realizaron cambios que violan la compatibilidad. Para verificar los niveles de compatibilidad, se agregaron operadores de comparación separados a main.cf y master.cf, como “<=nivel” y “<nivel” (los operadores de comparación estándar no son adecuados, ya que considerarán 3.10 menos que 3.9).

Fuente: opennet.ru

Añadir un comentario