PPoossttffiixx SSMMTTPP 졼ӥ

-------------------------------------------------------------------------------

Ϥ

Postfix SMTP ФϥͥåȥΥ᡼ΤǡE᡼
륹Τ褦礭ʰ˻ƤޤΥɥȤ Postfix 
 SMTP ᡼椹ӥȥμˡӳˡ򤱤٤ְ㤤
ƥȤˡҲ𤷤ޤ

ΥɥȤСƤ:

  * 졼桢󥯥᡼桢ӥ桼ȤΥݥꥷ
  * Ƥ SMTP ᡼ŬѤ
  * SMTP ¥ꥹȤˤ
  * SMTP ꥹȤɾ٤餻
  * smtpd_recipient_restrictions δˡ
  * SMTP 롼Υƥ

졼桢᡼桢ӥ桼ȤΥݥꥷ

Ϥ뤫Ρ󥿡ͥåȤͧŪʴĶǤ᡼륵Фï
ɤؤžƤޤΥ󥿡ͥåȤǤϡѥޡ
ǤդΥƥफ᡼žΤ˥ФѤѤ줿ƥ
ѥޡ֥åꥹȤ˺ܤäƤޤޤ㤨С
http://www.mail-abuse.org/ 䤽¾Υ֥Ȥξ򸫤Ƥ

ǥեȤǤϡPostfix ϥ᡼Υ졼ФŬ٤¤Ȥץ
äƤޤPostfix ϿꤹͥåȥΥ᡼졼Ȥ
ǧ褦ꤵ줿ɥᥤФƤΤߥ᡼졼ޤǥեȤ
ݥꥷεҤ postconf(5) ޥ˥奢ڡ smtpd_recipient_restrictions
ѥ᡼䡢ǻȤƤ򸫤Ƥ

ۤȤɤ Postfix SMTP ХϥE᡼ߤ뤳Ȥ
ŪȤƤޤ

  * ץȥظ: SMTP Хˤ SMTP ץȥ˴ؤ
    ̩˽Ȥˤäƥ᡼֥åΤޤ; 
    ޤ䲼Υ󥯥᡼륽եȥ䡢ɸ˽ʤ
    SMTP 饤Ȥ򼫿Ȥ˼E᡼館ޤѥޡ
    κԤ RFC ɥȤɤळȤؤǤƤ뤿ᡢץȥ
    ظΥϡΩʤʤäƤƤޤ

  * ֥åꥹȻظ: SMTP Хˤϡ֥åꥹȤ˥ץ
    ᡼졼䥪ץ󥦥֥ץˤ餵줿ȺԤΥ⡼
    ȥ벼֤줿ۡॳԥ塼Τ褦ʰȤȤ狼ä
    Τ䤤碌ΤޤΥ֥åꥹȤθ̤ϡ
    ꥹȤɤȤɤۤɺǿΤΤˤޤ

  * ͻظ: SMTP Хˤϥ饤Ȥˤ¿λŻ򤵤
    (greylisting) ɥԥ˥ (SPF /Ը) Ȥ
    ٥夲Τޤgreylisting  SPF ݥꥷϳǼ
    ΤǤꡢSMTPD_POLICY_README ɥȤƤǤ/
    ɥ쥹ڤ ADDRESS_VERIFICATION_README ɥȤμǤ

ǰʤ顢ƥ󥯥᡼ˤʥ᡼ݤƤޤǽ
ޤΤȤ͡ʥפΥ桼󤤤륵ȤǤˤʤ
Ǥ礦ɤʥE᡼뤬äƤΤʤ桼ǡ
1̤ǤE᡼å֥åƤޤफ
桼Ǥ礦ƤΥ桼 "" ñΥݥꥷ櫓Ǥ
ʤΤǡPostfix ϥ桼Ȥ˰ۤʤ SMTP 򥵥ݡȤƤޤ
 RESTRICTION_CLASS_README ɥȤ˵ҤƤޤ

