Postfix 3.6.0 pochta serverining chiqarilishi

Bir yillik rivojlanishdan so'ng Postfix pochta serverining yangi barqaror filiali chiqdi - 3.6.0. Shu bilan birga, 3.2 yil boshida chiqarilgan Postfix 2017 filialini qo'llab-quvvatlash tugashini e'lon qildi. Postfix bir vaqtning o'zida yuqori xavfsizlik, ishonchlilik va unumdorlikni o'zida mujassam etgan noyob loyihalardan biri bo'lib, bunga puxta o'ylangan arxitektura va kodni loyihalash va yamoqlarni tekshirish bo'yicha ancha qat'iy siyosat tufayli erishilgan. Loyiha kodi EPL 2.0 (Eclipse Public License) va IPL 1.0 (IBM Public License) ostida tarqatiladi.

Aprel oyida 600 mingga yaqin pochta serverlari oʻrtasida oʻtkazilgan avtomatlashtirilgan soʻrov natijalariga koʻra, Postfix pochta serverlarining 33.66 foizida (bir yil avval 34.29 foiz) foydalanilgan, Exim ulushi 59.14 foiz (57.77 foiz), Sendmail — 3.6 foiz (3.83 foiz) ni tashkil qiladi. %), MailEnable - 2.02% (2.12%), MDaemon - 0.60% (0.77%), Microsoft Exchange - 0.32% (0.47%).

