Después de casi un año de desarrollo, se ha publicado el lanzamiento de la nueva rama estable del servidor de correo Postfix — 3.10.0. Al mismo tiempo, se ha anunciado el cese del soporte para la rama Postfix 3.6, lanzada a principios de 2021. El código del proyecto está escrito en C y se distribuye bajo las licencias EPL 2.0 (Licencia Pública de Eclipse) e IPL 1.0 (Licencia Pública de IBM).
Postfix es uno de los pocos proyectos que combina simultáneamente alta seguridad, fiabilidad y rendimiento, lo que se ha logrado gracias a una arquitectura multiproceso que aísla los distintos manejadores, así como una estricta política de formato de código y auditoría de parches. Para proteger contra errores en el manejo de memoria, el proyecto utiliza variantes seguras de las funciones para asignar y liberar memoria, así como un conjunto de funciones abstractas de envoltura para el manejo de buffers (verificando desbordamientos y accesos a memoria liberada), operaciones de archivos, formateo de salida, entrada/salida en búfer y manipulación de cadenas (incluyendo capacidades para trabajar con cadenas de tamaño variable y cambio dinámico de tamaño de cadenas).
De acuerdo con una encuesta automatizada de febrero, alrededor de 550 mil servidores de correo, servidoresPostfix se utiliza en el 37.64% (hace un año 36.81%) de los servidores de correo, la cuota de Exim es del 56.03% (hace un año 56.61%), Sendmail — 3.39% (3.60%), MailEnable — 1.80% (1.82%), MDaemon — 0.39% (0.40%), Microsoft Exchange — 0.19% (0.19%), OpenSMTPD — 0.10% (0.09%).

Novedades principales:
- Se ha añadido la posibilidad de usar algoritmos criptográficos TLS resistentes a la computación cuántica. Para utilizar estos algoritmos, se requiere la rama de la biblioteca OpenSSL 3.5, que aún está en desarrollo. Para la selección de algoritmos post-cuánticos, en Postfix no se ha introducido una nueva sintaxis de grupos TLS, sino que se ha confiado en las configuraciones de OpenSSL, que se utilizarán al establecer los parámetros «tls_eecdh_auto_curves» y «tls_ffdhe_auto_groups» a valores vacíos.
- Se ha añadido soporte para el encabezado de mensajes «TLS-Required: no» (RFC 8689), bajo el cual la entrega se realizará incluso si no es posible implementar la política de seguridad TLS establecida en la configuración. Con este encabezado presente, el cliente SMTP opera en modo «smtp_tls_security_level = may», es decir, no verifica el certificado. servidores y puede retroceder a una conexión con transmisión de datos en texto plano. En la siguiente rama importante de Postfix se planea implementar la extensión SMTP REQUIRETLS.
- Se agregó soporte para el protocolo TLS-RPT (Transport Layer Security Reporting), que permite rastrear fallos en la entrega de mensajes que ocurren si no se logra establecer una conexión encriptada, como se prescribe utilizando las extensiones DANE (DNS-based Authentication of Named Entities) o MTA-STS (MTA Strict Transport Security). El propietario del dominio de correo define en DNS los parámetros para TLS-RPT, luego los servidores de correo enviarán informes con información sobre conexiones TLS exitosas y fallidas a los servidores MX que gestionan el dominio. La implementación se basa en la biblioteca libtlsrpt.
- Se agregó la configuración «smtpd_hide_client_session = yes», que desactiva la inserción de información sobre la sesión del cliente al sustituir el encabezado «Received:» por el servidor SMTP. Ejemplo de encabezado recortado: «Received: by mail.example.com (Postfix) id postfix-queue-id for <user@example.com>; Día, dd Mes aaaa hh:mm:ss tz-desplazamiento (zona)».
- Se añadió la capacidad de codificación MIME (RFC 2047) de nombres en los encabezados generados por Postfix «From:», que incluyen caracteres no ASCII. El esquema de codificación propuesto permite prescindir de la extensión SMTPUTF8 (RFC 6531), que no es compatible con todas las aplicaciones. El resultado de la codificación MIME se ve como ‘»=?charset?Q?gibberish?=:’. Para determinar la codificación original de los nombres, se añadió el parámetro «full_name_encoding_charset», que por defecto está configurado en utf8.
- Se cambió la lógica para manejar conexiones fallidas al especificar en la configuración «mysql:» o «pgsql:» solo un servidor. Este servidor ahora se considera como un equilibrador de carga y, en caso de una única falla, la solicitud se envía nuevamente de inmediato, sin demora de 60 segundos.
- En Milter se implementó el registro en el log de la información sobre el motivo por el cual un mensaje se puso en cuarentena.
- En el servidor SMTP se asegura la salida en el log del identificador de la cola o el valor «NOQUEUE» al finalizar la conexión por tiempo de espera, desconexión o superación del límite de errores. El proceso de limpieza en este caso emite en el log «queueid: canceled» para los mensajes con una transacción iniciada pero no completada.
- En el cliente Dovecot SASL, al registrar el mensaje «Mecanismo de autenticación inválido», ahora se indica el mecanismo de autenticación que no se pudo utilizar. El servidor SMTP al registrar registros ‘rechazado’ ahora muestra los valores de las configuraciones sasl_method, sasl_username y sasl_sender.
- Debido al cambio en el protocolo interno utilizado en el agente de entrega, después de actualizar la versión de Postfix, se requiere reiniciar con el comando «postfix reload» o con los comandos «postfix stop» y «postfix start». De lo contrario, aparecerá una advertencia en el registro «atributo inesperado smtputf8 desde xxx socket (esperando: sendopts)».
Fuente: opennet.ru
