· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Postfix-SASL-HOWTO

Postfix + SASL HOWTO

½ÅÁ¾ÈÆ luna12s (at) pulix.org

v0.1, 2004/01/18


1. ¼­¹®

IBM Public License¸¦ µû¸£°í, Wietse Venema°¡ °³¹ßÇÑ ¿ÀǼҽº MTA(Mail Transfer Agent) ÇÁ·ÎÁ§Æ®ÀÎ Postfix¸¦ ¼Ò°³ÇÏ°í, SMTP Authentication(ÀÌÇÏ Auth)À» ÀÌ¿ëÇÏ¿© ¸ÞÀÏ ¼­ºñ½º¸¦ °¡´ÉÇÏ°Ô ÇÏ´Â °£´ÜÇÑ HOW-TO¸¦ Á¦°øÇÕ´Ï´Ù.

1.1. ¹®¼­ÀÇ ÀúÀÛ±Ç

Copyright (C) 2003 ½ÅÁ¾ÈÆ

ÀÌ ¹®¼­´Â GNU Free Documentation License ¹öÀü 1.2 ȤÀº ÀÌ¿¡ ÁØÇÏ´Â ÀúÀÛ±ÇÀÇ ±ÔÁ¤¿¡ µû¸£¸ç, ÀúÀ۱ǿ¡ ´ëÇÑ º» »çÇ×ÀÌ ¸í½ÃµÇ´Â ÇÑ ¾î¶°ÇÑ Á¤º¸ ¸Åü¿¡ ÀÇÇÑ º»¹®ÀÇ ÀüÀ糪 ¹ßÃéµµ ¹«»óÀ¸·Î Çã¿ëµË´Ï´Ù. ¶ÇÇÑ À§Å°ÀÇ Æ¯¼º»ó, KLDPWiki ³»¿¡¼­ À§ ¶óÀ̼¾½º¸¦ À§¹ÝÇÏÁö ¾Ê´Â ¼öÁØ¿¡¼­ ÀÚÀ¯·Ó°Ô ¼öÁ¤ÀÌ °¡´ÉÇÕ´Ï´Ù.

1.2. Ã¥ÀÓÀÇ ÇÑ°è

º» ÀúÀÚ´Â ¹®¼­ÀÇ ³»¿ëÀÌ ¾ß±âÇÒ ¼ö ÀÖ´Â ¾î¶°ÇÑ °á°ú¿¡ ´ëÇؼ­µµ Ã¥ÀÓÀ» ÁöÁö ¾Ê½À´Ï´Ù. º» ¹®¼­¿¡¼­ ³»Æ÷ÇÏ°í ÀÖ´Â Á¤º¸µé ¹× ¿¹Á¦µéÀº ¿©·¯ºÐÀÌ ¾Ë¾Æ¼­ È°¿ëÇϽʽÿÀ. ºñ·Ï ÃÖ¼±À» ´ÙÇßÀ¸³ª ÀÌ ¹®¼­´Â Ʋ¸° Á¡À̳ª ¿À·ù°¡ ÀÖÀ» ¼öµµ ÀÖ½À´Ï´Ù. ¸¸¾à ¿©·¯ºÐÀÌ Æ²¸° Á¡À» ¹ß°ßÇß´Ù¸é ¼öÁ¤ ¶Ç´Â ¸ÞÀÏ·Î ¾Ë·ÁÁÖ½Ã±æ ¹Ù¶ø´Ï´Ù.

1.3. °¨»çÀÇ ±Û

ÀÌ ¹®¼­¸¦ ÀÛ¼ºÇϴµ¥ µµ¿òÀ» ÁֽŠ¸¹Àº ºÐµé¿¡°Ô °¨»çµå¸³´Ï´Ù.

  • ¾ÕÀ¸·Î ÀÌ ¹®¼­¸¦ ¹ßÀü½ÃÅ°´Âµ¥ µµ¿òÀ» ÁÖ½Ç ¸ðµç ºÐµé²² °¨»çµå¸³´Ï´Ù.
  • [http]Mandrake Secure, Postfix-SASL HOWTO ¿¡¼­ °ü·Ã »çÇ×À» Âü°íÇÏ¿´½À´Ï´Ù.
  • Postfix ¼Ò½º³»ÀÇ SASL ¹®¼­¸¦ ÂüÁ¶ÇÏ¿´½À´Ï´Ù.
  • [http]http://www.securitysage.com ÀÇ Postfix Anti-Spam / Anti-UCE °¡À̵带 ÂüÁ¶ÇÏ¿´½À´Ï´Ù.

1.4. Çǵå¹é

ÀÌ ¹®¼­¿¡ ´ëÇÑ ¹ßÀüÀûÀÎ Á¦¾ÈÀ̳ª ¼öÁ¤»çÇ×, ¹®Á¦Á¡ µî¿¡ ´ëÇÑ Çǵå¹é ¹× ¼öÁ¤Àº ¾ðÁ¦µçÁö ȯ¿µÇÕ´Ï´Ù. KLDPWiki ÀÌ¿ÜÀÇ °÷¿¡¼­ ÇØ´ç ¹®¼­ÀÇ ¼öÁ¤»çÇ×À» ¹ß°ßÇϰųª ¹Ý¿µÇÏ°í ½ÍÀ¸½Ã´Ù¸é, luna12s (at) pulix.org ·Î º¸³»ÁֽʽÿÀ.

2. Postfix ¼Ò°³

¿¹ÀüÀÇ IBM Secure Mailer¿´´ø, Vmailer MTA(Mail Transfer Agent)ÀÇ ÇöÀç ¸íĪÀÌ´Ù. 1998³â ÀÌÈÄ Postfix·Î ¸íĪÀÌ ¹Ù²î°í,¿ÀǼҽº ¼ÒÇÁÆ®¿þ¾î·Î ÀüÇâÇÏ¿´´Ù. Qmail°ú ÇÔ²² SendmailÀÇ ´ë¾ÈÀ¸·Î »ç¿ëµÇ°í ÀÖ´Ù. Postfix´Â °¡º±°í ºü¸£¸ç, Sendmail¿¡¼­ ÀÌÀü(Migration)½Ã ¿¹Àü »ç¿ëÀÚµéÀÌ Å« ÀÌÁú°¨À» ´À³¢Áö ¾Ê´Â´Ù´Â °­Á¡ÀÌ ÀÖ´Ù. SASL(Simple Authentication and Security Layer, rfc2222)À» ÀÌ¿ëÇÑ SMTP ÀÎÁõÀ» Áö¿øÇϱ⠶§¹®¿¡, º¹ÀâÇÑ ¸±·¹ÀÌ ¼³Á¤À» ÇÏÁö ¾Ê°íµµ ±¸ÃàÇÑ ¸ÞÀÏ ¼­¹ö°¡ Spam Relaying¿¡ ÀÌ¿ëµÉ °¡´É¼ºÀ» ³·Ãâ ¼ö ÀÖ´Ù.

HP-UX, AIX, GNU/Linux, SunOS, IRIX, NeXTSTEP, BSD°è¿­, Mac OS X(Darwin)±îÁö *NIX °è¿­¿¡¼­ µÎ·çµÎ·ç ¼³Ä¡ ¹× ¿î¿µÀÌ °¡´ÉÇÏ´Ù. ¸ÞÀÏ ÇÊÅ͸µÀ» À§ÇØ ÆÞ È£È¯ Á¤±Ô Ç¥Çö½ÄÀ» »ç¿ëÇÒ °æ¿ì PCRE(Perl Compatible Regular Expression library)¸¦ ÇÊ¿ä·ÎÇÏ°í, SMTP Auth¸¦ »ç¿ëÇÒ °æ¿ì SASL Library¿Í SSL Library¸¦ Ãß°¡·Î ¿ä±¸ÇÑ´Ù.

3. Postfix ¼³Ä¡

3.1. Áغñ ÀÛ¾÷ (For SMTP Auth)

3.1.1. SASL ¼³Ä¡

SMTP Auth¸¦ ÀÌ¿ëÇϱâ À§Çؼ­´Â, Cyrus-SASL ¶óÀ̺귯¸®°¡ ÇÊ¿äÇÏ´Ù. Cyrus-SASLÀÇ Á¤º¸¿Í ´Ù¿î·Îµå´Â ¾Æ·¡ÀÇ »çÀÌÆ®¿¡¼­ ±¸ÇÒ ¼ö ÀÖ´Ù:

About Project Cyrus-SASL : [http]http://asg.web.cmu.edu/sasl/ Project Cyrus Downloads : [http]http://asg.web.cmu.edu/cyrus/download/

SASL¿¡´Â SASL v1°ú SASL v2°¡ ÀÖ´Ù. Cyrus-SASL ÇÁ·ÎÁ§Æ®ÀÇ »çÀÌÆ®¿¡¼­´Â µÎ°¡Áö¸¦ ´Ù ±¸ÇÒ ¼ö Àִµ¥, v1ÀÇ °æ¿ì ¹öÀü 1.5.28À» ±âÁ¡À¸·Î, Ưº°ÇÑ º¸¾È¹ö±×°¡ ¾ø´Ù¸é ¹öÀü ¾÷Àº ÀÌ·ç¾îÁöÁö ¾ÊÀ» °ÍÀÌ´Ù. v2´Â 2.x ȤÀº ±× ÀÌÈÄ ¹öÀüÀ» ¹ÞÀ¸¸é µÈ´Ù.

