Π‘Π»Π΅Π΄ 10 ΠΌΠ΅ΡΠ΅ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π±Π΅ΡΠ΅ ΠΏΡΡΠ½Π°Ρ Π½ΠΎΠ² ΡΡΠ°Π±ΠΈΠ»Π΅Π½ ΠΊΠ»ΠΎΠ½ Π½Π° ΠΏΠΎΡΠ΅Π½ΡΠΊΠΈΡ ΡΡΡΠ²ΡΡ Postfix - 3.7.0. Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ ΡΠΎΠΉ ΠΎΠ±ΡΠ²ΠΈ ΠΊΡΠ°Ρ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π·Π° ΠΊΠ»ΠΎΠ½Π° Postfix 3.3, ΠΏΡΡΠ½Π°Ρ Π² Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° 2018 Π³. Postfix Π΅ Π΅Π΄ΠΈΠ½ ΠΎΡ ΡΠ΅Π΄ΠΊΠΈΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈ, ΠΊΠΎΠΉΡΠΎ ΡΡΡΠ΅ΡΠ°Π²Π° Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π²ΠΈΡΠΎΠΊΠ° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ, Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ, ΠΊΠΎΠ΅ΡΠΎ Π±Π΅ΡΠ΅ ΠΏΠΎΡΡΠΈΠ³Π½Π°ΡΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π΄ΠΎΠ±ΡΠ΅ ΠΎΠ±ΠΌΠΈΡΠ»Π΅Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΈ Π΄ΠΎΡΡΠ° ΡΡΡΠΎΠ³Π° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ° Π·Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ΄ ΠΈ ΠΎΠ΄ΠΈΡ Π½Π° ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ. ΠΠΎΠ΄ΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ EPL 2.0 (ΠΏΡΠ±Π»ΠΈΡΠ΅Π½ Π»ΠΈΡΠ΅Π½Π· Π½Π° Eclipse) ΠΈ IPL 1.0 (ΠΏΡΠ±Π»ΠΈΡΠ΅Π½ Π»ΠΈΡΠ΅Π½Π· Π½Π° IBM).
Π‘ΠΏΠΎΡΠ΅Π΄ ΡΠ½ΡΠ°ΡΡΠΊΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°Π½ΠΎ ΠΏΡΠΎΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΠΊΠΎΠ»ΠΎ 500 Ρ ΠΈΠ»ΡΠ΄ΠΈ ΠΏΠΎΡΠ΅Π½ΡΠΊΠΈ ΡΡΡΠ²ΡΡΠ°, Postfix ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π½Π° 34.08% (ΠΏΡΠ΅Π΄ΠΈ Π³ΠΎΠ΄ΠΈΠ½Π° 33.66%) ΠΎΡ ΠΏΠΎΡΠ΅Π½ΡΠΊΠΈΡΠ΅ ΡΡΡΠ²ΡΡΠΈ, Π΄Π΅Π»ΡΡ Π½Π° Exim Π΅ 58.95% (59.14%), Sendmail - 3.58% (3.6 %), MailEnable - 1.99% ( 2.02%), MDaemon - 0.52% (0.60%), Microsoft Exchange - 0.26% (0.32%), OpenSMTPD - 0.06% (0.05%).
ΠΡΠ½ΠΎΠ²Π½ΠΈ ΠΈΠ½ΠΎΠ²Π°ΡΠΈΠΈ:
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ Π΄Π° Π²ΠΌΡΠΊΠ½Π΅ΡΠ΅ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΌΠ°Π»ΠΊΠΈ ΡΠ°Π±Π»ΠΈΡΠΈ βcidr:β, βpcre:β ΠΈ βregexp:β Π² ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π½Π° Postfix, Π±Π΅Π· Π΄Π° ΡΠ²ΡΡΠ·Π²Π°ΡΠ΅ Π²ΡΠ½ΡΠ½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈΠ»ΠΈ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ. ΠΠ°ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΡΡΡΠΎ ΡΠ΅ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΈ ΡΠΊΠΎΠ±ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ° smtpd_forbidden_commands ΡΠ΅Π³Π° ΡΡΠ΄ΡΡΠΆΠ° Π½ΠΈΠ·Π° βCONNECT GET POST regexp:{{/^[^AZ]/ Thrash}}β, Π·Π° Π΄Π° ΡΠ΅ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°, ΡΠ΅ Π²ΡΡΠ·ΠΊΠΈΡΠ΅ ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ ΠΎΡΠΏΠ°Π΄Π°Ρ Π±ΠΎΠΊΠ»ΡΠΊ Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ. ΠΠ±Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ: /etc/postfix/main.cf: ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ = .. map-type:{ { rule-1 }, { rule-2 } .. } .. /etc/postfix/master.cf: .. -o { ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ = .. ΡΠΈΠΏ-ΠΊΠ°ΡΡΠ°: { { ΠΏΡΠ°Π²ΠΈΠ»ΠΎ-1 }, { ΠΏΡΠ°Π²ΠΈΠ»ΠΎ-2 } .. } .. } ..
- ΠΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΡΡ Π½Π° postlog Π²Π΅ΡΠ΅ Π΅ ΡΠ½Π°Π±Π΄Π΅Π½ Ρ ΡΠ»Π°Π³Π° set-gid ΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ°, ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈΡΠ΅ Π½Π° Π³ΡΡΠΏΠ°ΡΠ° postdrop, ΠΊΠΎΠ΅ΡΠΎ ΠΌΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ ΠΎΡ Π½Π΅ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ Π·Π° Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ Π½Π° ΠΆΡΡΠ½Π°Π»ΠΈ ΡΡΠ΅Π· ΡΠΎΠ½ΠΎΠ²ΠΈΡ ΠΏΡΠΎΡΠ΅Ρ postlogd, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΏΠΎΠ²ΠΈΡΠ΅Π½Π° Π³ΡΠ²ΠΊΠ°Π²ΠΎΡΡ ΠΏΡΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° maillog_file ΠΈ Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° stdout ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½Π΅ ΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° API Π·Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ OpenSSL 3.0.0, PCRE2 ΠΈ Berkeley DB 18.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π·Π°ΡΠΈΡΠ° ΡΡΠ΅ΡΡ Π°ΡΠ°ΠΊΠΈ Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΠ±Π»ΡΡΡΡΠΈ Π² Ρ Π΅ΡΠΎΠ²Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π³ΡΡΠ±Π° ΡΠΈΠ»Π° Π½Π° ΠΊΠ»ΡΡ. ΠΠ°ΡΠΈΡΠ°ΡΠ° ΡΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²ΡΠ²Π° ΡΡΠ΅Π· ΡΠ°Π½Π΄ΠΎΠΌΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎΡΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° Ρ Π΅Ρ-ΡΠ°Π±Π»ΠΈΡΠΈ, ΡΡΡ ΡΠ°Π½ΡΠ²Π°Π½ΠΈ Π² RAM. ΠΠΎΠ½Π°ΡΡΠΎΡΡΠ΅ΠΌ Π΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½ ΡΠ°ΠΌΠΎ Π΅Π΄ΠΈΠ½ ΠΌΠ΅ΡΠΎΠ΄ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°ΠΊΠΈΠ²Π° Π°ΡΠ°ΠΊΠΈ, ΠΊΠΎΠΉΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π° ΠΈΠ·Π±ΡΠΎΡΠ²Π°Π½Π΅ Π½Π° IPv6 Π°Π΄ΡΠ΅ΡΠΈΡΠ΅ Π½Π° SMTP ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ Π² ΡΡΠ»ΡΠ³Π°ΡΠ° anvil ΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½Π΅ Π·Π° ΡΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠΎΡΠΈΡΠΈ ΠΊΡΠ°ΡΠΊΠΎΡΡΠ°ΠΉΠ½ΠΈ Π²ΡΡΠ·ΠΊΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°, Π΄ΠΎΠΊΠ°ΡΠΎ ΡΠΈΠΊΠ»ΠΈΡΠ½ΠΎ ΡΠ΅ ΠΏΡΠ΅ΡΡΡΡΠ²Π°Ρ Ρ ΠΈΠ»ΡΠ΄ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈ IP Π°Π΄ΡΠ΅ΡΠΈ . ΠΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ Ρ Π΅Ρ-ΡΠ°Π±Π»ΠΈΡΠΈ, ΡΠΈΠΈΡΠΎ ΠΊΠ»ΡΡΠΎΠ²Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½ΠΈ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π½Π° Π½Π°ΠΏΠ°Π΄Π°ΡΠ΅Π»Ρ, Π½Π΅ ΡΠ° ΠΏΠΎΠ΄Π°ΡΠ»ΠΈΠ²ΠΈ Π½Π° ΡΠ°ΠΊΠΈΠ²Π° Π°ΡΠ°ΠΊΠΈ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΈΠΌΠ°Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° (Π½Π°ΠΊΠΎΠ²Π°Π»Π½ΡΡΠ° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅ Π²Π΅Π΄Π½ΡΠΆ Π½Π° Π²ΡΠ΅ΠΊΠΈ 100 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ).
- ΠΠ°ΡΠΈΠ»Π΅Π½Π° Π·Π°ΡΠΈΡΠ° ΡΡΠ΅ΡΡ Π²ΡΠ½ΡΠ½ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ ΠΈ ΡΡΡΠ²ΡΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π±Π°Π²Π½ΠΎ ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΡ Π΄Π°Π½Π½ΠΈ Π±ΠΈΡ ΠΏΠΎ Π±ΠΈΡ, Π·Π° Π΄Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ SMTP ΠΈ LMTP Π²ΡΡΠ·ΠΊΠΈΡΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° Π΄Π° Π±Π»ΠΎΠΊΠΈΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΡΡΠ΅Π· ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΡΠ»ΠΎΠ²ΠΈΡ Π·Π° ΠΈΠ·ΡΠ΅ΡΠΏΠ²Π°Π½Π΅ Π½Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π·Π° Π±ΡΠΎΡ Π½Π° ΡΡΡΠ°Π½ΠΎΠ²Π΅Π½ΠΈΡΠ΅ Π²ΡΡΠ·ΠΊΠΈ). ΠΠΌΠ΅ΡΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π²ΡΠ² Π²ΡΡΠ·ΠΊΠ° ΡΡΡ Π·Π°ΠΏΠΈΡΠΈΡΠ΅, ΡΠ΅Π³Π° ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ² Π²ΡΡΠ·ΠΊΠ° ΡΡΡ Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ ΠΈ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π·Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½Π°ΡΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½Π° ΡΠΊΠΎΡΠΎΡΡ Π½Π° ΡΡΠ°Π½ΡΡΠ΅Ρ Π½Π° Π΄Π°Π½Π½ΠΈ Π² DATA ΠΈ BDAT Π±Π»ΠΎΠΊΠΎΠ²Π΅. Π‘ΡΠΎΡΠ²Π΅ΡΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ {smtpd,smtp,lmtp}_per_record_deadline Π±ΡΡ Π° Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΈ ΠΎΡ {smtpd,smtp,lmtp}_per_request_deadline ΠΈ {smtpd, smtp,lmtp}_min_data_rate.
- ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° postqueue Π³Π°ΡΠ°Π½ΡΠΈΡΠ°, ΡΠ΅ Π½Π΅ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΠΌΠΈΡΠ΅ Π·Π½Π°ΡΠΈ, ΠΊΠ°ΡΠΎ Π½ΠΎΠ²ΠΈ ΡΠ΅Π΄ΠΎΠ²Π΅, ΡΠ΅ ΠΏΠΎΡΠΈΡΡΠ²Π°Ρ ΠΏΡΠ΅Π΄ΠΈ ΠΎΡΠΏΠ΅ΡΠ°ΡΠ²Π°Π½Π΅ ΠΊΡΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠ΅Π½ ΠΈΠ·Ρ ΠΎΠ΄ ΠΈΠ»ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½Π΅ Π½Π° Π½ΠΈΠ·Π° Π² JSON.
- Π tlsproxy ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ tlsproxy_client_level ΠΈ tlsproxy_client_policy Π±ΡΡ Π° Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΈ ΠΎΡ Π½ΠΎΠ²ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ tlsproxy_client_security_level ΠΈ tlsproxy_client_policy_maps Π·Π° ΡΠ΅Π΄Π½Π°ΠΊΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠΌΠ΅Π½Π°ΡΠ° Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π² Postfix (ΠΈΠΌΠ΅Π½Π°ΡΠ° Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ tlsproxy_client_xxx Π²Π΅ΡΠ΅ ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π°Ρ Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ smtp_tls_xxx).
- ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π³ΡΠ΅ΡΠΊΠΈ ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠΈ LMDB, Π΅ ΠΏΡΠ΅ΡΠ°Π±ΠΎΡΠ΅Π½Π°.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru