Después de 10 meses de desarrollo, se ha lanzado la nueva rama estable del servidor de correo Postfix — 3.7.0. Al mismo tiempo, se anunció el cese de apoyo para la rama Postfix 3.3, lanzada a principios de 2018. Postfix es uno de los pocos proyectos que combinan alta seguridad, fiabilidad y rendimiento, logrando esto gracias a una arquitectura bien pensada y una política estricta en el desarrollo de código y auditoría de parches. El código del proyecto se distribuye bajo las licencias EPL 2.0 (Eclipse Public License) y IPL 1.0 (IBM Public License).
De acuerdo con una encuesta automatizada en enero de alrededor de 500 mil correos servidores, Postfix se utiliza en el 34.08% (el año pasado 33.66%) de los servidores de correo, la cuota de Exim es del 58.95% (59.14%), Sendmail — 3.58% (3.6%), MailEnable — 1.99% (2.02%), MDaemon — 0.52% (0.60%), Microsoft Exchange — 0.26% (0.32%), OpenSMTPD — 0.06% (0.05%).
Novedades principales:
- Se ha proporcionado la posibilidad de insertar en línea pequeñas tablas «cidr:», «pcre:» y «regexp:» dentro de los valores de los parámetros de configuración de Postfix, sin necesidad de conectar archivos externos o bases de datos. La inserción en línea se determina mediante llaves, por ejemplo, el valor predeterminado del parámetro smtpd_forbidden_commands ahora contiene la cadena «CONNECT GET POST regexp:{{/^[^A-Z]/ Thrash}}», que asegura el restablecimiento de conexiones de clientes que envían basura en lugar de comandos. La sintaxis general: /etc/postfix/main.cf: parameter = .. map-type:{{ rule-1 }, { rule-2 } .. } .. /etc/postfix/master.cf: .. -o { parameter = .. map-type:{{ rule-1 }, { rule-2 } .. } .. } ..
- El manejador postlog ahora está equipado con el flag set-gid y al iniciarse ejecuta operaciones con los privilegios del grupo postdrop, lo que permite su uso por programas sin privilegios para escribir registros a través del proceso en segundo plano postlogd, mejorando así la flexibilidad de la configuración de maillog_file e implementando, entre otras cosas, el registro de stdout desde el contenedor.
- Se ha agregado soporte para las bibliotecas API OpenSSL 3.0.0, PCRE2 y Berkeley DB 18.
- Se ha añadido protección contra ataques por determinación de colisiones en hashes mediante fuerza bruta. La protección se implementa a través de la aleatorización del estado inicial de las tablas hash almacenadas en memoria RAM. Actualmente, se ha identificado solo un método para llevar a cabo tales ataques, relacionado con el escaneo de direcciones IPv6 de clientes SMTP en el servicio anvil, que requiere el establecimiento de cientos de conexiones temporales por segundo durante un escaneo cíclico de miles de diferentes clientes. direcciones IP. Otras tablas hash, cuyas verificaciones de claves pueden hacerse en función de los datos del atacante, no son vulnerables a tales ataques, ya que se aplica un límite de tamaño (en anvil se realizaba una limpieza cada 100 segundos).
- Se ha reforzado la protección contra clientes y servidores externos, que transmiten datos muy lentamente por pequeños fragmentos para mantener las conexiones SMTP y LMTP activas (por ejemplo, para bloquear la operación creando condiciones de agotamiento del límite en el número de conexiones establecidas). En lugar de restricciones de tiempo vinculadas a registros, ahora se aplica una restricción vinculada a solicitudes, y se ha agregado una limitación de la intensidad mínima posible de transmisión de datos en bloques DATA y BDAT. Así, las configuraciones {smtpd,smtp,lmtp}_per_record_deadline han sido reemplazadas por {smtpd,smtp,lmtp}_per_request_deadline y {smtpd,smtp,lmtp}_min_data_rate.
- En el equipo de postqueue se ha asegurado la limpieza de caracteres no imprimibles, como el salto de línea, en la fase anterior a la salida al flujo de salida estándar o al formatear la línea en JSON.
- En tlsproxy, los parámetros tlsproxy_client_level y tlsproxy_client_policy han sido reemplazados por nuevas configuraciones tlsproxy_client_security_level y tlsproxy_client_policy_maps para unificar la nomenclatura de parámetros en Postfix (la denominación de las configuraciones tlsproxy_client_xxx ahora corresponde a las configuraciones smtp_tls_xxx).
- Se ha rehacer el manejo de errores de clientes que utilizan LMDB.
Fuente: opennet.ru