À̵é SASLÀ» ¼³Ä¡ÇÔÀ¸·Î, ´ÙÀ½°ú °°Àº Æнº¿öµå ÀÎÁõ ü°è¸¦ ¾ò°Ô µÈ´Ù.

  1. PAM(Pluggable Authentication Module)
    PAMÀº ÀÌ¹Ì inet daemon, xinet daemon ¿¡¼­ »ç¿ëµÇ°í ÀÖ´Â ÀÎÁõ ¸ðµâÀÌ´Ù. SASLÀÌ ÀÌ°ÍÀ» ÀÌ¿ëÇÏ°Ô ÇÏ´Â °ÍÀ¸·Î, Postfix¿¡¼­ SMTP Auth¸¦ °¡´ÉÇÏ°Ô ÇØÁØ´Ù. ±âº»ÀûÀ¸·Î Plaintext(Æò¹®) ·Î±×Àθ¸ÀÌ °¡´ÉÇϸç, LDAP(°æ·® µð·ºÅ丮 ¾ï¼¼½º ÇÁ·ÎÅäÄÝ: Lightweight Directory Access Protocol)À̳ª RADIUS µîÀÇ ´Ù¸¥ µ¥ÀÌÅÍ ÀúÀå/¾ï¼¼½º ½Ã½ºÅÛÀ» º´¿ëÇÒ ¼ö ÀÖ´Â ÀåÁ¡ÀÌ ÀÖ´Ù. (LDAPÀÇ °æ¿ì ´ë±Ô¸ðÀÇ »ç¿ëÀÚ¸¦ °ü¸®ÇÏ´Â Æнº¿öµå DB·Î ÀÌ¿ë°¡´ÉÇϱ⠶§¹®¿¡, ´ë±Ô¸ð »ç¿ëÀÚ¸¦ °ü¸®½Ã »ó´çÇÑ ÀÌÁ¡À» ¾ò°Ô µÈ´Ù.) ÇÏÁö¸¸ ¼Ò¼öÀÇ ·ÎÄà »ç¿ëÀÚ¸¦ ÀÎÁõÇϱâ À§Çؼ­ PAMÀ» ÀÌ¿ëÇϱ⿡´Â ºÎÀûÀýÇÑ°ÍÀÌ, /etc/shadow ÆÄÀÏÀÇ Æ۹̼Ç(Permission)À» 644(Áï, rw-rr)·Î º¯°æÇØ Áà¾ß Çϴµ¥, ÀÌ´Â º¸¾È»óÀÇ Ä¡¸íÀûÀÎ °áÇÔÀ¸·Î Á÷°á µÇ±â ¶§¹®ÀÌ´Ù. ±×·± ÀÌÀ¯·Î, ºñ±³Àû ¼Ò¼öÀÇ ·ÎÄà »ç¿ëÀÚ¸¦ ÀÎÁõÇÏ´Â µ¥´Â pwcheck³ª saslauthd, sasldb¸¦ ÀÌ¿ëÇÏ´Â ÂÊÀÌ ÁÁ´Ù.
  2. shadow
    /etc/shadow¸¦ ÀÌ¿ëÇÏ¿© ÀÎÁõÇÏ°Ô ÇØÁØ´Ù. ÀÌ°Í ¿ª½Ã shadow ÆÄÀÏÀÇ Æ۹̼ÇÀ» 644·Î ÇØÁà¾ß Çϱ⠶§¹®¿¡, ±ÇÀåÇÏÁö ¾Ê´Â ¹æ¹ýÀÌ´Ù.
  3. sasldb
    SASLÀÇ µ¶ÀÚÀûÀÎ DB¸¦ ÀÌ¿ëÇÏ¿© ¾ÏÈ£¸¦ ÀúÀåÇÑ´Ù. ÀÌ db ÆÄÀÏÀº ±âº»ÀûÀ¸·Î /etc/sasldb¿¡ À§Ä¡Çϸç(v2ÀÇ °æ¿ì /etc/sasldb2), ÀÌ°ÍÀ» ÀÌ¿ëÇϸé Æò¹®(Plaintext) ¾ÏÈ£ Àü¼Û »Ó¸¸ ¾Æ´Ï¶ó, Digest-MD5, CRAM-MD5¿Í °°Àº Çؽà ¾ÏÈ£ Àü¼Û±îÁö °¡´ÉÇÏ´Ù´Â ÀåÁ¡ÀÌ ÀÖ´Ù. »ç¿ëÀÚ´Â saslpasswd ÇÁ·Î±×·¥À» ÀÌ¿ëÇÏ¿© Ãß°¡°¡ °¡´ÉÇÏ°í, DB ÆÄÀÏÀÇ ÃʱâÈ­¸¦ À§ÇØ ÃÖ¼ÒÇÑ 1¸íÀÇ »ç¿ëÀÚ°¡ È®º¸µÇ¾î ÀÖ¾î¾ß ÇÑ´Ù. ÀÌ DB ÆÄÀÏÀº Postfix »ç¿ëÀÚ°¡ º¼ ¼ö ÀÖÁö¸¸, ±âº»ÀûÀ¸·Î ¾ÏȣȭµÈ ÆÄÀÏÀÌ°í, ½ÇÁ¦ ³»¿ëÀ» ¿­¶÷ÇÏ´Â sasldblistusers ÇÁ·Î±×·¥Àº ½´ÆÛÀ¯Àú¸¸ÀÌ ½ÇÇàÇÏ°Ô µÇ¾î ÀÖ´Ù
  4. pwcheck
    pwcheckÀÇ °æ¿ì, shadow¸¦ ÀÌ¿ëÇÑ´Ù´Â Á¡¿¡¼­ 2¹ø Ç׸ñ°ú °°Áö¸¸ pwcheck µ¥¸óÀÌ ·çÆ®ÀÇ ±ÇÇÑÀ¸·Î ÀÛµ¿Çϱ⠶§¹®¿¡, ÀÎÁõÀ» ¿ä±¸ ÇÒ °æ¿ì shadowÀÇ Æ۹̼ÇÀ» º¯°æÇÒ ÇÊ¿ä¾øÀÌ shadow ÆÄÀÏÀ» ¾ï¼¼½º ÇÒ ¼ö ÀÖ´Ù´Â ÀåÁ¡ÀÌ ÀÖ´Ù. ½Ã½ºÅÛ ºÎÆýÿ¡ pwcheck µ¥¸óÀ» ¶ç¿öÁÖ±âÀ§ÇØ init ½ºÅ©¸³Æ®¿¡ Ãß°¡ÇØÁÖ´Â °ÍÀÌ ÁÁ´Ù. ¸®´ª½ºÀÇ °æ¿ì, /etc/rc.d/rc.local ÆÄÀÏÀÇ ¸Ç ¸¶Áö¸· ÁÙ¿¡ /usr/sbin/pwcheck ¶ó°í ³Ö¾îÁÖ¸é µÈ´Ù. (°æ·Î´Â SASLÀÇ ¼³Ä¡ ¿É¼Ç ¹× ½Ã½ºÅÛ¿¡ µû¶ó¼­ ´Þ¶óÁú ¼ö ÀÖ´Ù)
    • Cyrus-SASL ±âº» Configure½Ã¿¡´Â Æ÷ÇÔµÇÁö ¾Ê´Â´Ù. ´ëºÎºÐÀÇ 1.5.x´ëÀÇ Cyrus-SASL RPM ÆÐÅ°Áö¿¡¼­µµ Æ÷ÇÔµÇÁö ¾ÊÀ½À» È®ÀÎÇß´Ù. ¼Ò½º ÄÄÆÄÀϽà ¿É¼ÇÀ» Áְųª, pwcheck°¡ Æ÷ÇÔµÈ RPMÀ» ±¸ÇÏ´Â ¼ö ¹Û¿¡ ¾ø´Ù. ÀÚ¼¼ÇÑ »çÇ×Àº SASL ¼³Ä¡ ºÎºÐÀ» Âü°í.
    • PostfixÀÇ °æ¿ì, pwcheck µ¥¸óÀÌ µé¾îÀÖ´Â µð·ºÅ丮¿¡ Àбâ+¾²±â(Read+Write) ±×·ì(Group) Æ۹̼ÇÀÌ ÁÖ¾îÁ®¾ß ÇÑ´Ù. Æ۹̼ÇÀÌ ¾øÀ» °æ¿ì, ÀÎÁõ½ÇÆÐÀÇ ¿äÀÎÀÌ µÉ ¼ö ÀÖÀ½¿¡ ÁÖÀÇ.
  5. saslauthd
    saslauthd ´Â pwcheck¿Í ºñ½ÁÇÑ ¿ªÇÒÀ» ÇÏÁö¸¸ ÈξÀ ³ªÀº ½ÅÃ༺À» Á¦°øÇÑ´Ù. ¿©±â¼­ ¸»ÇÏ´Â ½ÅÃ༺¿¡´Â PAM °ú °°Àº ÀÎÁõ ½Ã½ºÅÛÀ» º´¿ëÇÒ ¼ö ÀÖ´Ù´Â Á¡ÀÌ´Ù. (Cyrus-SASL 2.x ¿¡¼­´Â LDAP¿Í MySQLÀ» ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù. ÀÌ´Â ´ë±Ô¸ð »ç¿ëÀÚ °ü¸®¿¡ µµ¿òÀ» ÁÙ ¼ö ÀÖ´Ù) ÀÌ°Í ¿ª½Ã ±âº» ¼Ò½º Configure ½Ã¿¡´Â Æ÷ÇÔµÇÁö ¾ÊÀ¸¸ç, Æ÷ÇԵǾî ÀÖ´Â RPM ÆÐÅ°Áö´Â µå¹°´Ù. ÀÚ¼¼ÇÑ »çÇ×Àº SASL ¼³Ä¡ ºÎºÐÀ» Âü°í.

3.1.1.1. SASL v1(Cyrus-SASL 1.x) ¼³Ä¡
SASL ¶óÀ̺귯¸®ÀÇ °æ¿ì, ´Ù¸¥ º¸ÅëÀÇ GNU Software¿Í ¸¶Âù°¡Áö·Î Automake¿Í Autoconf¸¦ ÀÌ¿ëÇÑ configure - make - make install ±¸Á¶¸¦ °¡Áö°í ÀÖ´Ù.

À§¿¡¼­ ¸»ÇÑ ¸ðµç ÀÎÁõ ½Ã½ºÅÛÀ» »ç¿ë°¡´ÉÇÏ°Ô ÇÏ°í ½Í´Ù¸é, ´ÙÀ½°ú °°ÀÌ ÄÄÆÄÀÏ ÇÏ¸é µÈ´Ù.
 $ ./configure --prefix=/usr --with-saslauthd=/sbin --with-pwcheck=/sbin --enable-login 
  • --enable-login ¿É¼ÇÀº, MS Internet Explorer 5 ¹öÀü¿¡¼­ÀÇ ºñ Ç¥ÁØ SASL LOGIN ÀÎÁõÀ» À§ÇØ Ãß°¡ÇØÁÖ´Â ¿É¼ÇÀÌ´Ù.
  • Kerberos v4 ÀÎÁõ ü°è¸¦ »ç¿ëÇÏÁö ¾Ê´Â´Ù¸é, --disable-krb4 ¸¦ Ãß°¡ÇØÁØ´Ù.
  • À͸í(Anonymous) ·Î±×ÀÎÀ» Çã¿ëÇÏÁö ¾Ê´Â´Ù¸é, --disable-anon À» Ãß°¡.
  • sasldb ÀÌ¿ë½Ã, /etc/sasldb ÆÄÀÏÀÇ À§Ä¡¸¦ ¹Ù²Ù°í ½Í´Ù¸é --with-dbpath=PATH ¿É¼ÇÀ» Ãß°¡ÇÏ¸é µÈ´Ù.


Configure°¡ ³¡³ª¸é, ÄÄÆÄÀÏ°ú ¼³Ä¡¸¦ ÇØÁÖ¸é ³¡³­´Ù.
 $ make
 $ make install 