Ƥ SSMMTTPP ᡼ŬŬѤ

Υ˽񤫤Ƥ륯饤Ȥ桼Ȥǽ°ʳˡ
Postfix Ƥ SMTP ᡼ŬѤ¤򤤤ĤƤޤ

  * ӥȥ header_checks  body_checks ƥ¡
    BUILTIN_FILTER_README ɥȤ˵ҤƤޤPostfix ᡼
    Ƥ֤ǡincoming 塼¸˸ʤޤ

  * 塼γƥ¡ SMTPD_PROXY_README ɥȤ
    񤫤ƤޤPostfix ᡼Ƥ֤ǡincoming 塼¸
    ˸ʤޤ

  * 饤Ȥ MAIL FROM  ETRN ޥɤˡHELO ⤷ EHLO
    ޥɤ뤳Ȥ׵ᡣϥ᡼뼫Υץꥱ
    򵯤⤷ޤ󡣤ΤᡢǥեȤǤϤ׵̵ˤʤä
    ޤ ("smtpd_helo_required = no")

  * MAIL FROM  RCPT TO ޥɤˤʸˡǧޤ󡣤ϥ᡼
    뼫ץꥱŤ PC ᡼륯饤Ȥ򵯤
    ޤ󡣤ΤᡢǥեȤǤϤ׵̵ˤʤäƤޤ
    ("strict_rfc821_envelopes = no")

      o RFC 822 ɥ쥹ʸˡǧޤ (: "MAIL FROM: the dude
        <dude@example.com>")

      o <> ǰϤޤƤʤɥ쥹ǧޤ (: "MAIL FROM:
        dude@example.com")

  * ¸ߤʤԥɥ쥹Υ᡼εݡиǤΤ褦ʥե륿󥰤
    ʤȥ¾ΰդ륽եȥ٤ΤΩޤ
    ֿǤʤɥ쥹ǥ᡼뼫եȥ򵯤
    ޤ󡣤ΤᡢǥեȤǤϤ׵̵ˤʤäƤޤ
    ("smtpd_reject_unlisted_sender = no")

  * ¸ߤʤԥɥ쥹᡼εݡǤΤ褦ʥե륿󥰤
    ʤȡǤʤ MAILER-DAEMON å塼ˤޤʤ褦
    ΤΩޤ׵ϥǥեȤͭˤʤäƤޤ
    ("smtpd_reject_unlisted_recipient = yes")

SSMMTTPP ¥ꥹȤˤ

Postfix Ǥ SMTP ̿γƥơȤ˥¤ΥꥹȤꤹ뤳Ȥ
Ǥޤġ¤ postconf(5) ޥ˥奢ڡ˽񤫤Ƥޤ

ʲϴñ¤Ǥ:

/etc/postfix/main.cf:
    # ꤷƤͥåȥ³ΤߤĤޤ
    smtpd_client_restrictions = permit_mynetworks, reject

    # ۥ̾Τʤ᡼륷ƥȤäޤ
    smtpd_helo_restrictions = reject_unknown_hostname

    # ¸ߤʤɥᥤ󤫤Υ᡼ϼդޤ
    smtpd_sender_restrictions = reject_unknown_sender_domain

    # ۥ磻ȥꥹƥ: 륯饤ȤϤɤǤǤ
    # ʳϤǤޤ
    smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination

    # 륯饤Ȥ֥åޤ
    smtpd_data_restrictions = reject_unauth_pipelining

    # ݥꥷӥƤӽФƥ᡼̤Υޤ
    smtpd_end_of_data_restrictions = check_policy_service unix:private/policy

줾¥ꥹȤϡ¤η̤ PERMIT  REJECTDEFER (ǻ
) ˤʤޤǡ鱦ؤɾޤꥹȤκǸ PERMIT Ȥ
̤ǤPERMIT ¤ REJECT ¤֤ȤǡΥ饤Ȥ
桼Ф㳰뤳ȤǤޤۥ磻ȥꥹƥ󥰤Ȥޤ;
κǸǤϡͥåȥΥ᡼ϵĤޤʳ
ǤդؤΥ᡼ϵݤޤ

ʲɽϤ줾 SMTP ¥ꥹȤŪޤȤƤޤ
ꥹȤơƱʸˡȤޤ; ɾȤ REJECT  DEFER Ȥ
̤αƶۤʤǤ

     _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    |¥ꥹ̾̾                  |      |RREEJJEECCTT  DDEEFFEERR αƶ      |
    |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
    |smtpd_client_restrictions     |ץ|ƤΥ饤ȥޥɤ|
    |                              |          |ݤޤ                  |
    |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
    |smtpd_helo_restrictions       |ץ|HELO/EHLO ݤޤ  |
    |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
    |smtpd_sender_restrictions     |ץ|MAIL FROM ݤޤ  |
    |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
    |smtpd_recipient_restrictions  |ɬ      |RCPT TO ݤޤ    |
    |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
    |smtpd_data_restrictions       |ץ|DATA ޥɤݤޤ   |
    |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
    |smtpd_end_of_data_restrictions|ץ|END-OF-DATA ޥɤ      |
    |                              |          |ݤޤ                  |
    |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
    |smtpd_etrn_restrictions       |ץ|ETRN ޥɤݤޤ   |
    |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |

SSMMTTPP ꥹȤɾɾ٤餻

ΥС Postfix  SMTP ¥ꥹȤ᤯
ɾƤޤ饤¥ꥹȤ Postfix  SMTP 饤Ȥ
"220 $myhostname..." ꡼ƥ󥰥Хʡɾhelo ¥ꥹȤ
Postfix  HELO (EHLO) ޥɤ˱ˡ¥ꥹȤ Postfix 
MAIL FROM ޥɤ˱ˡȤ褦ɾƤޤˡ
ȤΤ񤷤ȤȤ狼äƤޤ

ߤΥС Postfix ϥ饤Ȥ helo¥ꥹȤɾ
RCPT TO ޤ ETRN ޥɤޤ٤餻ޤο񤤤 smtpd_delay_reject
ѥ᡼ˤä椵ޤǤ¥ꥹȤ (饤ȡheloetrn)
ޤ (饤ȡheloԡԡdataend-of-data) ¤Ȥ
Ŭڤʽɾޤ¥ꥹ (: 饤)  REJECT ޤ
DEFER ɾȡ¾¥ꥹ (: heloԤʤ) Фޤ

smtpd_delay_reject Ƴ줿Postfix ϥ饤Ȥ heloԡ
ԡetrn ޥɤξȤ߹碌¥ꥹȤ򥵥ݡȤ褦ˤ
Ѥޤ

¤ɾ٤餻ꡢ¤򺮤뤳ȤǤ:

  * SMTP 饤Ȥˤ SMTP åνʳ֤뤳Ȥ
    ͽƤʤΤޤRCPT TO ޤǰΤ餻٤餻С
    饤Ȥϴ̤ΩäƤॢȤޤǥϥ󥰤Ƥ
    ˤϥɥ쥹³ -  - ³롼פäꤷޤ

  * Postfix ϤΩľ˵ϿǤޤ㤨СPostfix 
    饤̾䥢ɥ쥹ݤ RCPT TO ޥɤޤǥ
    ٤餻ȡԤԤΥɥ쥹˵Ͽ뤳ȤǤޤ
    ϥ饤ȥۥ̾ IP ɥ쥹ϿïΥ᡼뤬
    ֥å줿狼ʤȤǤ

  * ʣʥۥ磻ȥꥹƥ󥰥ݥꥷˤ¤κߤɬפǤ㤨С
    륯饤ȤΥ᡼ˤԥɥ쥹
    ݤ뤿ˤϡ饤Ⱦ¤Ծ¤Ʊ¥ꥹȤ
    Ǻ뤳ȤǽǤɬפޤΤ褦ʵǽʤȡ
    桼ȤΥ¤¿ɽΤԲǽˤʤäƤޤޤ

ssmmttppdd__rreecciippiieenntt__rreessttrriiccttiioonnss δˡˡ

ޤǤǡsmtpd 饤ȡheloԤޤϼԤ¤ RCPT TO 
ETRN ޥɤޤ٤餵ȤˡʤɬפʤΤ狼ʤ⤷ޤ͡
¤ơsmtpd_recipient_restrictions ꥹȤ֤Ȥ
ͤ⤤ޤǰʤ顢ϥ٤˵ĤˤƤޤ
ޤ󡣤ɤƤʤΤǤ礦

smtpd_recipient_restrictions ǽŪ Postfix  RCPT TO ޥɤؤ
бˡ椷ޤ¥ꥹȤ REJECT  DEFER ɾȡ
ɥ쥹ϵݤޤ; ˤϲäȤϤޤ󡣷̤ PERMIT
Ǥȡԥɥ쥹ϼޤ˶äȤޤ

 PERMIT Ȥ̤٤˥ĤƤޤǤ:

1 /etc/postfix/main.cf:
2     smtpd_recipient_restrictions =
3         permit_mynetworks
4         check_helo_access hash:/etc/postfix/helo_access
5         reject_unknown_hostname
6         reject_unauth_destination
7
8 /etc/postfix/helo_access:
9     localhost.localdomain PERMIT

5ܤ HELO ޥɤۥ̾ꤷʤۥȤΥ᡼
ݤޤ4ܤ9ܤϼʬ "HELO localhost.localdomain" ȹ𤲤
ޥ󤫤Υ᡼㳰ޤ

ϡsmtpd_recipient_restrictions ʬȤ
"localhost.localdomain" ȼĥۥȡơפ PERMIT ɾƤޤ
ȤǡΤ褦ƤΥۥȤФ Postfix 򥪡ץ졼ˤ
ޤޤ

smtpd_recipient_restrictions ǤΤ褦ʶä򤱤ˤϡԤǤϤʤ¤
reject_unauth_destination ¤ǤϤʤָˡ֤ʤФޤ
ǤϡHELO ˴Ť reject_unauth_destination Ρָˡ֤٤
ꡢ⤷ѤΤʤ smtpd_helo_restrictions ʲ֤Ф褤
Ǥ礦

SSMMTTPP 롼Υƥ

Postfix ˤ SMTP 롼ƥȤΤΩĵǽĤޤ:

soft_bounce
     SMTP  REJECT  DEFER (ǻƤ)
    Ѥ롢ͥåȤǤϥ᡼򥭥塼ˤȤɤ
    ޤʤȥ᡼Ԥ֤Ƥޤޤ5xx SMTP 
    ɤ 4xx Ѥ뤳Ȥ Postfix SMTP Ф᡼򹱵Ū˵
    ʤ褦ˤ뤿ˡmain.cf ե "soft_bounce = yes" 
    Ƥ

warn_if_reject
     SMTP  REJECT ٹѤ롢̤ΰͥåȤǤ
    ޥɤݤˡPostfix ϵݤ褦ȤΤ˵Ͽ
    ޤºݤ˥᡼ݤ˥ƥȤ SMTP ¥ꥹȤ
    ¤ˡ"warn_if_reject" ꤷޤ

XCLIENT
     Postfix 2.1 εǽǡĤ줿 SMTP 饤Ȥ¾Υƥ
    դ򤹤뤳ȤǤޤ뤳Ȥǡºݤ˶ᤤ SMTP 롼
    ƥȤǤޤ롼ΥƥȤ¾ΥƥΤդ򤹤
    ˡ XCLIENT_README ɥȤκǸˤޤ

