Бір жылдық әзірлеуден кейін Postfix пошта серверінің жаңа тұрақты тармағы, 3.6.0 нұсқасы шығарылды. Сонымен қатар, 2017 жылдың басында шығарылған Postfix 3.2 нұсқасын қолдау тоқтатылды. Postfix - жоғары қауіпсіздікті, сенімділікті және өнімділікті біріктіретін сирек жобалардың бірі, оған жақсы ойластырылған архитектура және қатаң кодты пішімдеу және патч аудиті саясаты арқылы қол жеткізіледі. Жобаның коды EPL 2.0 (Eclipse Public License) және IPL 1.0 (IBM Public License) лицензиялары бойынша берілген.
Сәуір айында шамамен 600 000 пошта мекемесінің автоматтандырылған сауалнамасына сәйкес серверлерPostfix пошта серверлерінің 33.66%-ында (бір жыл бұрын 34.29%) қолданылады, Exim үлесі 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%) құрайды.
Негізгі инновациялар:
- 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 [address]:port postfix/postscreen[pid]: ALLOWLISTED [address]:port postfix/postscreen[pid]: DENYLISTED [address]:port
Ескі журнал терминдерін сақтау үшін "respectful_logging = no" параметрі берілген. Ол main.cf файлында "compatibility_level = 3.6" параметрінен бұрын көрсетілуі керек. Кері үйлесімділік үшін ескі postscreen параметр атауларын қолдау сақталған. "master.cf" конфигурация файлы да өзгеріссіз қалады.
- «Сыйысымдылық_деңгейі = 3.6» режимінде әдепкі хэш функциясы MD5 орнына SHA256-ға ауыстырылды. Compatibility_devel параметрінде бұрынғы нұсқа орнатылған кезде, MD5 пайдаланыла береді, бірақ алгоритмді анық анықтамайтын хэшке қатысты параметрлер үшін ескерту жазылады. Diffie-Hellman кілт алмасу хаттамасының экспорттық нұсқасын қолдау тоқтатылды (tlsproxy_tls_dh512_param_file параметрінің мәні енді еленбейді).
- master.cf файлында дұрыс емес өңдегіш бағдарламасын көрсетуге байланысты мәселелерді диагностикалау жеңілдетілді. Мұндай қателерді анықтау үшін postdrop қоса алғанда, әрбір ішкі қызмет енді деректер алмасуды бастамас бұрын хаттама атауын жариялайды, ал әрбір клиенттік процесс, соның ішінде sendmail, жарияланған хаттама атауының қолдау көрсетілетін хаттамаға сәйкес келетінін тексереді.
- sendmail және postdrop процестеріне жіберуші конверт мекенжайын (SMTP сеансы кезінде "MAIL FROM" командасында берілген) тағайындауды икемді басқару үшін жаңа "local_login_sender_maps" салыстыру түрі қосылды. Мысалы, root және postfix-тен басқа жергілікті пайдаланушыларға UID-to-name байланыстыруын пайдаланып 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 тексеруін бұрынғыдай емес, керісінше тексеруіне әкеледі.
- SASL сервері Postfix қолдамайтын "EXTERNAL" режимін қолдайды деп мәлімдеген кезде шатастыратын қателерді болдырмау үшін әдепкі бойынша "!external, static:rest" мәніне өзгертілген "smtpd_sasl_mechanism_list" параметрі қосылды.
- Әдепкі бойынша, DNS атауының ажыратымдылығы жаңа, ағынға қауіпсіз API пайдаланады. Ескі API арқылы құру үшін, құрастыру кезінде "make makefiles CCARGS="-DNO_RES_NCALLS..." көрсетіңіз.
- Жеткізу мәселелері, жеткізудің кешігуі немесе жеткізуді растау туралы хабарландыруларды сол ағын идентификаторына жіберуге мүмкіндік беру үшін "enable_threaded_bounces = yes" режимі қосылды (хабарландыру пошта клиентімен сол ағында, әңгімедегі қалған хабарламалармен бірге көрсетіледі).
- Әдепкі бойынша, /etc/services жүйелік дерекқоры SMTP және LMTP үшін TCP порт нөмірлерін анықтау үшін пайдаланылмайды. Оның орнына, порт нөмірлері known_tcp_ports параметрі арқылы конфигурацияланады (әдепкі бойынша, lmtp=24, smtp=25, smtps=submissions=465, submission=587). Егер known_tcp_ports қызметінде қызмет жоқ болса, /etc/services пайдаланыла береді.
- Үйлесімділік деңгейі («үйлесімділік_деңгейі») «3.6» деңгейіне дейін көтерілді (бұл параметр бұрын екі рет өзгертілген; 3.6-дан басқа, қолдау көрсетілетін мәндер 0 (әдепкі), 1 және 2). Енді «үйлесімділік_деңгейі» өзгерістерді енгізген нұсқа нөміріне орнатылады. Үйлесімділік деңгейлерін тексеру үшін main.cf және master.cf файлдарына «<=level» және «<level» сияқты бөлек салыстыру операторлары қосылды (стандартты салыстыру операторлары жарамсыз, себебі олар 3.10-ды 3.9-дан төмен деп санайды).
Ақпарат көзі: opennet.ru