3.1.1.2. SASL v2(Cyrus-SASL 2.x) ¼³Ä¡
±âº»ÀûÀ¸·Î v1°ú °°Àº ¿É¼ÇÀ» »ç¿ë°¡´É ÇÏ´Ù. ¿©±â¿¡¼­´Â v2¿¡¼­ Ãß°¡µÈ ¸î°¡Áö¸¦ ¼Ò°³ÇÑ´Ù:

  • MS Internet Explorer, IIS¿¡¼­ »ç¿ëµÇ´Â NTLM ÀÎÁõÀÌ °¡´ÉÇØÁ³´Ù. configure ¿¡¼­ --enable-ntlm À» Ãß°¡ÇÏ¸é µÈ´Ù.
  • saslauthd¿¡¼­ LDAP¿Í MySQLÀ» °°ÀÌ ÀÌ¿ëÇÒ ¼ö ÀÖ°Ô µÇ¾ú´Ù. --with-ldap=LDAP_Directory, --with-mysql=MySQL_PATH ¿É¼Ç Ãß°¡.
  • OpenSSLÀ» Áö¿øÇÑ´Ù. --with-openssl=PATH ¿É¼ÇÀ» Ãß°¡ÇÏ¸é µÈ´Ù.


¿ª½Ã Configure°¡ ³¡³ª¸é, ÄÄÆÄÀÏ°ú ¼³Ä¡¸¦ ÇØÁÖ¸é µÈ´Ù.

3.2. Postfix ºôµå °úÁ¤

3.2.1. ±âº» ÄÄÆÄÀÏ ¹æ¹ý

±âº»ÀûÀ¸·Î Postfix¸¦ ÄÄÆÄÀÏ Çϴµ¥´Â GCC¸¦ »ç¿ëÇÑ´Ù. ¸¸¾à ´Ù¸¥ C ÄÄÆÄÀÏ·¯¸¦ »ç¿ëÇÏ´Â Ç÷§ÆûÀ» »ç¿ëÇÑ´Ù¸é, ´ÙÀ½°ú °°ÀÌ ÄÄÆÄÀÏ·¯¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.

% make makefiles CC=/opt/SUNWspro/bin/cc    (¼Ö¶ó¸®½º C CompilerÀÇ °æ¿ì)
% make
  • ¸î¸î °æ¿ì, ÀÌ·¸°Ô ÁöÁ¤ÇÒ °æ¿ì ÄÄÆÄÀÏ ÃÖÀûÈ­°¡ µÇÁö ¾Ê´Â °æ¿ì°¡ ÀÖ´Ù.

±× ¹Û¿¡µµ default ¼³Á¤°ú ´Ù¸¥ ±¸Á¶·Î Postfix¸¦ ¼³Ä¡ÇÏ°í ½Í´Ù¸é, ´ÙÀ½°ú °°ÀÌ ¼³Ä¡ ¼³Á¤À» ¹Ù²Ü ¼ö ÀÖ´Ù:
  • óÀ½ ¼³Ä¡ °úÁ¤¿¡¼­ ¼³Ä¡ÇÒ À§Ä¡¸¦ °¢°¢ ¹°¾îº¸±â ¶§¹®¿¡ ¿©±â¼­ ±»ÀÌ ¼³Á¤ÇÒ ÇÊ¿ä´Â ¾ø´Ù. ´Ù¸¸, ¿©·¯ ÄÄÇ»ÅÍ¿¡ Postfix¸¦ ÇѲ¨¹ø¿¡ ¼³Ä¡ÇÏ°íÀÚ ÇÒ¶§, ±âº» °æ·Î ¼³Á¤À» µû¸£Áö ¾Ê´Â °æ¿ì¿¡ ÇÑÇؼ­ »ç¿ëÇϸé Æí¸®ÇÒ °ÍÀÌ´Ù.
% make makefiles CCARGS='--DDEF_CONFIG_DIR="/some/where"'
% make

DEF_CONFIG_DIR ´ë½Å µé¾î°¥ ¼ö ÀÖ´Â ¸ÅÅ©·Î ¸íµéÀº ´ÙÀ½°ú °°´Ù:
¸ÅÅ©·Î À̸§ÁöÁ¤ÇÏ´Â °Íµé±âº» °ª
DEF_COMMAND_DIR¸í·É¾î(command)°¡ ¼³Ä¡µÉ °÷/usr/sbin
DEF_CONFIG_DIR¼³Á¤ ÆÄÀÏÀÌ ¼³Ä¡µÉ °÷/etc/postfix
DEF_DAEMON_DIRµ¥¸óÀÌ ¼³Ä¡µÉ °÷/usr/libexec/postfix
DEF_MAILQ_PATHmailq ÇÁ·Î±×·¥ÀÌ ¼³Ä¡µÉ °÷/usr/sbin/mailq
DEF_MANPAGE_DIRman ÆäÀÌÁö°¡ ¼³Ä¡µÉ °÷/usr/local/man
DEF_NEWALIAS_PATHnewaliases °¡ ¼³Ä¡µÉ °÷/usr/bin/newaliases
DEF_README_DIRreadme ÆÄÀÏÀÌ ¼³Ä¡µÉ °÷no (¼³Ä¡ ÇÏÁö ¾ÊÀ½)
DEF_SAMPLE_DIR¼³Á¤ »ùÇÃÀÌ ¼³Ä¡µÉ °÷/etc/postfix
DEF_SENDMAIL_PATHsendmail ÀÌ ¼³Ä¡µÉ °÷/usr/sbin/sendmail

¸¸¾à Postfix¸¦ ´ë ¿ë·® ¸ÞÀϼ­¹ö·Î µ¿ÀÛ½ÃÅ°°Ô ÇÒ °æ¿ì(Çѹø¿¡ 1000Åë ÀÌ»óÀÇ ¸ÞÀÏ Àü¼ÛÀ» ó¸® ÇÒ °æ¿ì), FD_SETSIZE(ÆÄÀÏ ±â¼úÀÚ(File Descriptor)»çÀÌÁî)¸¦ Àç¼³Á¤ ÇØÁà¾ß ÇÑ´Ù. CCARGS ¿É¼ÇÀ» »ç¿ëÇÏ¿©, °íÄ¥ ¼ö ÀÖ´Ù:
% make makefiles CCARGS=-DFD_SETSIZE=2048

±âŸ GCC Optimization Flag¸¦ Ãß°¡ÇÏ°í ½Í´Ù¸é, OPT ¿É¼ÇÀ» »ç¿ë, °íÄ¡¸é µÈ´Ù:
% make makefiles OPT="-O2 -march=i686 -mcpu=i686 -ffast-math"

ÆÞÀÇ Á¤±Ô Ç¥Çö½ÄÀ» ¸ÞÀÏ ÇÊÅ͸µ¿¡ ÀÌ¿ëÇÏ°í ½ÍÀ» °æ¿ì, PCRE¸¦ ¼³Ä¡Çسõ°í, Postfix ºôµå½Ã ´ÙÀ½ÀÇ CCARGS ¿É¼ÇÀ» Áà¾ß ÇÑ´Ù. (¿©±â¿¡´Â PCRE¸¦ /usr¿¡ ¼³Ä¡ÇßÀ» °æ¿ì¸¦ ¿¹·Î µé¾ú´Ù. Á÷Á¢ ¼³Ä¡ÇÒ °æ¿ì º¸Åë /usr/local¿¡ ¼³Ä¡µÈ´Ù.)
% make -f Makefile.init makefiles \
        "CCARGS=-DHAS_PCRE -I/usr/include" \
        "AUXLIBS=-L/usr/lib -lpcre"

ÄÄÆÄÀÏÀ» À§Çؼ­´Â ´ÙÀ½°ú °°ÀÌ make ¸¦ ÇØÁÖ¸é µÈ´Ù.
  • SMTP ÀÎÁõÀ» »ç¿ëÇÏ°í ½ÍÀº °æ¿ì make¸¦ ÇϱâÀü¿¡ ¾Æ·¡ SMTP ÀÎÁõÀ» À§ÇÑ ÄÄÆÄÀÏ ¼³Á¤À» Âü°í.
% make

  • ¸¸¾à ´Ù¸¥ °÷¿¡¼­ Çѹø ºôµå¸¦ °ÅÄ£ Postfix¸¦ ´Ù¸¥ ¾ÆÅ°ÅØÃÄÀÇ ¸Ó½Å¿¡¼­ ÄÄÆÄÀÏÇÏ°íÀÚ ÇÑ´Ù¸é, ½Ã½ºÅÛ ÀÇÁ¸¼º(Dependancy) µîÀ» Á¦°ÅÇϱâ À§ÇØ ÄÄÆÄÀÏÇÑ ¿ÀºêÁ§Æ® ÆÄÀÏ°ú ¹ÙÀ̳ʸ® ÆÄÀÏÀ» ¼Ò°ÅÇØÁà¾ß ÇÑ´Ù. ´ÙÀ½ÀÇ make ¸í·ÉÀ» »ç¿ëÇϸé ÇØ°á ÇÒ ¼ö ÀÖ´Ù:
 % make tidy

3.2.2. SMTP ÀÎÁõÀ» À§ÇÑ ÄÄÆÄÀÏ ¼³Á¤

Postfix°¡ SASL ¶óÀ̺귯¸®¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖµµ·Ï ´ÙÀ½°ú °°ÀÌ Makefile ¼³Á¤À» ¼öÁ¤ÇØÁØ´Ù. (´Ù¸¥ Makefile ¼³Á¤ÀÌ ÀÖ´Ù¸é, CCARGS ¿¡ °°ÀÌ Ãß°¡ÇØÁÖ¸é µÈ´Ù) ´ÙÀ½ÀÇ ¼³Á¤Àº SASLÀ» /usr/local ¿¡ ¼³Ä¡ÇÑ°ÍÀ» ±âÁØÀ¸·Î ÇÑ´Ù.

SASLv1À» À§ÇÑ ÄÄÆÄÀÏ ¼³Á¤:
  $ make makefiles CCARGS="-DUSE_SASL_AUTH -I/usr/local/include" \
    AUXLIBS="-L/usr/local/lib -lsasl"

SASLv2¸¦ À§ÇÑ ÄÄÆÄÀÏ ¼³Á¤:
  $ make makefiles CCARGS="-DUSE_SASL_AUTH -I/usr/local/include/sasl" \
    AUXLIBS="-L/usr/local/lib -lsasl2"

  • SASL ¶óÀ̺귯¸®¸¦ /usr ¿¡ ¼³Ä¡ÇßÀ» °æ¿ì, /usr/local ºÎºÐÀ» ¸ðµÎ /usr ·Î º¯°æÇØ¾ß ÇÑ´Ù
  • ·±Å¸ÀÓ(Runtime) ¶óÀ̺귯¸® ¼³Á¤Àº(-R/usr/local/lib), Solaris 2.x¿¡¼­ ld.so°¡ SASL °øÀ¯ ¶óÀ̺귯¸®¸¦ ¸ø ãÀ» °æ¿ì Ãß°¡ ÇØÁà¾ß ÇÑ´Ù. ´Ù¸¥ OS¿¡¼­ ÄÄÆÄÀÏ ÇÒ °æ¿ì, ·±Å¸ÀÓ ¶óÀ̺귯¸® ¼³Á¤Àº ¿¹¿Ü·Î ÇÑ´Ù.

