3.6.0๋ ๊ฐ์ ๊ฐ๋ฐ ๋์ Postfix ๋ฉ์ผ ์๋ฒ์ ์๋ก์ด ์์ ๋ฒ์ ์ธ 3.2์ด ์ถ์๋์์ต๋๋ค. ๋์์ 2017๋ ์ด์ ์ถ์๋ Postfix 2.0 ๋ธ๋์น์ ๋ํ ์ง์ ์ข ๋ฃ๋ฅผ ๋ฐํํ์ต๋๋ค. Postfix๋ ์ ๊ณ ์๋ ์ํคํ ์ฒ์ ์ฝ๋ ์ค๊ณ ๋ฐ ํจ์น ๊ฐ์ฌ์ ๋ํ ์๋นํ ์๊ฒฉํ ์ ์ฑ ๋๋ถ์ ๋์ ๋ณด์, ์์ ์ฑ ๋ฐ ์ฑ๋ฅ์ ๋์์ ๊ฒฐํฉํ ๋ณด๊ธฐ ๋๋ฌธ ํ๋ก์ ํธ ์ค ํ๋์ ๋๋ค. ํ๋ก์ ํธ ์ฝ๋๋ EPL 1.0(Eclipse Public License) ๋ฐ IPL XNUMX(IBM Public License)์ ๋ฐ๋ผ ๋ฐฐํฌ๋ฉ๋๋ค.
600์ ์ฝ 33.66๋ง ๊ฐ์ ๋ฉ์ผ์๋ฒ๋ฅผ ๋์์ผ๋ก ์ค์ํ ์๋ ์กฐ์ฌ์ ๋ฐ๋ฅด๋ฉด, Postfix๊ฐ 34.29%(59.14๋ ์ 57.77%)์ ๋ฉ์ผ ์๋ฒ์์ ์ฌ์ฉ๋๊ณ ์์ผ๋ฉฐ, Exim์ด 3.6%(3.83%), Sendmail์ด 2.02%(2.12%)๋ฅผ ์ฌ์ฉํ๊ณ ์๋ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค. %), MailEnable - 0.60%( 0.77%), MDaemon - 0.32%(0.47%), Microsoft Exchange - XNUMX%(XNUMX%).
์ฃผ์ ํ์ :
- Postfix ๊ตฌ์ฑ ์์ ๊ฐ์ ์ํธ ์์ฉ์ ์ฌ์ฉ๋๋ ๋ด๋ถ ํ๋กํ ์ฝ์ ๋ณ๊ฒฝ์ผ๋ก ์ธํด ์ ๋ฐ์ดํธํ๊ธฐ ์ ์ "postfix stop" ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ๋ฉ์ผ ์๋ฒ๋ฅผ ์ค์งํด์ผ ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ํฝ์ , qmgr, verify, tlsproxy ๋ฐ postscreen ํ๋ก์ธ์ค์ ์ํธ ์์ฉํ ๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ฌ Postfix๊ฐ ๋ค์ ์์๋ ๋๊น์ง ์ด๋ฉ์ผ ์ ์ก์ด ์ง์ฐ๋ ์ ์์ต๋๋ค.
- ์ผ๋ถ ์ปค๋ฎค๋ํฐ ๊ตฌ์ฑ์์ด ์ธ์ข
์ฐจ๋ณ๋ก ์ธ์ํ๋ '๋ฐฑ์ธ'๊ณผ 'ํ์ธ'์ด๋ผ๋ ๋จ์ด์ ๋ํ ์ธ๊ธ์ด ์ญ์ ๋์์ต๋๋ค. ์ด์ "ํ์ดํธ๋ฆฌ์คํธ" ๋ฐ "๋ธ๋๋ฆฌ์คํธ" ๋์ "ํ์ฉ ๋ชฉ๋ก" ๋ฐ "๊ฑฐ๋ถ ๋ชฉ๋ก"์ ์ฌ์ฉํด์ผ ํฉ๋๋ค(์: ๋งค๊ฐ๋ณ์ postscreen_allowlist_interfaces, postscreen_denylist_action ๋ฐ postscreen_dnsbl_allowlist_threshold). ๋ณ๊ฒฝ ์ฌํญ์ ๋ฌธ์ํ, ์ฌํ ํ๋ฉด ํ๋ก์ธ์ค ์ค์ (๋ด์ฅ ๋ฐฉํ๋ฒฝ) ๋ฐ ๋ก๊ทธ ์ ๋ณด ๋ฐ์์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. postfix/postscreen[pid]: ALLOWLIST VETO [์ฃผ์]:port postfix/postscreen[pid]: ALLOWLISTED [์ฃผ์]:port postfix/postscreen[pid]: DENYLISTED [address]:port
๋ก๊ทธ์ ์ด์ ์ฉ์ด๋ฅผ ๋ณด์กดํ๊ธฐ ์ํด "compatibility_level = 3.6" ์ด์ ์ main.cf์ ์ง์ ๋์ด์ผ ํ๋ "relative_logging = no" ๋งค๊ฐ๋ณ์๊ฐ ์ ๊ณต๋ฉ๋๋ค. ์ด์ ์ฌํ ํ๋ฉด ์ค์ ์ด๋ฆ์ ๋ํ ์ง์์ ์ด์ ๋ฒ์ ๊ณผ์ ํธํ์ฑ์ ์ํด ์ ์ง๋์์ต๋๋ค. ๋ํ ๊ตฌ์ฑ ํ์ผ โmaster.cfโ๋ ํ์ฌ ๋ณ๊ฒฝ๋์ง ์์ ์ํ๋ก ์ ์ง๋ฉ๋๋ค.
- "compatibility_level = 3.6" ๋ชจ๋์์๋ MD256 ๋์ SHA5 ํด์ ํจ์๋ฅผ ์ฌ์ฉํ๋๋ก ๊ธฐ๋ณธ ์ค์์น๊ฐ ๋ง๋ค์ด์ก์ต๋๋ค. Compatibility_level ๋งค๊ฐ๋ณ์์ ์ด์ ๋ฒ์ ์ ์ค์ ํ๋ฉด MD5๊ฐ ๊ณ์ ์ฌ์ฉ๋์ง๋ง, ์๊ณ ๋ฆฌ์ฆ์ด ๋ช ์์ ์ผ๋ก ์ ์๋์ง ์์ ํด์ ์ฌ์ฉ๊ณผ ๊ด๋ จ๋ ์ค์ ์ ๊ฒฝ์ฐ ๋ก๊ทธ์ ๊ฒฝ๊ณ ๊ฐ ํ์๋ฉ๋๋ค. Diffie-Hellman ํค ๊ตํ ํ๋กํ ์ฝ์ ๋ด๋ณด๋ด๊ธฐ ๋ฒ์ ์ ๋ํ ์ง์์ด ์ค๋จ๋์์ต๋๋ค(tlsproxy_tls_dh512_param_file ๋งค๊ฐ๋ณ์ ๊ฐ์ ์ด์ ๋ฌด์๋ฉ๋๋ค).
- master.cf์ ์๋ชป๋ ํธ๋ค๋ฌ ํ๋ก๊ทธ๋จ์ ์ง์ ํ๋ ๊ฒ๊ณผ ๊ด๋ จ๋ ๋ฌธ์ ๋ฅผ ๊ฐ๋จํ๊ฒ ์ง๋จํฉ๋๋ค. ์ด๋ฌํ ์ค๋ฅ๋ฅผ ๊ฐ์งํ๊ธฐ ์ํด postdrop์ ํฌํจํ ๊ฐ ๋ฐฑ์๋ ์๋น์ค๋ ์ด์ ํต์ ์ ์์ํ๊ธฐ ์ ์ ํ๋กํ ์ฝ ์ด๋ฆ์ ๊ด๊ณ ํ๊ณ sendmail์ ํฌํจํ ๊ฐ ํด๋ผ์ด์ธํธ ํ๋ก์ธ์ค๋ ๊ด๊ณ ๋ ํ๋กํ ์ฝ ์ด๋ฆ์ด ์ง์๋๋ ๋ณํ๊ณผ ์ผ์นํ๋์ง ํ์ธํฉ๋๋ค.
- sendmail ๋ฐ postdrop ํ๋ก์ธ์ค์ ๋ํ ๋ณด๋ธ ์ฌ๋์ ๋ดํฌ ์ฃผ์(SMTP ์ธ์ ์ค "MAIL FROM" ๋ช ๋ น์์ ์ ๊ณต๋จ) ํ ๋น์ ์ ์ฐํ๊ฒ ์ ์ดํ๊ธฐ ์ํด ์๋ก์ด ๋งคํ ์ ํ "local_login_sender_maps"๋ฅผ ์ถ๊ฐํ์ต๋๋ค. ์๋ฅผ ๋ค์ด ๋ฃจํธ ๋ฐ ํฌ์คํธํฝ์ค๋ฅผ ์ ์ธํ ๋ก์ปฌ ์ฌ์ฉ์๊ฐ ์ด๋ฆ์ ๋ํ UID ๋ฐ์ธ๋ฉ์ ์ฌ์ฉํ์ฌ 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์์ ์ด๋ฆ์ ํ์ธํ ๋ ๋ฉํฐ์ค๋ ๋ฉ(threadsafe)์ ์ง์ํ๋ ์๋ก์ด API๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฑํ๋ฉ๋๋ค. ์ด์ API๋ก ๋น๋ํ๋ ค๋ฉด ๋น๋ํ ๋ "make makefiles CCARGS="-DNO_RES_NCALLSโฆ"๋ฅผ ์ง์ ํด์ผ ํฉ๋๋ค.
- ๋์ผํ ํ ๋ก ID๋ก ๋ฐฐ๋ฌ ๋ฌธ์ , ๋ฐฐ๋ฌ ์ง์ฐ ๋๋ ๋ฐฐ๋ฌ ํ์ธ์ ๋ํ ์๋ฆผ์ ๋์ฒดํ๊ธฐ ์ํด "enable_threaded_bounces = yes" ๋ชจ๋๋ฅผ ์ถ๊ฐํ์ต๋๋ค(์๋ฆผ์ ๋ค๋ฅธ ์์ ๋ฉ์์ง์ ํจ๊ป ๋์ผํ ์ค๋ ๋์ ๋ฉ์ผ ํด๋ผ์ด์ธํธ์ ํ์๋ฉ๋๋ค).
- ๊ธฐ๋ณธ์ ์ผ๋ก /etc/services ์์คํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ ์ด์ SMTP ๋ฐ LMTP์ ๋ํ TCP ํฌํธ ๋ฒํธ๋ฅผ ๊ฒฐ์ ํ๋ ๋ฐ ์ฌ์ฉ๋์ง ์์ต๋๋ค. ๋์ , Known_tcp_ports ๋งค๊ฐ๋ณ์(๊ธฐ๋ณธ๊ฐ lmtp=24, smtp=25, smtps=submissions=465, submit=587)๋ฅผ ํตํด ํฌํธ ๋ฒํธ๊ฐ ๊ตฌ์ฑ๋ฉ๋๋ค. Known_tcp_ports์์ ์ผ๋ถ ์๋น์ค๊ฐ ๋๋ฝ๋ ๊ฒฝ์ฐ /etc/services๊ฐ ๊ณ์ ์ฌ์ฉ๋ฉ๋๋ค.
- ํธํ์ฑ ์์ค(โcompatibility_levelโ)์ด โ3.6โ์ผ๋ก ๋์์ก์ต๋๋ค(๋งค๊ฐ๋ณ์๋ ๊ณผ๊ฑฐ์ ๋ ๋ฒ ๋ณ๊ฒฝ๋์์ต๋๋ค. 3.6์ ์ ์ธํ๊ณ ์ง์๋๋ ๊ฐ์ 0(๊ธฐ๋ณธ๊ฐ), 1, 2์ ๋๋ค). ์ด์ ๋ถํฐ "compatibility_level"์ ํธํ์ฑ์ ์๋ฐํ๋ ๋ณ๊ฒฝ์ด ์ด๋ฃจ์ด์ง ๋ฒ์ ๋ฒํธ๋ก ๋ณ๊ฒฝ๋ฉ๋๋ค. ํธํ์ฑ ์์ค์ ํ์ธํ๊ธฐ ์ํด main.cf ๋ฐ master.cf์ "<=level" ๋ฐ "<level"๊ณผ ๊ฐ์ ๋ณ๋์ ๋น๊ต ์ฐ์ฐ์๊ฐ ์ถ๊ฐ๋์์ต๋๋ค(ํ์ค ๋น๊ต ์ฐ์ฐ์๋ 3.10๋ณด๋ค 3.9์ ๊ณ ๋ คํ๋ฏ๋ก ์ ํฉํ์ง ์์ต๋๋ค).
์ถ์ฒ : opennet.ru