Postfix 3.6.0邮件服务器发布

经过一年的开发,Postfix 邮件服务器的一个新的稳定分支发布了 - 3.6.0。 同时,它宣布结束对 3.2 年初发布的 Postfix 2017 分支的支持。 Postfix 是罕见的同时兼具高安全性、可靠性和性能的项目之一,这要归功于深思熟虑的架构以及相当严格的代码设计和补丁审核策略。 该项目代码根据 EPL 2.0(Eclipse 公共许可证)和 IPL 1.0(IBM 公共许可证)分发。

根据 600 月份对约 33.66 万邮件服务器的自动调查,Postfix 在 34.29%(一年前为 59.14%)的邮件服务器上使用,Exim 的份额为 57.77%(3.6%),Sendmail - 3.83%(2.02%) %)、MailEnable - 2.12% (0.60%)、MDaemon - 0.77% (0.32%)、Microsoft Exchange - 0.47% (XNUMX%)。

主要创新:

  • 由于用于 Postfix 组件之间交互的内部协议发生变化,因此在更新之前需要使用“postfix stop”命令停止邮件服务器。 否则,与pickup、qmgr、verify、tlsproxy和postscreen进程交互时可能会出现故障,这可能会导致发送电子邮件延迟,直到Postfix重新启动。
  • 被一些社区成员视为种族歧视的“白人”和“黑人”一词已被清除。 现在应该使用“白名单”和“黑名单”,而不是“白名单”和“黑名单”(例如,参数 postscreen_allowlist_interfaces、postscreen_denylist_action 和 postscreen_dnsbl_allowlist_threshold)。 这些更改会影响文档、postscreen 进程的设置(内置防火墙)以及日志中信息的反映。 postfix/postscreen[pid]: ALLOWLIST VETO [地址]:端口 postfix/postscreen[pid]: ALLOWLISTED [地址]:port postfix/postscreen[pid]: DENYLISTED [地址]:port

    为了保留日志中的先前术语,提供了“respectful_logging = no”参数,该参数应在 main.cf 中的“compatibility_level = 3.6”之前指定。 保留了对旧屏幕后设置名称的支持,以实现向后兼容性。 此外,配置文件“master.cf”目前保持不变。

  • 在“compatibility_level = 3.6”模式下,默认切换为使用SHA256哈希函数而不是MD5。 如果您在compatibility_level参数中设置了早期版本,则继续使用MD5,但对于与使用未明确定义算法的哈希相关的设置,将在日志中显示警告。 已停止支持 Diffie-Hellman 密钥交换协议的导出版本(现在忽略 tlsproxy_tls_dh512_param_file 参数的值)。
  • 简化了与在 master.cf 中指定不正确的处理程序相关的问题的诊断。 为了检测此类错误,每个后端服务(包括 postdrop)现在都会在开始通信之前通告协议名称,并且每个客户端进程(包括 sendmail)都会检查通告的协议名称是否与支持的变体相匹配。
  • 添加了新的映射类型“local_login_sender_maps”,用于灵活控制发件人信封地址(在 SMTP 会话期间在“MAIL FROM”命令中提供)到 sendmail 和 postdrop 进程的分配。 例如,要允许本地用户(root 和 postfix 除外)使用 UID 绑定到名称来仅指定其在 sendmail 中的登录名,可以使用以下设置: /etc/postfix/main.cf: local_login_sender_maps = inline :{ { root = *} , { postfix = * } }, pcre:/etc/postfix/login_senders /etc/postfix/login_senders: # 允许指定登录名和 login@domain 形式。 /(.+)/ $1 $1…@example.com
  • 添加并默认启用“smtpd_relay_before_recipient_restrictions=yes”设置,其中 SMTP 服务器将在 smtpd_recipient_restrictions 之前检查 smtpd_relay_restrictions,而不是像以前一样反之亦然。
  • 添加了参数“smtpd_sasl_mechanism_list”,默认为“!external, static:rest”,以防止在 SASL 后端声称支持“EXTERNAL”模式(Postfix 不支持)的情况下出现混淆错误。
  • 在 DNS 中解析名称时,默认启用支持多线程(线程安全)的新 API。 要使用旧 API 进行构建,您应该在构建时指定“make makefiles CCARGS=”-DNO_RES_NCALLS…”。
  • 添加了“enable_threaded_bounces = yes”模式,以用相同的讨论 ID 替换有关传递问题、延迟传递或传递确认的通知(该通知将由邮件客户端在同一线程中与其他通信消息一起显示)。
  • 默认情况下,/etc/services 系统数据库不再用于确定 SMTP 和 LMTP 的 TCP 端口号。 相反,端口号是通过known_tcp_ports 参数配置的(默认lmtp=24、smtp=25、smtps=submissions=465、submission=587)。 如果known_tcp_ports 中缺少某些服务,则继续使用/etc/services。
  • 兼容性级别(“compatibility_level”)已提升至“3.6”(该参数过去已更改两次,除3.6外支持的值为0(默认)、1和2)。 从现在开始,“compatibility_level”将更改为发生违反兼容性的更改的版本号。 为了检查兼容性级别,main.cf 和 master.cf 中添加了单独的比较运算符,例如“<=level”和“<level”(标准比较运算符不合适,因为它们会认为 3.10 小于 3.9)。

来源: opennet.ru

添加评论