»õ·Î¿î ¼³Á¤À» ¾²°Ô µÇ¸é, ÀÌÁ¦ make¸¦ ÇÏ¿© ÄÄÆÄÀÏÀ» ÇÏ¸é µÈ´Ù.

3.2.3. ºôµå °úÁ¤¿¡¼­ÀÇ ¹®Á¦ ÇØ°á

  • ¸¸¾à ÀÌ·¸°Ô Postfix¸¦ ºôµåÇϴµ¥, "make: don't know how to ..." ¿Í °°Àº ¿¡·¯ ¸Þ½ÃÁö°¡ ³ª¿Ã °æ¿ì¿¡´Â, makefiles¸¦ ¸¸µé¾î Áà¾ß ÇÑ´Ù. PostfixÀÇ ÃÖ»óÀ§(Top-level) µð·ºÅ丮¿¡¼­ ´ÙÀ½ÀÇ ¸í·ÉÀ» ÃÄÁÖÀÚ:
 % make -f Makefile.init makefiles


3.3. ¼³Ä¡ °úÁ¤

¹«»çÈ÷ ÄÄÆÄÀÏÀ» ¿Ï·á Çϸé, Á÷Á¢ ¼³Ä¡¸¦ ÇØÁà¾ß ÇÑ´Ù.

{{|
ÁÖÀÇ: Sendmail·Î ºÎÅÍÀÇ ÀÌÀü(Migration)½Ã, ¸ÞÀÏ Å¥(Queue)¿¡ ½×¿©ÀÖ´ø ¸Þ½ÃÁöµéÀ» º¸³»ÁÖ±â À§ÇØ, ±×¸®°í ÀÌÀü ÈÄ ¹®Á¦ ¹ß»ý½Ã Àӽ÷Π»ç¿ëÇÒ ¼ö ÀÖµµ·Ï Postfix¸¦ ¼³Ä¡Çϱâ Àü¿¡ SendmailÀ» º¸Á¸ÇØ ÁÙ ÇÊ¿ä°¡ ÀÖ´Ù. ½´ÆÛÀ¯Àú ±ÇÇÑ¿¡¼­, ´ÙÀ½°ú °°ÀÌ À̸§À» º¯°æÇØÁÖÀÚ:
 # mv /usr/sbin/sendmail /usr/sbin/sendmail.OFF
 # mv /usr/bin/newaliases /usr/bin/newaliases.OFF
 # mv /usr/bin/mailq /usr/bin/mailq.OFF
 # chmod 755 /usr/sbin/sendmail.OFF /usr/bin/newaliases.OFF /usr/bin/mailq.OFF
|}}

¸ÕÀú, postfix¸¦ À§ÇÑ °èÁ¤ÀÌ ÇÊ¿äÇÏ´Ù:
# useradd -M -s /bin/false postfix

±× ´ÙÀ½, /etc/passwd¸¦ ¿­¾î, postfixÀÇ ¼ÐÀÌ /bin/false(·Î±×ÀÎÀ» ¸øÇÏ´Â ¼ÐÀÌ¸é ¾î¶²°ÍÀÌ´ø °ü°è¾ø´Ù)ÀÎÁö È®ÀÎÇÏÀÚ. °¡´ÉÇϸé, °ü¸®ÀÇ ±âÁØÀ» ¸ÂÃß±â À§ÇØ postfix °èÁ¤ÀÇ uid¿Í gid¸¦ 500¹ø ÀÌÇÏ·Î ÇØÁÖ´Â °ÍÀÌ ÁÁ´Ù.

ÀÌÁ¦ postdrop ±×·ìÀ» Çϳª »ý¼ºÇÑ´Ù:
# groupadd -g 54321 postdrop
  • ÀÌ ±×·ì¿¡ ´Ù¸¥ À¯ÀúµéÀÌ Æ÷ÇԵǾ´Â ¾ÈµÈ´Ù´Â °Í¿¡ ÁÖÀÇ.

/etc/group ¸¦ ¿­¾î, postdrop ±×·ìÀÌ Àß »ý¼ºµÇ¾ú´ÂÁö È®ÀÎ ÇØÁÖÀÚ.

