Após um ano de desenvolvimento, foi anunciado o lançamento de uma nova versão estável do servidor de email Postfix — 3.12.0. Ao mesmo tempo, foi comunicado o fim do suporte à versão Postfix 3.7, lançada no início de 2022. O código do projeto é escrito na linguagem C e é distribuído sob as licenças EPL 2.0 (Eclipse Public License) e IPL 1.0 (IBM Public License).
O Postfix é um dos raros projetos que combina alta segurança, confiabilidade e desempenho, o que foi alcançado graças à sua arquitetura multiprocessada, que isola manipuladores individuais, bem como a uma rigorosa política de formatação de código e auditoria de patches. Para evitar erros de manipulação de memória, o projeto utiliza variantes seguras de funções para alocar e liberar memória, assim como um conjunto de funções abstratas para trabalhar com buffers (verificando o estouro do buffer e acessos à memória liberada), operações com arquivos, formatação de saída, entrada/saída bufferizada e manipulação de strings (incluindo capacidades para trabalhar com strings de tamanho variável e ajuste automático de tamanho).
De acordo com a pesquisa automatizada final, cerca de 500 mil servidores de email servidores (após julho de 2025, a publicação de relatórios será interrompida), o Postfix é utilizado em 37,88% (ano passado 36,81%) dos servidores de email, a participação do Exim é de 55,59% (ano passado 56,61%), o Sendmail — 3,55% (3,60%), MailEnable — 1,81% (1,82%), MDaemon — 0,40% (0,40%), Microsoft Exchange — 0,20% (0,19%), OpenSMTPD — 0,12% (0,09%).
Principais novidades:
- Foi realizado um trabalho para simplificar a migração de tabelas de pesquisa "hash:" e "btree:" para "lmdb:" ou "cdb:" devido à interrupção do fornecimento de bibliotecas BerkeleyDB em algumas distribuições Linux. Para manter a compatibilidade com as ferramentas do Mailman, que executam o comando "postmap hash:/path/to/file" ao adicionar ou remover listas de discussão, o Postfix foi aprimorado para suportar o redirecionamento automático de tais comandos para as opções de tipos de banco de dados suportadas.
- Por padrão, a conexão com servidores SMTP usando criptografia TLS está ativada. Nas configurações do cliente SMTP, o parâmetro smtp_tls_security_level está definido como "may", se o Postfix for compilado com suporte a TLS. O valor "may" permite o uso de TLS para servidores com suporte à criptografia, mas admite o retrocesso para transferência de dados sem criptografia se o servidor não suportar TLS.
- O ESMTP implementa suporte à extensão "REQUIRETLS" (RFC 8689), permitindo que o remetente solicite criptografia TLS garantida em todo o caminho de entrega da mensagem. Nesse modo, qualquer servidor SMTP e LMTP envolvido na redireção do e-mail deve suportar REQUIRETLS e autenticação rigorosa através de DANE ou STS, e ao transmitir a mensagem através de uma cadeia de outros servidores, também deve usar REQUIRETLS.
- Assegurado o registro nos logs do nível de segurança TLS, ou seja, se um nível REQUIRETLS for solicitado para a entrega da mensagem, as informações sobre o uso do REQUIRETLS agora serão salvas no log.
- Adicionada a opção smtp_tls_enforce_sts_mx_patterns, que inclui um modo de compatibilidade entre o cliente SMTP Postfix e plugins MTA-STS (MTA Strict Transport Security), que exigem a inclusão do suporte TLSRPT para redirecionar atributos STS. Com essa opção habilitada, que está ativada por padrão, o cliente SMTP Postfix se conectará ao servidor MX apenas se seu nome corresponder ao padrão especificado nas políticas STS. Caso contrário, o comportamento antigo será utilizado — a possibilidade de conexão com servidores MX com base nos registros MX em DNS, desde que o certificado do servidor esteja em conformidade com as políticas STS. O mecanismo MTA-STS permite informar ao cliente, que estabeleceu uma conexão por meio de um canal inseguro, sobre a possibilidade e os parâmetros para a configuração de uma conexão TLS protegida. O suporte a essa opção também foi adicionado às utilidades postfix-tlspol e postfix-mta-sts-resolver.
- Adicionada o suporte para algoritmos de criptografia resistentes a ataques em computadores quânticos, ao ser compilado com OpenSSL 3.5 e versões mais recentes.
- Dezesseis parâmetros de configuração foram convertidos para a categoria de obsoletos, cujo uso agora gerará um aviso nos logs sobre sua remoção em uma das futuras versões. Entre os parâmetros obsoletos estão, por exemplo, "virtual_maps", "fallback_relay", "postscreen_whitelist_interfaces" e "smtpd_client_connection_limit_exceptions".
- Adicionado suporte para a saída de dados no formato JSON para os comandos: "postconf -j|-jM|-jF|-jP", "postalias -jq|-js", "postmap -jq|-js" e "postmulti -jl".
- Melhorado o tratamento de erros em filtros Milter que ocorrem ao processar mensagens recebidas através de conexões SMTP já estabelecidas há bastante tempo. O valor do parâmetro #milter_default_action foi alterado de "tempfail" para "shutdown", que implica fechar a conexão com o cliente.
Fonte: opennet.ru
