· 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" Á¤µµ·Î °Ë»öÇØ º¸½Ã±æ ¹Ù¶ø´Ï´Ù.





    sponsored by andamiro
    sponsored by cdnetworks
    sponsored by HP

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