ÀÌÁ¦ Debug SymbolÀÌ Á¦°ÅµÈ Postfix¸¦ »ç¿ëÇϱâ À§ÇØ, ¼³Ä¡ ÀÌÀü¿¡ ´ÙÀ½°ú °°ÀÌ ÇØÁÖÀÚ:
% strip bin/* libexec/*

¸ðµç °ÍÀÌ ´Ù ³¡³ª¸é ÀÌÁ¦ ¼³Ä¡¸¦ ÇØ ÁØ´Ù. ÃÖÃʼ³Ä¡¿Í ¾÷±×·¹ÀÌµå ¼³Ä¡·Î ³ª´©¾î ¼³Ä¡ °¡´ÉÇÏ´Ù:
 # make install   (ÃÖÃÊ ¼³Ä¡¿ë. InteractiveÇÑ ¼³Ä¡)
 or
 # make upgrade   (Postfix ¾÷±×·¹À̵å¿ë. Non-Interactive)

  • Upgrade (Non-Interactive) ¼³Ä¡´Â ¿¹ÀüÀÇ /etc/postfix/main.cf¸¦ ¿ä±¸ÇÑ´Ù. ÀÌ ÆÄÀÏÀÌ ¾øÀ¸¸é, InteractiveÇÑ ¼³Ä¡·Î ´ëüµÈ´Ù. Interactive ¼³Ä¡¿¡¼­, µ¥¸ó/ÇÁ·Î±×·¥ ¼³Ä¡ µð·ºÅ丮¸¦ ´Ù¸£°Ô ÁöÁ¤ÇÒ °æ¿ì¿¡µµ, ¼³Á¤ ÆÄÀÏµé ¸¸Àº /etc/postfix/ ¿¡ ¼³Ä¡Çϵµ·Ï ÇÏ¿©, Â÷ÈÄ ¾÷±×·¹À̵带 ¼Õ½±°Ô Çϵµ·Ï ÇÏ´Â °ÍÀÌ ÁÁÀ»°ÍÀÌ´Ù.

  • LINUXÀÇ syslogd´Â ±âº»ÀûÀ¸·Î synchronous writes ¸¦ »ç¿ëÇϴµ¥, ÀÌ·Î ÀÎÇØ syslogd µ¥¸óÀÌ Postfixº¸´Ù ½Ã½ºÅÛ ÀÚ¿øÀ» ´õ ¸¹ÀÌ »ç¿ëÇÏ´Â °æ¿ì°¡ ¹ß»ýÇÒ ¼ö ÀÖ´Ù. À̸¦ ÇØ°áÇÏ·Á¸é, /etc/syslogd.confÀÇ mail ·Î±× ÆÄÀÏ ¼³Á¤ ºÎºÐ¿¡ "-" ¹®ÀÚ¸¦ Ãß°¡ÇØ ÁØ ÈÄ, syslogd¸¦ Àç½ÃÀÛ ÇÏ¸é µÈ´Ù :
 mail.*                                -/var/log/maillog

3.3.1. Interactive ¼³Ä¡

# make install À» ÇÏ¿© ÃÖÃÊ ¼³Ä¡¸¦ ½ÃÀÛÇÏ°Ô µÇ¸é, »ç¿ëÀÚ¿¡°Ô prefix¸¦ ¹¯°Ô µÈ´Ù. »óȲ¿¡ ÀûÀýÇÏ°Ô ³Ö¾îÁ൵ µÇ°í, ½Å°æ¾²°í ½ÍÁö ¾Ê´Ù¸é ±×³É ¿£Å͸¦ ÃÄÁÖ°Ô µÇ¸é ±âº»ÀûÀ¸·Î ¼³Ä¡µÇ°Ô µÈ´Ù.

óÀ½ Áú¹®Àº ¼³Ä¡ÇÒ °÷ÀÇ ·çÆ®¸¦ ¹¯´Â°ÍÀÌ´Ù. RPM°ú °°Àº ÆÐŰ¡ ¼ÒÇÁÆ®¿þ¾î¸¦ À§ÇÑ °ÍÀ̹ǷÎ, ±×³É ¿£Å͸¦ ÃÄÁÖ¸é µÈ´Ù.
 install_root: [/]

´ÙÀ½¿¡´Â ½ºÅ©·¡Ä¡(Scratches)ÆÄÀÏÀ» ´ãÀ» Àӽà µð·ºÅ丮ÀÇ À§Ä¡¸¦ ¹°¾îº»´Ù. ¹Ýµå½Ã ¾²±â Æ۹̼Ç(Write Permission)ÀÌ ±× µð·ºÅ丮¿¡ ÀÖ¾î¾ß ÇÑ´Ù. /tmp ·Î Á¤ÇØÁÖÀÚ.
 tempdir: [/foobar/postfix-VERSION] /tmp

´ÙÀ½Àº ¼³Á¤À» ÀúÀåÇÒ µð·ºÅ丮¸¦ Á¤ÇØÁØ´Ù. ±×³É ¿£Å͸¦ ÃÄÁÖ´Â ÂÊÀÌ °¡Àå ¹«³­ÇÏ´Ù.
 config_directory: [/etc/postfix]

±× ´ÙÀ½Àº postfix µ¥¸óÀ» ¼³Ä¡ÇÒ µð·ºÅ丮¸¦ ¹°¾îº»´Ù. ±âº»Àº /usr/libexec/postfix À̸ç, ÀÌ À§Ä¡´Â ´Ù¸¥ À¯ÀúÀÇ Command Path(¸í·É¾î °æ·Î)¿¡ Æ÷ÇԵǾ´Â ¾ÈµÈ´Ù´Â °Í¿¡ ÁÖÀÇ.
 daemon_directory: [/usr/libexec/postfix]

´ÙÀ½Àº postfix °ü¸® ÇÁ·Î±×·¥À» ¼³Ä¡ÇÒ µð·ºÅ丮¸¦ ÁöÁ¤ÇÑ´Ù. ±âº»Àº /usr/sbin À̸ç, °ü¸®ÀÚ(½´ÆÛÀ¯Àú)ÀÇ ¸í·É¾î °æ·Î¿¡ Æ÷ÇԵǾî ÀÖ¾î¾ß ÇÑ´Ù.
 command_directory: [/usr/sbin]

±× ´ÙÀ½, ¸ÞÀÏÀÇ Å¥(Queue)¸¦ ÀúÀåÇÒ °÷À» ÁöÁ¤ÇÑ´Ù. ±âº»Àº /var/spool/postfix À̸ç, sendmailÀ» ´ëüÇÏ°íÀÚ ÇÒ¶§´Â, /var/spool/mqueue ·Î ÁöÁ¤Çصµ µÈ´Ù. ¿©±â¼­´Â, /var/spool/mqueue¿¡ ÁöÁ¤ÇÑ´Ù.
 queue_directory: [/var/spool/postfix] /var/spool/mqueue

´ÙÀ½Àº postfixÀÇ sendmail ¸í·É¾î¸¦ ¼öÇàÇÒ ÇÁ·Î±×·¥À» ¼³Ä¡ÇÒ °÷À» "Àüü °æ·Î¸í(Full Pathname: µð·ºÅ丮¸¦ Æ÷ÇÔ, ÆÄÀϸí±îÁö ±â·ÏÇØÁִ°Í)"À¸·Î ±âÀÔÇÏ¿©¾ß ÇÑ´Ù. ±âÁ¸ÀÇ sendmail¿¡¼­ÀÇ ÀÌÀü(Migration)À̶ó¸é /usr/sbin/sendmail ·Î ÇØÁØ´Ù.
 sendmail_path: [/usr/sbin/sendmail]

±× ´ÙÀ½Àº postfixÀÇ newaliases ¸í·É¾î¸¦ ¾îµð¿¡ ¼³Ä¡ÇÒ°ÍÀÎÁö °áÁ¤ÇÑ´Ù. ¿ª½Ã Àüü °æ·Î¸íÀ» ÀÔ·ÂÇÏ¿©¾ß ÇÏ°í, sendmail¿¡¼­ÀÇ ÀÌÀüÀ̶ó¸é /usr/bin/newaliases ·Î ÇØÁÖ¸é µÈ´Ù.
 newaliases_path: [/usr/bin/newaliases]

´ÙÀ½Àº mailq ¸í·É¾î¸¦ ¾îµð¿¡ ¼³Ä¡ÇÒ °ÍÀÎÁö °áÁ¤ÇÑ´Ù. À§¿Í µ¿ÀÏÇÏ´Ù.
 mailq_path: [/usr/bin/mailq]

±× ´ÙÀ½, postfixÀÇ Å¥(Queue)ÀÇ ¼ÒÀ¯±ÇÀÚ(Owner)¸¦ °áÁ¤ÇØÁà¾ß ÇÑ´Ù. ¾Õ¿¡¼­ À¯Àú¸¦ »ý¼ºÇÑ ´ë·Î, postfix·Î ÇØÁÖ¸é µÈ´Ù.
 mail_owner: [postfix]

´ÙÀ½Àº Mail Submission°ú Queue Management ¸í·ÉÀ» ¼öÇàÇÒ »ç¿ëÀÚ ±×·ìÀ» ¼±ÅÃÇÑ´Ù. ¿©±â¼­ Á¤ÇØÁÖ´Â ±×·ìÀº postfix ¹× ±âŸÀÇ ±× ¾î¶² ID¿Íµµ ¿¬°áµÇ¾î¼­´Â ¾ÈµÈ´Ù´Â °Í¿¡ ÁÖÀÇ.
 setgid_group: [postdrop]

ÀÌÁ¦ ¸Ç(man)ÆäÀÌÁöÀÇ À§Ä¡¸¦ °áÁ¤ÇÑ´Ù. ±âº»°ªÀ¸·Î /usr/local/man À̸ç, sendmail¿¡¼­ ÀÌÀü½Ã /usr/share/man À¸·Î ÁöÁ¤ÇØÁ൵ µÈ´Ù. ¿©±â¼­´Â, /usr/share/man À¸·Î ÁöÁ¤ÇÑ´Ù.
 manpage_directory: [/usr/local/man] /usr/share/man

±× ´ÙÀ½Àº postfixÀÇ ¼³Á¤ ¿¹Á¦¸¦ ³ÖÀ» °÷À» °áÁ¤ÇÑ´Ù. À§ÀÇ ¼³Á¤ ÀúÀå À§Ä¡¿Í µ¿ÀÏÇÏ°Ô ÇØÁÖ¸é OK.
 sample_directory: [/etc/postfix]

´ÙÀ½Àº README¸¦ ¼³Ä¡ÇÒ µð·ºÅ丮. ±âº»°ªÀº no À̸ç, no¶ó°í ÁöÁ¤½Ã ¼³Ä¡ÇÏÁö ¾Ê´Â´Ù.
 readme_directory: [no]

¸ðµç ÁúÀÇ°¡ ³¡³ª¸é ÀÌÁ¦ °¢ ÆÄÀϵéÀ» ¾Õ¿¡¼­ ÁöÁ¤ÇÑ prefix¿¡ ¼³Ä¡ÇÏ°Ô µÈ´Ù.

¸ðµç ¼³Ä¡°¡ ³¡³ª¸é, /etc/aliases ÆÄÀÏÀ» üũÇÏ¿© ¸ÞÀÏ alias ¼³Á¤À» È®ÀÎÇÏ°í, newaliases ¸í·ÉÀ» ½ÇÇàÇÏ¿© db ÆÄÀÏÀ» »ý¼ºÇÏ¸é ´ë·«ÀûÀÎ ¼³Ä¡°úÁ¤ÀÌ ³¡³­´Ù.

4. Postfix ±¸µ¿ ¹× ¼³Á¤

4.1. SMTP(Port 25)¸¸ »ç¿ë

¼Û½Å Àü¿ëÀ¸·Î »ç¿ëÇϴµ¥¿¡´Â, ´õ ÀÌ»ó º° ´Ù¸¥ ¼¼Æà ¾øÀÌ »ç¿ë ÇÒ ¼ö ÀÖ´Ù.

¼Ð¿¡¼­ ´ÙÀ½À» ÃÄÁÖ¸é OK.

# postfix start

4.2. SMTP / POP3 (Port 25/110) »ç¿ë

¼Û¼ö½ÅÀ» ¸ðµÎ °¡´ÉÇÏ°Ô Çϱâ À§Çؼ­´Â, ÀÏ´Ü MX ·¹Äڵ尡 ¼³Á¤µÇ¾î ÀÖ´Â µµ¸ÞÀÎÀ» ¼ÒÀ¯Çϴ°ÍÀÌ °¡Àå Áß¿äÇÏ´Ù.

ÀÏ´Ü, /etc/postfix/main.cf ¿¡¼­,
 myhostname = linux.org
 mydomain = linux.org
°¡ ÀÖ´Â Ç׸ñÀ» ã¾Æ À§ÀÇ ¿¹ ó·³ µµ¸ÞÀÎ / È£½ºÆ® ³×ÀÓ ¼³Á¤À» ÇØÁØ´Ù. Virtual Hosting ¿É¼ÇÀº ´Ù¸¥°÷¿¡¼­ ¼³Á¤ÇϹǷÎ, ¿©±â¼­ ´Ù¸¥ µµ¸ÞÀÎ ³×ÀÓ±îÁö °°ÀÌ ±â·ÏÇÏ´Â ¼ö°í´Â ÇÏÁö ¾Ê±æ ¹Ù¶õ´Ù.

¾Æ·¡¿¡, ÃÖÁ¾ µµÂøÁö(¼ö½ÅÁö)¸¦ ¼¼ÆÃÇÏ´Â Ç׸ñÀÌ ÀÖ´Ù. ´ÙÀ½°ú °°ÀÌ, mydomain, myhostname¿¡ ¼ÓÇÏ´Â °ÍÀ» ¹Þµµ·Ï ¼³Á¤ÇÑ´Ù. ÀÌ´Â ¼­¹ö°¡ Open Relay°¡ °¡´ÉÇÏ°Ô ÇÏ´Â °ÍÀ» ¸·´Â´Ù. (±âº» ¼³Á¤À¸·Îµµ Postfix´Â Relay¸¦ °ÅºÎÇÑ´Ù)
mydestination = $mydomain, $myhostname 

4.2.1. °¡»ó µµ¸ÞÀÎ ¹× Aliases ¼³Á¤

Virtual DomainÀ» »ç¿ëÇϱâ À§Çؼ­´Â, main.cf¿¡¼­ virtual alias mapping fileÀ» »ç¿ëÇÑ´Ù°í ¾Ë·ÁÁà¾ß ÇÑ´Ù.

/etc/postfix/main.cf ¼³Á¤
# For Virtual Alias domain setting

virtual_alias_maps = hash:/etc/postfix/virtual
virtual_alias_domains = $virtual_alias_maps

/etc/postfix/virtual ÆÄÀÏ ¼³Á¤ - ÀÌ ÆÄÀÏ¿¡¼­´Â ½ÇÁ¦ Virtual Domain ¼³Á¤ÀÌ µé¾î°£´Ù.
# Virtual Domain ¼³Á¤. ´ÙÀ½°ú °°ÀÌ, µµ¸ÞÀÎ ³×ÀÓÀ» ½áÁÖ°í µÚ¿¡ anythingÀ» ½áÁÖ¸é µÈ´Ù.
domainname.org          anything
domain.co.kr            anything
domain.com              anything
domain2.org             anything
domain3.ac.kr           anything

# °èÁ¤º° Virtual Aliasing. ¿ÜºÎ¿¡¼­ ¹ÞÀ» ¸ÞÀÏ ÁÖ¼Ò¿Í, ½Ç °èÁ¤ ¼ö½ÅÀÚÀÇ ID¸¦ ´ëÀÀ½ÃÄÑÁÖ¸é µÈ´Ù.
# ¿©±â´Â ¸ÞÀÏÁÖ¼Ò       ¿©±â´Â °èÁ¤ID
linux@domain.com        linux
sarang@domain2.org      sarang
user3@domain.co.kr      user3
sample@domain.org       sample

/etc/postfix/virtual ÀÛ¼ºÀÌ ³¡³ª¸é, ´ÙÀ½ÀÇ ¸í·ÉÀ» ÅëÇØ Çؽà Å×À̺íÀÎ /etc/postfix/virtual.db ¸¦ »ý¼ºÇÑ´Ù. ¿©±â¼­ ½Ã°£ÀÌ ²Ï ¸¹ÀÌ °É¸®±â ¶§¹®¿¡, 30ÃÊ~1ºÐ¿¡ ´ÞÇÏ´Â Àγ»½ÉÀ» ¿ä±¸ÇÑ´Ù.
# postmap /etc/postfix/virtual

4.3. SMTP Auth ¼³Á¤

4.3.1. pwcheck¸¦ »ç¿ëÇÒ °æ¿ì

pwcheck¸¦ ÀÌ¿ëÇÏ¿© SMTP ÀÎÁõÀ» ÇÒ °æ¿ì, pwcheck µ¥¸óÀ» Ç×»ó ¶ç¿öÁà¾ß ÇÑ´Ù. chkconfig µî µ¥¸ó °ü¸®ÀÚ¸¦ »ç¿ëÇϰųª rc.local ÆÄÀÏÀ» ¼öÁ¤ÇÏ¿©, ºÎÆýà Ç×»ó ¶ç¿ìµµ·Ï ÇÑ´Ù.

/usr/lib/sasl/smtpd.conf ¿¹Á¦ (SASLv2ÀÇ °æ¿ì /usr/lib/sasl2/smtpd.conf, ¶Ç´Â /usr/local/lib/sasl2/smtpd.conf)
pwcheck_method: pwcheck

ÀÌ·¸°Ô Çϸé smtpd°¡ SASL pwcheck¸¦ »ç¿ëÇÏ°Ô µÈ´Ù. Postfix¸¦ Àç ½ÃÀÛÇϱâÀü¿¡, pwcheck°¡ ¶ç¿öÁ® ÀÖ´ÂÁö È®ÀÎÇÏÀÚ.

4.3.2. saslauthd¸¦ »ç¿ëÇÒ °æ¿ì

pwcheck ´ë½Å saslauthd¸¦ ¾²¸é ´õ¿í Æí¸®ÇÏ´Ù. saslauthd ´Â Cyrus-SASL 1.5.x, 2.x ¹öÀü ¸ðµÎ¿¡ ÀÖÀ¸¸ç, RPMÀ¸·Î ¼³Ä¡ÇÑ »ç¶÷Àº saslauthd ÆÐÅ°Áö¸¦ Ãß°¡·Î ¼³Ä¡ÇØ¾ß ÇÒ °ÍÀÌ´Ù. smtpd.conf¿¡, pwcheck ´ë½Å
pwcheck_method: saslauthd
¶ó°í ÇÏ¸é µÈ´Ù. ¿ª½Ã saslauthd ¸¦ ¹Ì¸® ¶ç¿ö¾ß Çϴµ¥, ´ÙÀ½°ú °°ÀÌ ¼­ºñ½º ÇÒ ¼ö ÀÖ´Ù.
$ saslauthd -a shadow 
ÀÌ´Â shadow ÆÄÀÏÀ» ÀÌ¿ëÇÑ °ÍÀε¥, ÀÌ ¹Û¿¡µµ PAM, sasldb µîÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÀÚ¼¼ÇÑ°Ç man saslauthd ¸¦ Âü°í.

main.cf ÆÄÀÏ ¼³Á¤ ¿¹Á¦
# ¿©±â¼­ ºÎÅÍ´Â SMTP ÀÎÁõ ¼¼ÆÃ
smtpd_sasl_auth_enable = yes

# À͸í Á¢¼Ó ºÒ°¡
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname

# MS Internet Explorer 5 ¹öÀüÀÇ ºñ Ç¥ÁØ SASL ÀÎÁõ ȣȯ
broken_sasl_auth_clients = yes

# smtpd_recipient_restrictions ¿¡¼­ check_relay_domains Ç׸ñ
# 2.0 Ãʱâ¹öÀü ÀÌÈÄ deprecated µÇ¾úÀ½. ´ë½Å reject_unauth_destination »ç¿ë
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination

# root ÂÊ¿¡ ±â·Ï ¸ÞÀÏÀ» º¸³¾ Ç׸ñ
notify_classes = delay, policy, protocol, resource, software 

4.4. Header ¹× Body °Ë»ç·Î ½ºÆÔ ¹× ¹ÙÀÌ·¯½º ¸ÞÀÏ °É·¯³»±â

´ëºÎºÐÀÇ ½ºÆÔ¸ÞÀÏÀº ¹ß¼ÛÀÚÀÇ À̸§À» ·£´ýÇÏ°Ô »ý¼ºÇϰųª, ¾ø´Â »ç¿ëÀÚÀÇ À̸§À» »ç¿ëÇÑ´Ù. °Ô´Ù°¡ ¾ø´Â È£½ºÆ®³×ÀÓ/µµ¸ÞÀγ×ÀÓÀ» ºÙ¿©¼­ ¹ß¼ÛÇÏ´Â °æ¿ìµµ »ó´çÈ÷ ¸¹ÀÌ ÀÖ´Ù. ±×¸®°í ´ëºÎºÐÀÇ Á¤»óÀûÀÎ ¸ÞÀÏ ¼­¹ö´Â ¹ß¼Û½Ã HELO³ª EHLO¿¡¼­ È£½ºÆ®³×ÀÓ/µµ¸ÞÀγ×ÀÓÀ» ºÙÀδÙ. ÀÌ 3°¡Áö¸¦ üũÇÏ¸é »ó´çÈ÷ ¸¹Àº ¼ýÀÚÀÇ ½ºÆÔÀ» È¿°úÀûÀ¸·Î Â÷´ÜÇÒ ¼ö ÀÖ´Ù. ¾îÂ÷ÇÇ °³ÀÎ SMTP ¼­¹ö·Î ¸ÞÀÏÀ» º¸³»´Â »ç¶÷Àº ±ØÈ÷ µå¹°´Ù.

main.cf ¼³Á¤ ºÎºÐ ¿¹Á¦.
# For SPAM Control - HELO, Domain üũ
# vrfy ¸í·É¾î·Î »ç¿ëÀÚ ID¸¦ ±Ü¾î³»´Â º¿ ¹æÁö
disable_vrfy_command = yes

# Á¢¼ÓÈÄ HELO, EHLO ¸í·ÉÀ» »ç¿ëÇÏ´ÂÁö üũÇÏ·Á¸é ÁÖ¼®À» Á¦°ÅÇÑ´Ù.
# smtpd_helo_required = yes

# HELO³ª EHLO½Ã¿¡ À߸øµÈ hostname syntax¸¦ ¾²´Â Ä¿³Ø¼ÇÀº ¹ß¼ÛÀ» ±ÝÁöÇÑ´Ù. Á» ´õ ¾ö°ÝÇÏ°Ô Ã¼Å©¸¦ ÇÑ´Ù¸é,
# reject_unknown_hostname (A ·¹Äڵ峪 MX ·¹Äڵ尡 Á¸ÀçÇÏ´Â µµ¸ÞÀÎÀ» °¡Áö°í ÀÖ´ÂÁö üũ)
# ȤÀº reject_non_fqdn_hostname (ÀÔ·ÂÇÑ µµ¸ÞÀÎÀÌ FQDNÀ» ¸¸Á·ÇÏ´ÂÁö üũ) ¿É¼ÇÀ» Ãß°¡ÇÏ¸é µÈ´Ù. (ÄÞ¸¶(,)·Î ±¸ºÐ)
smtpd_helo_restrictions = reject_invalid_hostname

# A ·¹Äڵ峪 MX ·¹Äڵ尡 ¾ø´Â µµ¸ÞÀο¡¼­ ¹ß¼ÛµÈ °æ¿ì reject ½ÃÅ´.
# ´õ ÀÚ¼¼ÇÑ ¼¼ÆÃÀº http://www.postfix.org/uce.html#smtpd_sender_restrictions ¸¦ ÂüÁ¶.
smtpd_sender_restrictions = reject_unknown_sender_domain

# Reject½Ã Reject Äڵ带 ÁöÁ¤ÇÑ´Ù. 450Àº Try Again Later ¸¦ ¶æÇÏ´Â °Í.
access_map_reject_code = 550
unknown_client_reject_code = 450
unknown_hostname_reject_code = 450
unknown_address_reject_code = 450

# For SPAM/Junk Mail Control - Header Check ¼³Á¤. regexp´Â Regular Expression, Áï Á¤±ÔÇ¥Çö½ÄÀÌ´Ù.
# regexp ´ë½Å, pcre¸¦ »ç¿ëÇÒ¼öµµ ÀÖ´Ù.
# pcre¸¦ »ç¿ë½Ã
# header_checks = pcre:/etc/postfix/header_checks
header_checks = regexp:/etc/postfix/header_checks

# MIME Çì´õ üũ. ÷ºÎÆÄÀϵîÀ» üũÇÒ ÇÊÅÍ·Î »ç¿ëÇÑ´Ù.
mime_header_checks = regexp:/etc/postfix/mime_header_checks

# Body Check¸¦ »ç¿ëÇÒ °æ¿ì ÁÖ¼®À» Ç® °Í
# body_checks = regexp:/etc/postfix/body_checks 

À§¿Í °°ÀÌ ¼³Á¤À» ÇÏ°í ³ª¸é, ÀÌÁ¦ ÇÊÅ͸µÀ» ÇÒ ¿ä¼ÒµéÀ» Ãß°¡ÇÏ°í, °ü¸®ÇØ¾ß ÇÑ´Ù. header_checks, mime_header_checks, body_checks ÀÌ ¼¼°³ÀÇ ÆÄÀÏÀº ´ÙÀ½°ú °°Àº °øÅëÀûÀÎ ÇÊÅÍ ±¸Á¶¸¦ °¡Áö°í ÀÖ´Ù.
/Á¤±ÔÇ¥Çö½Ä/   ¾×¼Ç [¸Þ½ÃÁö] 
Áï, Á¤±ÔÇ¥Çö½ÄÀ» ¸¸Á·ÇÏ´Â ¸ÞÀÏÀÌ ÀÖÀ» °æ¿ì ±× ¸ÞÀÏÀ» ¾î¶»°Ô ó¸®ÇÏ´Â °¡´Â ¾×¼Ç¿¡¼­ °áÁ¤ÇØÁÖ´Â °ÍÀÌ´Ù. ¸Þ½ÃÁö´Â ÀϺΠ¾×¼Ç¿¡¼­ ¿É¼Ç ó·³ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¾×¼ÇÀº ¾Æ·¡ÀÇ Ç¥·Î Á¤¸®Çسõ¾Ò´Ù.

¾×¼ÇÁ¾·ùÇൿ
REJECT°¡Àå ÀϹÝÀûÀÎ ¾×¼ÇÀÌ´Ù. ¼ö½Å¸ÞÀÏÀº ¸·Çô¼­ ¼­¹ö·Î µé¾î¿Ã ¼ö ¾ø°Ô µÇ°í, ¼Û½ÅÀÚÀÇ MTA¿¡°Ô °ÅºÎ/¹Ý¼Û¸Þ½ÃÁö¸¦ Àü´ÞÇÑ´Ù. ¾×¼ÇÀÇ µÚ¿¡ ¸Þ½ÃÁö¸¦ Ãß°¡ÇسõÀ¸¸é, ¸ÞÀÏ·Î±×¿Í ¹Ý¼Û¸Þ½ÃÁö º»¹®¿¡ ±× ¸Þ½ÃÁö°¡ Ãß°¡·Î µé¾î°¡°Ô µÈ´Ù. ÇÊÅ͸µÇÒ ±ÔÄ¢ÀÌ ¸¹À» ¶§, ÀÌ ¸Þ½ÃÁö´Â ¾î´À ÇÊÅÍ°¡ ¿Àµ¿ÀÛÇÏ¿´À»¶§ ¾î´À ÇÊÅÍÀÎÁö ¼Õ½±°Ô ±¸º°ÇÒ ¼ö ÀÖ´Â ´Ü¼­·Î ¾²ÀÏ ¼öµµ ÀÖ´Ù.
IGNOREIGNORE´Â ÇØ´ç ÇÊÅÍ¿¡ ¸ÞÀÏÀÌ °É¸®°Ô µÇ¸é, ±× ÇÊÅÍ¿¡ °É¸° Çì´õ¸¦ »èÁ¦ÇÏ°í Á¤»óÀûÀÎ ¸ÞÀϷΠó¸®ÇÏ°Ô µÈ´Ù.
WARN´ë°³ »õ·Î¿î ¸ÞÀÏ ÇÊÅ͸¦ µµÀÔÇÒ¶§ À¯¿ëÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ´Ù. REJECTÇÒ¶§ ó·³ ¾×¼ÇÀÇ µÚ¿¡ ¸Þ½ÃÁö¸¦ ±â·ÏÇسõÀ¸¸é, ·Î±×¿Í Çì´õ¿¡ ±× ¸Þ½ÃÁö°¡ Ãß°¡·Î ³²°ÔµÈ´Ù. ÀÌ°ÍÀ¸·Î »õ·Î¿î ÇÊÅ͸¦ Àû¿ëÇÒ¶§, ±× ÇÊÅÍÀÇ ÀûÁ¤µ¿ÀÛ¿©ºÎ¸¦ ÆÇ´ÜÇÏ´Â ±âȸ°¡ µÈ´Ù.
HOLDÇØ´ç ¸ÞÀÏÀ» Ȧµå Å¥(Queue)¿¡ º¸°üÇÑ´Ù. Å¥¿¡ ½×ÀÎ ¸ÞÀÏÀº °ü¸®ÀÚ°¡ Áö¿ì°Å³ª ¼ö½ÅÀÚ¿¡°Ô ¹ß¼ÛÀ» ÇÒ ¼ö ÀÖ´Ù.
DISCARD¸ÞÀÏÀ» Á¤»óÀûÀ¸·Î ó¸®ÇÑ °Í ó·³ ³ªÅ¸³»°í, ³»ºÎÀûÀ¸·Î´Â ±× ¸ÞÀÏÀ» ¹ö¸®°Ô µÈ´Ù. ÀÌ´Â ¸ÞÀÏ »ç¿ëÀÚ, ¼Û½ÅÀÚ ¸ðµÎ ÇØ´ç ¸ÞÀÏÀÌ ¾î¶»°Ô µÇ´ÂÁö ¾Ë¸®°í ½ÍÁö ¾Ê°Å³ª, ¾Ë¸®´Â °ÍÀÌ ÇÊ¿ä¾øÀ»¶§ »ç¿ëÇÑ´Ù.
FILTERFILTER´Â Postfix º»Ã¼ ÀÌ¿ÜÀÇ Ã³¸®±â·Î ¸ÞÀÏÀ» º¸³»°í ½ÍÀ» ¶§ »ç¿ëÇÑ´Ù.

/etc/postfix/header_checks ¼³Á¤ ¿¹Á¦
# ¾îÂ÷ÇÇ REJECT µÇ¸é ´Ù¾çÇÑ ¹æ¹ýÀ¸·Î ´õ ¸¹ÀÌ º¸³»´Â ºÎ·ù°¡ ÀÖÀ¸¹Ç·Î Á¶¿ëÈ÷ ¹ö¸²(DISCARD).
# REJECTµµ °¡´ÉÇÏ´Ù.
/^Subject:.*\[±¤°í\]/           DISCARD
/^Subject:.*\(±¤°í\)/           DISCARD
/^Subject: \[±¤°í\]/            DISCARD
/^Subject: \(±¤°í\)/            DISCARD
/^Subject: \(¼ºÀα¤°í\)/         DISCARD
/^Subject: \[¼ºÀα¤°í\]/         DISCARD
/^Subject: \[¼ºÀÎ\]/            DISCARD
/^Subject: Make Money Fast/    DISCARD
/^To: friend@public.com/       DISCARD
/^From: .*@test.com/         DISCARD

# ¾Æ·¡´Â MIME Encoded µÈ Á¦¸ñÀ» °ËÃâ. (±¤°í), [±¤°í] ·Î ½ÃÀÛÇÏ´Â °ÍµéÀ» ¹ö¸²
/^Subject: =\?euc-kr\?q\?\(=B1=A4=B0=ED\)*/ DISCARD
/^Subject: =\?euc-kr\?q?\[=B1=A4=B0=ED\]*/ DISCARD
/^Subject: =\?ks_c_5601-1987\?B\?KLGksO0p*/ DISCARD
/^Subject: =\?ks_c_5601-1987\?B\?W7GksO1d*/ DISCARD