Asosiy innovatsiyalar:

  • Postfix komponentlari o'rtasidagi o'zaro aloqada ishlatiladigan ichki protokollardagi o'zgarishlar tufayli yangilashdan oldin pochta serverini "postfix stop" buyrug'i bilan to'xtatish talab qilinadi. Aks holda, qabul qilish, qmgr, tekshirish, tlsproxy va postscreen jarayonlari bilan o'zaro ishlashda nosozliklar bo'lishi mumkin, bu Postfix qayta ishga tushirilgunga qadar elektron pochta xabarlarini yuborishning kechikishiga olib kelishi mumkin.
  • Jamiyatning ba'zi a'zolari tomonidan irqiy kamsitish sifatida qabul qilingan "oq" va "qora" so'zlariga oid eslatmalar tozalandi. Endi "oq ro'yxat" va "qora ro'yxat" o'rniga "ruxsat etilgan ro'yxat" va "inkor ro'yxati" dan foydalanish kerak (masalan, postscreen_allowlist_interfaces, postscreen_denylist_action va postscreen_dnsbl_allowlist_threshold parametrlari). O'zgarishlar hujjatlarga, ekrandan keyingi jarayon sozlamalariga (o'rnatilgan xavfsizlik devori) va ma'lumotlarning jurnallarda aks etishiga ta'sir qiladi. postfix/postscreen[pid]: RUXSAT BERISH VETO [manzil]:port postfix/postscreen[pid]: RUXSAT BERILGAN [manzil]:port postfix/postscreen[pid]: RO'YXAT EDILGAN [manzil]:port

    Jurnallarda oldingi shartlarni saqlab qolish uchun "respectful_logging = no" parametri taqdim etiladi, bu parametr main.cf da "compatibility_level = 3.6" dan oldin ko'rsatilishi kerak. Orqaga mos kelishi uchun eski postscreen sozlamalari nomlari qo'llab-quvvatlandi. Shuningdek, "master.cf" konfiguratsiya fayli hozircha o'zgarishsiz qoldi.

  • "Muvofiqlik_darajasi = 3.6" rejimida standart kalit MD256 o'rniga SHA5 xesh funktsiyasidan foydalanish uchun qilingan. Compatibility_level parametrida oldingi versiyani o'rnatgan bo'lsangiz, MD5 foydalanishda davom etadi, lekin algoritm aniq belgilanmagan xeshlardan foydalanish bilan bog'liq sozlamalar uchun jurnalda ogohlantirish ko'rsatiladi. Diffie-Hellman kalit almashish protokolining eksport versiyasini qo'llab-quvvatlash to'xtatildi (endi tlsproxy_tls_dh512_param_file parametrining qiymati e'tiborga olinmaydi).
  • master.cf da noto'g'ri ishlov beruvchi dasturini ko'rsatish bilan bog'liq muammolarning soddalashtirilgan diagnostikasi. Bunday xatolarni aniqlash uchun har bir backend xizmati, shu jumladan postdrop, endi aloqani boshlashdan oldin protokol nomini e'lon qiladi va har bir mijoz jarayoni, jumladan sendmail, e'lon qilingan protokol nomi qo'llab-quvvatlanadigan variantga mos kelishini tekshiradi.
  • Jo'natuvchining konvert manzilini (SMTP seansi davomida "MAIL FROM" buyrug'ida berilgan) jo'natuvchining pochta va postdrop jarayonlariga tayinlash ustidan moslashuvchan nazorat qilish uchun yangi "local_login_sender_maps" xaritalash turi qo'shildi. Misol uchun, root va postfiksdan tashqari mahalliy foydalanuvchilarga faqat sendmailda loginlarini ko'rsatishga ruxsat berish uchun UID nomini bog'lash orqali siz quyidagi sozlamalardan foydalanishingiz mumkin: /etc/postfix/main.cf: local_login_sender_maps = inline :{ { root = *} , { postfix = * } }, pcre:/etc/postfix/login_senders /etc/postfix/login_senders: # Login va login@domain formasini koʻrsatishga ruxsat beriladi. /(.+)/ $1 $1…@example.com
  • Sukut boʻyicha “smtpd_relay_before_recipient_restrictions=yes” sozlamasi qoʻshilgan va yoqilgan, bunda SMTP server smtpd_relay_restrictions-ni smtpd_recipient_restrictionsdan oldin tekshiradi va avvalgidek aksincha emas.
  • Qo'shilgan "smtpd_sasl_mechanism_list" parametri, sukut bo'yicha "!external, static:rest" ga o'rnatiladi, bu SASL serveri Postfix-da qo'llab-quvvatlanmaydigan "EXTERNAL" rejimini qo'llab-quvvatlashga da'vo qilgan hollarda chalkashliklarni oldini olish uchun.
  • DNS-da nomlarni hal qilishda sukut bo'yicha ko'p ish zarralarini (threadsafe) qo'llab-quvvatlaydigan yangi API yoqilgan. Eski API bilan qurish uchun siz qurishda “makefiles CCARGS=”-DNO_RES_NCALLS…”ni belgilashingiz kerak.
  • Yetkazib berish muammolari, kechiktirilgan yetkazib berish yoki yetkazib berishni tasdiqlash haqidagi bildirishnomalarni bir xil muhokama identifikatori bilan almashtirish uchun "enable_threaded_bounces = yes" rejimi qo'shildi (xabarnoma pochta mijozi tomonidan boshqa yozishmalar xabarlari bilan bir xil mavzuda ko'rsatiladi).
  • Odatiy bo'lib, /etc/services tizim ma'lumotlar bazasi endi SMTP va LMTP uchun TCP port raqamlarini aniqlash uchun ishlatilmaydi. Buning o'rniga port raqamlari ma'lum_tcp_ports parametri orqali sozlanadi (standart lmtp=24, smtp=25, smtps=submissions=465, submission=587). Agar ma'lum_tcp_portlarda ba'zi xizmatlar etishmayotgan bo'lsa, /etc/services dan foydalanishda davom etadi.
  • Moslik darajasi ("moslik_darajasi") "3.6" ga ko'tarildi (parametr o'tmishda ikki marta o'zgartirilgan, 3.6 dan tashqari qo'llab-quvvatlanadigan qiymatlar 0 (standart), 1 va 2). Bundan buyon "moslik_darajasi" moslikni buzadigan o'zgarishlar kiritilgan versiya raqamiga o'zgaradi. Muvofiqlik darajalarini tekshirish uchun main.cf va master.cf ga “<=level” va “<level” kabi alohida taqqoslash operatorlari qo‘shilgan (standart taqqoslash operatorlari mos kelmaydi, chunki ular 3.10 dan 3.9 dan kam bo‘ladi).

Manba: opennet.ru

a Izoh qo'shish