· 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 09:27:31
Processing time 0.0181 sec