# Ư¼öÇÑ ½ºÆÔ ÇüŸ¦ À§ÇÑ ÇÊÅÍ. °ø¹éÀÌ 8ÀÚ ÀÌ»óµÇ´Â Á¦¸ñÀÌ µé¾î°£ °æ¿ì
/^Subject: .*        /          REJECT
# ½ºÆиӴ Ŭ¶óÀ̾ðÆ®ÀÇ ¸®½ºÆ® ÃÖ »ó´Ü¿¡ ÆíÁö¸¦ ¿Ã¸®±â À§ÇØ ³¯Â¥¸¦ ¿¾³¯·Î Á¶ÀÛÇÏ´Â °æ¿ì°¡ ÀÖ´Ù.
/^Date: .* 200[0-2]/            REJECT
/^Date: .* 19[0-9][0-9]/        REJECT
# free ¶ó´Â ±ÛÀÚ »çÀÌ¿¡ Ư¼öÇÑ ¹®ÀÚ°¡ ÀÖÀ» °æ¿ì Á¦°Å
/^Subject: .*f[ _\.\*\-]+r[ _\.\*\-]+e[ _\.\*\-]+e/ REJECT 

/etc/postfix/mime_header_checks ÀÇ ¿¹Á¦. mime_header_checks´Â MIMEÀ¸·Î ÷ºÎµÈ ÆÄÀÏÀÌ ÀÖÀ» °æ¿ì È®ÀåÀÚ¸¦ °Ë»çÇÏ¿© ÇÊÅ͸µ ÇÏ°Ô ÇØÁØ´Ù. È­¸é»ó ¾î¿ ¼ö ¾øÀÌ È®ÀåÀÚ ºÎºÐÀ» ´ÙÀ½ ÁÙ·Î ³»·È´Âµ¥, °¢ /name À¸·Î ½ÃÀÛÇÏ´Â Ç׸ñÀº ¿ø·¡ ¸ðµÎ ÇÑÁÙ·Î ÀÌ·ç¾îÁ®ÀÖ´Ù.
/name=[^>]*\.(ade|adp|asd|bas|bat|chm|cmd|com|cpl|crt|dbx|dll|exe|hlp|hta|inf|ins|isp
|js|lnk|ocx|msi|pif|reg|scf|scr|swf|uue|vb|vbe|vbs|vbx|vxd|wsh)/ REJECT º» ÆíÁö´Â À§ÇèÆÄÀÏ Ã·ºÎ·Î °ÅºÎµË´Ï´Ù.

