Majdnem egy éves fejlesztés után megjelent a Postfix levelezőszerver új, stabil ága - a 3.9.0. Ezzel egy időben bejelentette a 3.5 elején kiadott Postfix 2020 ág támogatásának befejezését. A Postfix azon ritka projektek egyike, amely egyszerre ötvözi a magas biztonságot, a megbízhatóságot és a teljesítményt, ami egy jól átgondolt architektúrának, valamint a kódtervezés és a javítások auditálásának meglehetősen szigorú politikájának köszönhetően valósult meg. A projekt kódja C nyelven íródott, és EPL 2.0 (Eclipse Public License) és IPL 1.0 (IBM Public License) alatt terjeszthető.
Egy januárban elvégzett, körülbelül 400 ezer postai küldeményt felmérő automatizált felmérés szerint szervereketA Postfixet a levelezőszerverek 36.81%-án (egy évvel ezelőtt 33.18%-án) használják, az Exim részesedése 56.61% (egy évvel ezelőtt 60.27%), a Sendmailé 3.60% (3.62%), a MailEnableé 1.82% (1.86%), az MDaemoné 0.40% (0.39%), a Microsoft Exchangeé 0.19% (0.19%), az OpenSMTPD-é 0.09% (0.06%).

Főbb újítások:
- A MongoDB-hez egy kliens került hozzáadásra, amely lehetővé teszi a virtuális felhasználók, álnevek, címegyeztetési listák és különféle ellenőrző táblák adatbázisának tárolását ebben a DBMS-ben. A MongoDB-hez való hozzáférés konfigurálásához a „mongodb” táblatípus hozzáadásra került. Például „alias_maps = proxy:mongodb:/etc/postfix/mongo.cf”, ahol a mongo.cf egy fájl a MongoDB-hez való csatlakozás beállításaival és egy lekérdezési szűrővel.
- Az ESMTP MAIL parancs (RFC 3461) ENVID (Envelope ID) paraméterén keresztül az SMTP-munkamenet során átadott továbbítási azonosító exportálása a helyi kézbesítési ügynökbe. Az azonosítót a rendszer az ENVID környezeti változóba írja, és a „${envid}” parancssori paraméteren keresztül továbbítja a csőszállítási ügynöknek.
- A következő paraméterekkel lettek hozzáadva a kliensekhez az adatok MySQL-ben („mysql:”) és PostgreSQL-ben („pgsql:”) történő tárolására: „idle_interval” a kapcsolat lezárása előtti inaktivitási idő meghatározására és „retry_interval” az újraküldés időzítőjének beállítására. kéréseket. Alapértelmezés szerint a paraméterek 60 másodpercre vannak beállítva. A „retry_interval” érték csökkenthető például a hibahelyreállítási idő csökkentése érdekében, ha csak egy szervert használ a „hosts” attribútumban.
- Egy „karakterkészlet” beállítás került hozzáadásra a MySQL-klienshez, amely megadja az alapértelmezett karakterkódolást. Az alapértelmezett érték "utf8mb4", amely megfelel a MySQL 8.0 alapértelmezett beállításainak (a korábbi kiadásokban az érték "latin1" volt). A MySQL 4.0-nál régebbi verziók (azaz a 2003 előtt megjelent verziók) támogatása megszűnt.
- Opcionális lehetőség biztosított arra, hogy X.509-tanúsítvány helyett önaláírt (nyers) nyilvános kulcsot kérjen a TLS-hez, amely nem kapcsolódik hitelesítésszolgáltatóhoz. A nyers kulcsok használata a kliensek és szerverek hitelesítésére az „smtpd_tls_enable_rpk = yes” és az „smtp_tls_enable_rpk = yes” paramétereken keresztül engedélyezett, de az ellenőrzés során tanúsított viselkedés erősen függ a beállított biztonsági szinttől és a helyi TLS megvalósításban a nyers kulcsok támogatásától. (lásd a dokumentációt).
- Az OpenSSL konfigurációs fájlok kezdeti támogatása hozzáadva. A TLS-beállításokkal rendelkező fájlra mutató hivatkozás megadásához a tls_config_file paraméter javasolt, a beállításokat tartalmazó szakasz nevének megadásához pedig a konfigurációs fájlból a „tls_config_name” paraméter. Az OpenSSL konfigurációs fájlokhoz való hivatkozással csökkenthető a terjesztési beállításoktól való függés, ahol a biztonsági szint megváltoztatása a titkosítás nélkül elküldött üzenetek arányának növekedéséhez vezethet.
- Az üzenetfejlécekben a napok számának formázása a dátumokban módosult – az 1-től 9-ig terjedő napok mostantól nullával vannak kitöltve, nem pedig szóközzel (pl. „01”, „02” stb.). A módosításra azért került sor, mert az RFC 5322 egyetlen szóköz használatát javasolja elválasztóként a dátumokban.
- Hozzáadott védelem bizonyos típusú „vak” támadások ellen (a webes kliensek elleni SSRF-támadások, amelyek célja a szerver SMTP-n keresztüli elérése), amely akkor kerül alkalmazásra, ha az „smtpd_forbid_unauth_pipelining = yes” beállítás be van állítva (alapértelmezett).
- Alapértelmezés szerint az „smtpd_forbid_bare_newline = normalize” beállítás engedélyezve van, amely megvédi a szervert az „SMTP-csempészet” támadásoktól, amelyek lehetővé teszik egy üzenet több különböző üzenetre való felosztását a betűk elválasztására szolgáló nem szabványos sorrend használatával. A kimenő SMTP-csempésztámadások ellen is védelmet adtak, amelyek során a támadó egy Postfix-alapú szervert használ egy másik SMTP-kiszolgáló megtámadására. Alapértelmezés szerint a „cleanup_replace_stray_cr_lf = yes” beállítás engedélyezve van, és lecseréli a további karaktereket És az űrbe.
- A DNS-kliens implementációjában a visszaadott DNS-lekérdezési eredmények mérete mostantól 100 rekordra korlátozódik, ami 20-szor nagyobb, mint az SMTP-kliens által támogatott maximális szám. IP-címek egy szerverre.
- A „disable_dns_lookup” és a „permit_mx_backup” paraméterek, valamint egyes TLS konfigurációs paraméterek elavultak.
- A körülbelül 20 éve elavult beállítások támogatása megszűnt: "permit_naked_ip_address", "check_relay_domains" és "reject_maps_rbl".
Forrás: opennet.ru