À§¿¡¼­ ¼Ò°³µÈ ºÎºÐÀº Postfix¿¡¼­ ±âº»À¸·Î žÀçµÇ¾î ÀÖ´Â ±â´ÉÀ» È°¿ëÇÑ ¿¹Á¦Àε¥, Á» ´õ °­·ÂÇÑ ½ºÆÔ ¹× ¹ÙÀÌ·¯½º ÇÊÅ͸µÀ» ¿øÇÑ´Ù¸é [http]Spam AssassinÀÇ »ç¿ëÀ» ±ÇÀåÇÑ´Ù.

4.5. Postfix¸¦ ±¸¼ºÇÏ´Â ¸í·É¾îµé

º» ¸í·É¾îÀÇ ¿ø¹®Àº [http]http://www.postfix.org/commands.html ¸¦ ÂüÁ¶ÇÑ´Ù.

  • postfix ¸í·ÉÀº Postfix ¸ÞÀÏ ½Ã½ºÅÛ ¿î¿µÀÇ ÄÁÆ®·ÑÀ» ¸Ã´Â´Ù: ¸ÞÀÏ ½Ã½ºÅÛÀ» ½ÃÀÛ/Á¤ÁöÇÏ´Â ±â´É°ú ¾à°£ÀÇ °ü¸® ±â´ÉÀ» °¡Áö°í ÀÖ°í, ½´ÆÛÀ¯Àú¸¸ÀÌ À̸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
  • postalias ¸í·É¾î´Â PostfixÀÇ alias µ¥ÀÌÅÍ º£À̽º¸¦ °ü¸®ÇÑ´Ù: ÀÌ ÇÁ·Î±×·¥Àº sendmail¿¡¼­ »ç¿ëµÇ¾ú´ø newaliases ¸í·ÉÀÇ µÚ¿¡¼­ ÀÛµ¿ÇÏ°Ô µÈ´Ù.
  • postcat ¸í·É¾î´Â PostfixÀÇ Queue ÆÄÀÏÀÇ ³»¿ëÀ» º¸¿©ÁØ´Ù: Á¦ÇÑÀûÀÌ°í ±âÃÊÀûÀÎ À¯Æ¿¸®Æ¼À̱⠶§¹®¿¡, ÀÌÈÄ Queue ÆÄÀÏÀ» ¼öÁ¤ÇÒ ¼ö ÀÖ´Â °Íµé¿¡ ÀÇÇØ ´ëüµÉ ¼ö ÀÖ´Ù.
  • postconf ¸í··¾î´Â PostfixÀÇ ¼³Á¤ÆÄÀÏ Áß ÇϳªÀÎ main.cf ÆÄÀÏÀÇ ÆĶó¸ÞÅ͸¦ º¸¿©ÁØ´Ù: °¢ ÆĶó¹ÌÅÍÀÇ ÇöÀç °ª°ú, ±âº» °ª, ȤÀº ±âº» °ª ÀÌ¿Ü·Î ¼³Á¤µÇ¾î ÀÖ´Â ¼³Á¤µéÀ» º¸¿©ÁÙ ¼ö ÀÖ´Ù. ÀÌ°Í ¿ª½Ã Á¦ÇÑÀûÀÌ¸ç ±âÃÊÀûÀÎ ÅøÀ̱⠶§¹®¿¡, ÀÌÈÄ main.cf¸¦ Á÷Á¢ ¼öÁ¤ÇÏ´Â ÇÁ·Î±×·¥ µî¿¡ ÀÇÇؼ­ ´ëü/Æó±âµÉ ¼ö ÀÖ´Ù.
  • postdrop ¸í·É¾î´Â mailÀ» ºÎÄ¡´Â(posting) ¿ªÇÒ·Î, sendmail ¸í·É¾î¿¡ ÀÇÇØ ÀÛµ¿µÇ¸ç maildrop Queue µð·ºÅ丮¿¡ ¸ÞÀÏÀ» ¿Å±ä´Ù.
  • postkick ¸í·É¾î´Â ¼Ð ½ºÅ©¸³Æ®¿¡¼­ ¸î¸î ³»ºÎ Åë½Å ä³Î(Postfix Anatomy ÂüÁ¶)À» ¸¸µé¾î ÁØ´Ù.
  • postlock ¸í·É¾î´Â, Postfix ȣȯ ¸ÞÀÏÇÔÀ» locking ÇØÁØ´Ù. ÀÌ ¸í·É¾î´Â ¸ÞÀÏÇÔ °ü¸® ½ºÅ©¸³Æ® µî¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
  • postlog ¸í·É¾î´Â ¼Ð ½ºÅ©¸³Æ®¸¦ À§ÇÑ Postfix ȣȯ ·Î±×¸¦ »ý¼ºÇÑ´Ù.
  • postmap ¸í·É¾î´Â canonical, virtual µî°ú °°Àº look-up Å×À̺íÀ» »ý¼º/°ü¸®ÇÑ´Ù. ÀÌ ¸í·É¾î´Â, UNIX¿¡¼­ »ç¿ëµÇ´Â makemap ¸í·É¾îÀÇ »çÃÌ Âë µÈ´Ù.
  • postqueue ¸í·É¾î´Â ¸ÞÀÏ Å¥ÀÇ ¸®½ºÆ®¸¦ º¸¿©Áְųª, ȤÀº ¸ÞÀÏ Å¥¸¦ ºñ¿ö(Flushing)ÁØ´Ù.
  • postsuper ¸í·É¾î´Â Postfix Å¥¸¦ °ü¸®ÇÑ´Ù. ¿À·¡µÈ ÀÓ½ÃÆÄÀÏÀ» »èÁ¦ÇÏ°í, Queue µð·ºÅ丮ÀÇ ±íÀÌ(depth)¸¦ ÇؽÌÇÑ ÈÄ ÀûÀýÇÑ µð·ºÅ丮¿¡ queue ÆÄÀÏÀ» ¿Å°Ü ³õ´Â´Ù. ÀÌ ¸í·É¾î´Â ¸ÞÀÏ ½Ã½ºÅÛÀÌ ½ÃÀÛÇÒ¶§ ÀÛµ¿µÈ´Ù.

4.6. ±× ¹ÛÀÇ ÆÁ

4.6.1. SSL WrapperÀÎ stunnelÀ» »ç¿ëÇÏ¿© ¾ÈÀüÇÑ SMTP/POP3 ¼­¹ö ±¸ÃàÇϱâ

SMTP¸¦ ¾µ¶§, º¸³»Áö´Â ³»¿ë°ú ±âŸ Á¤º¸¸¦ º¸È£ÇÏ°í ½Í´Ù¸é SSL Wrapper¸¦ »ç¿ëÇϴ°ÍÀ» ±ÇÀåÇÑ´Ù.

ÀÌ·¯ÇÑ SSL Wrapper¿¡´Â SSLWRAP°ú stunnelÀÌ Á¸ÀçÇϴµ¥, º» ¼­¿¡¼­´Â stunnelÀ» »ç¿ëÇÏ¿© Secure SMTP/POP3/IMAP(Port 465/995/993)¸¦ ±¸ÃàÇϴ°Ϳ¡ ´ëÇØ ¾ð±ÞÇÏ°íÀÚ ÇÑ´Ù.

stunnel Homepage : [http]http://www.stunnel.org

À§ÀÇ È¨ÆäÀÌÁö¿¡¼­, stunnel ÃֽŹöÀüÀ» ¹Þ¾Æ¼­ ¼³Ä¡Çϵµ·Ï ÇÑ´Ù. ¾Æ·¡ÀÇ ¿¹Á¦¿¡´Â stunnel 4.0.4¸¦ »ç¿ëÇß´Ù.

Kerberos-5 devel ÆÐÅ°Áö(´ë°³ krb5-devel)°¡ ÀÖÀ½¿¡µµ ºÒ±¸ÇÏ°í make Áß¿¡ Kerberos °ü·Ã Çì´õ¸¦ ãÁö ¸øÇÑ´Ù´Â ¸Þ½ÃÁö°¡ ³ª¿À¸é configure Çϱâ Àü¿¡ CPPFLAGS ȯ°æº¯¼ö·Î, Kerberos Çì´õ°¡ ÀÖ´Â À§Ä¡¸¦ ÁöÁ¤ÇØÁÖµµ·Ï ÇÑ´Ù.
# export CPPFLAGS=-I/usr/kerberos/include

makeÀÇ ÃÖÁ¾ ´Ü°è¿¡¼­, stunnel.pem (±âº» SSL ÀÎÁõ¼­)¸¦ »ý¼ºÇÏ·Á°í ÇÑ´Ù. À̵é ÀÎÁõ¼­´Â ³ªÁß stunnel ¼³Á¤¿¡¼­ º¯°æÇÒ ¼ö ÀÖÀ¸¹Ç·Î ÀûÀýÇÏ°Ô À̸§À» Áö¾î¼­ ä¿öÁÖÀÚ.

¼³Ä¡°¡ ¸ðµÎ ³¡³ª¸é, $PREFIX/etc/stunnel/stunnel.conf-sampleÀ» stunnel.conf·Î º¹»çÇÑ ÈÄ, ÀÚ±â ÀÔ¸À¿¡ ¸ÂÃß¾î ¼³Á¤À» ½ÃÀÛÇÑ´Ù. (conf ÆÄÀÏÀÇ À§Ä¡´Â, stunnel ½ÇÇà½Ã ÁöÁ¤ÀÌ °¡´ÉÇϹǷÎ, ÀÓÀÇ·Î ÁöÁ¤ÇØ ÁÙ ¼öµµ ÀÖ´Ù.)

¾Æ·¡´Â ¼³Á¤ÆÄÀÏÀÇ ÀϺκÐÀÌ´Ù. Ç¥½ÃµÇÁö ¾ÊÀº ¾Æ·§ ºÎºÐÀº Wrapping ÇÒ Æ÷Æ® ¹øÈ£¸¦ ¸ÅÇÎÇØÁÖ´Â ºÎºÐÀε¥, ÀÌ´Â ÀÔ¸À¿¡ µû¶ó ¼³Á¤ÇÏ¸é µÈ´Ù.
# ÀÎÁõ¼­ÀÇ À§Ä¡.
cert = /usr/etc/stunnel/stunnel.pem
# chroot¸¦ °É°Ô µÇ´Âµ¥, À̶§ ÇØ´ç µð·ºÅ丮°¡ Á¸ÀçÇÏÁö ¾ÊÀ¸¸é ¾Æ·¡ÀÇ setuid, setgid ¿¡ ¸ÂÃç µð·ºÅ丮¸¦ »ý¼ºÇϵµ·Ï ÇÑ´Ù.
chroot = /var/run/stunnel/
# PID is created inside chroot jail : À§ÀÇ chroot ¼³Á¤¿¡¼­ Á¤ÇØÁØ °æ·Î°¡ "/"ÀÓÀ» ÁÖÀÇ. ½±°Ô ¸»ÇØ °íÄ¥ ÇÊ¿ä°¡ ¾ø´Ù
pid = /stunnel.pid
setuid = nobody
setgid = nobody 

# Eudora »ç¿ëÀÚ°¡ °ÅÀÇ ¾ø°ÚÁö¸¸, Ȥ½Ã³ª ÀÖÀ» °æ¿ì ÁÖ¼®À» Ç®¾îÁØ´Ù.
# options = DONT_INSERT_EMPTY_FRAGMENTS 

ÀÌÁ¦ ¸ðµç ¼³Á¤ÀÌ ³¡³ª¸é stunnelÀ» ½ÇÇàÇØÁÖ¸é µÈ´Ù. rc ÆÄÀÏÀ̳ª, ȤÀº chkconfig ÆÄÀÏÀ» »ý¼ºÇؼ­ init¿¡ µî·ÏÇϸé ÀçºÎÆà ÀÌÈÄ¿¡µµ ÀÚµ¿À¸·Î ½ÇÇàÀÌ µÉ °ÍÀÌ´Ù. ´ç¿¬È÷, ¾ÈÀüÇÑ ¹öÀüÀÇ OpenSSLÀ» ÇÊ¿ä·Î ÇÑ´Ù.

¿¡·¯¸Þ½ÃÁö°¡ /var/log/messages¿¡ ÀúÀåµÇ±â ¶§¹®¿¡ ºÒÆíÇÏ´Ù. µ¥¸óÀÌ ¶°ÀÖ´ÂÁö È®ÀÎÀº Çʼö°¡ µÉ °ÍÀÌ´Ù.

¸ÞÀÏ Å¬¶óÀ̾ðÆ®(Outlook series, Mozilla Thunderbird, ...)¿¡¼­´Â, SSLÀ» »ç¿ëÇÑ´Ù¿¡ üũÇÏ°í »ç¿ëÇÏ¸é µÈ´Ù.

4.6.2. Debian ¿¡¼­´Â?

Debian À¯Àú¸¦ À§ÇÑ ¸î°¡Áö À¯ÀÇÇÒ Á¡.

addgroup sasl
apt-get install postfix-tls qpopper sasl-bin libsasl-modules-plain libsasl2 libsasl-gssapi-mit libsasl-digestmd5-des sasl2-bin libsasl2-modules

ÀÏ´Ü ÀÌÁ¤µµ·Î ¼³Ä¡ÇϽðí, Â÷ÀÌÁ¡ À̶ó¸é µð·ºÅ丮 ¸íÀÌ Á¶±Ý Ʋ¸° °Í°ú init ½ºÅ©¸³ÀÇ ¹®Á¦Á¡ÀÌ ÀÖ´Ù´Â °Í Á¤µµÀÔ´Ï´Ù.

http://hanselan.de/postfix/pwcheck ÀÌ°÷ÀÇ init ½ºÅ©¸³À» ¹Þ¾Æ¼­ ¾²½Ã±æ ¹Ù¶ø´Ï´Ù. (Å« Â÷ÀÌ´Â ¾ø°í..¸î ÁÙ »èÁ¦µÇ¾úÀ» »ÓÀÔ´Ï´Ù)

mkdir -p /var/spool/postfix/var/run/pwcheck
chown postfix.root /var/spool/postfix/var/run/pwcheck/
chmod 700 /var/spool/postfix/var/run/pwcheck/
ln -s /var/spool/postfix/var/run/pwcheck /var/run/pwcheck
echo 'pwcheck_method: pwcheck' >> /etc/postfix/sasl/smtpd.conf
µð·ºÅ丮¸¦ À§ÀÇ Çü½Ä´ë·Î ¼¼ÆÃÇؼ­ »ç¿ëÇϽøé Á¤µµ·Î ÇÏ½Ã¸é µË´Ï´Ù. Á» ´õ ÀÚ¼¼ÇÑ ³»¿ëÀº http://www.google.com ¿¡¼­ "smtp auth debian" Á¤µµ·Î °Ë»öÇØ º¸½Ã±æ ¹Ù¶ø´Ï´Ù.



ID
Password
Join
You have an unusual equpment for success. Be sure to use if properly.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2004-01-22 09:27:31
Processing time 0.0166 sec