Sendmail¿¡¼­ DRAC¸¦ ÀÌ¿ëÇÑ Dynamic Relay(RedHat 7.0) Author - Colin Bloch 2000³â 12¿ù 04ÀÏ Çã⿵ 2001³â 1¿ù 19ÀÏ ÀÌ ¹®¼­´Â Sendmail ÇÏ¿¡¼­ accessÆÄÀÏ°ú DRAC(Dynamic Relay Autohrization Control)¸¦ ÀÌ¿ëÇÑ µ¿Àû ¸±·¹ÀÌ ¼³Á¤°ú ±× ÀÌ¿ë¿¡ ´ëÇÑ ¹®¼­ÀÌ´Ù. µ¿Àû ¾ÆÀÌÇǸ¦ °¡Áö´Â ¸ÞÀÏ Å¬¶óÀ̾ð Æ®µéÀÇ ¸ÞÀϸ±·¹À̸¦ °¡´ÉÇÏ°Ô Çϴµ¥ °ü½ÉÀÖ´Â »ç¶÷µéÀ» ´ë»óÀ¸·Î ÇÏ°í ÀÖ´Ù. À̱ÛÀ» ¹ø¿ªÇÏ°í ÀÌ°÷¿¡ ¿Ã¸®´Â °ÍÀ» Çã¶ôÇØÁֽŠ¿øÀÛÀÚ Colin Bloch´Ô²² °¨»çÀÇ ¸»¾¸À» µå¸°´Ù. DRAC ¼Ò °³

Sendmail(SMTP) ¹öÁ¯ ÃֽŹöÁ¯Àº Relay ±ÝÁö°¡ Default·Î ¼³Á¤µÇ¾î ÀÖ¾î localhost¿ÜÀÇ Mail Relay´Â /etc/mail/access ÆÄÀÏ¿¡ relay IP³ª host¸¦ µî·ÏÇÔÀ¸·Î½á °¡´ÉÇѵ¥, ÀÌ ¹æ¹ýÀº DHCPµîÀ¸·Î IP µîÀ» ºÎ¿©¹Þ´Â °íÁ¤ ¾ÆÀÌÇÇ°¡ ¾Æ´Ñ ¸ÞÀÏŬ¶óÀ̾ðÆ®(È£½ºÆ®)µéÀÇ Relay °ü¸® ¿¡´Â ¸¹Àº ºÒÆí°ú ¾î·Á¿òÀÌ µû¸¥´Ù. ¹°·Ð ¸ðµç Relay°¡ °¡´ÉÇϵµ·Ï sendmail.cf³ª accessÆÄ ÀÏÀ» °íÃÄÁÖ´Â °ÍÀÌ °¡Àå ¼Õ½¬¿î ¹æ¹ýÀ̱ä ÇÏ°ÚÁö¸¸, ÀÌ°ÍÀº SpammerµéÀÇ ÁÖ¿äŸŶÀÌ µÇ¾î ¹ö¸®´Â À§ÇèÀ» ³»Æ÷ÇÏ°í Àֱ⵵ ÇÏ°í ¹«¾ùº¸´Ùµµ Relay¼³Á¤ÀÇ Àǹ̸¦ ¸Á°¢(?)ÇÏ´Â ÀÏÀÌ µÉ °ÍÀÌ´Ù. ÀÌ·¯ÇÑ µ¿Àû¾ÆÀÌÇǸ¦ °¡Áö´Â ¸ÞÀÏŬ¶óÀ̾ðÆ®µéÀÇ Relay °ü¸®¿¡ ¾î·Á¿òÀ» °®°í ¾ó¸¶ Àü µ¿Àû ¾ÆÀÌÇǵéÀÇ Relay Çã¿ë ¿©ºÎ¸¦ ÀÚµ¿À¸·Î °ü¸®ÇØÁְųª ÀÎÁõÀ» ÅëÇØ ÇÒ ¼ö ÀÖ´Â Åøµé ÀÌ ¾øÀ»±î ã¾Æº¸´Ù°¡ DRAC(Dynamic Relay Authoriazation Control) ¸» ±×´ë·Î 'µ¿Àû¸±·¹ÀÌ ÀÎÁõÁ¦¾î'¶ó´Â À̸§À» °¡Áø ÇÁ·Î±×·¥À» ã¾Ò´Ù. ¹°·Ð ÀÌ ÇÁ·Î±×·¥À» ¾Ë°í ÀÖ´Â »ç¶÷µµ ÀÖ°Ú Áö¸¸, Ȥ¿©³ª ¾ËÁö ¸øÇÏ´Â À̵鿡°Ô µµ¿òÀÌ µÉ±îÇÏ¿© DRACÀÇ ¼³Ä¡¿Í ¼ÂÆà ¹æ¹ýÀ» ¹®¼­¸¦ Âü °íÇÏ¿©(Âü°í¶ó±âº¸´Ù´Â ¹ø¿ªÀÇ ¼öÁØ¿¡ °¡±õ´Ù ÇÏ°Ú´Ù) ±â¼úÇغ¸°íÀÚ ÇÑ´Ù. Âü°í·Î ÀÌ ¹®¼­´Â Redhat 7.0ȯ°æ¿¡¼­ ÀνºÅç°ú ¼ÂÆÃÀ» ±âÁØÀ¸·Î ÇÏ¿´´Ù. (³ª¸ÓÁö ȯ°æÇÏ¿¡¼± ÃßÈÄ Ãß°¡ÇÏ°Å ³ª Á» ´õ ÁÁÀº µ¿Àû¸±·¹ÀÌ ¼³Á¤ ÇÁ·Î±×·¥À» ¹ß°ßÇÏ°Ô µÇ¸é ±× °ÍÀ¸·Î ´ëüÇÏ°íÀÚ ÇÑ´Ù.

DRAC´Â µ¿Àû¾ÆÀÌÇǸ¦ °¡Áö´Â È£½ºÆ®µéÀÇ ¸ÞÀϸ±·¹À̸¦ POP3¸¦ ÅëÇÑ ÀÎÁõ ¸ÅÄ«´ÏÁòÀ¸·Î µ¥ÀÌÅͺ£À̽º(/etc/mail/dracd.db)¸¦ ±¸ÃàÇÏ¿© À̸¦ ¹ÙÅÁÀ¸·Î ¸ÞÀϸ±·¹À̸¦ Çã¿ëÇÏ´Â daemonÀÌ´Ù. ´Ù½Ã¸»Çϸé localhost ¸ÞÀϼ­¹ö¿¡ ¸ÞÀÏ °èÁ¤À» °¡Áö°í ÀÖ´Â »ç¶÷ÀÌ RelayÇã¿ë À» ÀÎÁõ¹ÞÁö ¸øÇÑ È£½ºÆ®¿¡¼­ pop3¼­¹ö¿¡ Á¢¼ÓÇÏ¿© pop3ÀÇ ÀÎÁõ¿¡ ¼º°øÇϸé À̸¦ ¹ÙÅÁÀ¸·Î ¼º°øÇßÀ» ¶§ÀÇ ¾ÆÀÌÇÇ ÁÖ¼Ò¸¦ µ¥ÀÌÅͺ£À̽ºÈ­ÇÏ¿© ÀÌ µ¥ÀÌÅ͸¦ ±Ù°Å·Î ±× ¾ÆÀÌÇÇ¿¡°Ô ÀÏÁ¤ ½Ã°£µ¿¾È ¸ÞÀÏ ¸±·¹À̸¦ Çã¿ëÇÏ°ÔÇÑ´Ù.(DRACÀÇ ±âº» ¸ÞÀϸ±·¹ÀÌ À¯È¿½Ã°£Àº 30ºÐÀÌÁö¸¸ ÀÌ°ÍÀº ´Ù¸£°Ô ¼³Á¤ÀÌ °¡´ÉÇÏ´Ù) ÀÏÁ¤ÀÇ ½Ã°£ÀÌ Áö³ª°Ô µÇ¸é ´Ù½Ã ±× ¾ÆÀÌÇǷμ­ÀÇ ¸ÞÀϸ±·¹ ÀÌ´Â ´ÝÇôÁö°Ô µÇ°í ´Ù½Ã µ¿ÀÏÇÑ »ç¿ëÀÚ°¡ ´Ù¸¥ IP·Î POP3 ÀÎÁõ¿¡ ¼º°øÇÏ°Ô µÇ¸é ´Ù½Ã ±× ´Ù ¸¥ ¾ÆÀÌÇÇ´Â µ¥ÀÌÅͺ£À̽º¿¡ µî·ÏµÇ°Ô µÇ°í ±× ¾ÆÀÌÇÇ·Î ´Ù½Ã ¸ÞÀϸ±·¹ÀÌ°¡ °¡´ÉÇÏ°Ô µÇ´Â °³³äÀÇ ÇÁ·Î±×·¥À̶ó°í º¸¸é µÈ´Ù. ¹°·Ð µ¿ÀûÀÎ ¾Æ´Ñ Á¤ÀûÀ¸·Î ±×·¯´Ï±î ¿µ±¸ÀûÀ¸·Î ¸ÞÀϸ± ·¹ÀÌÀÇ ¼³Á¤ÀÌ ÇÊ¿äÇÑ ºÎºÐÀº /etc/mail/accssÆÄÀÏÀ» ÀÌ¿ëÇÏ¸é µÇ°í ÀÌ accssÆÄÀÏÀÇ ¼³Á¤ÀÌ DRACÀÇ ¼³Á¤À» override Áï ¼±ÇàÇÑ´Ù.

ÇÊ¿äÇÑ ÆÐÅ°Áö, ¼³Ä¡, ½Ãµ¿

±âº»ÆÐÅ°Áö (Standard RH7.0 distribution packages)

1) xinetd (xinetd-2.1.8.9pre9-6.i386.rpm) -- RedHat 7.0 ¿¡¼­ inetdÀÇ º¯È­µÈ ¹öÁ¯ÀÌ´Ù. 2) db3-devel (db3-devel-3.1.14-6.i386.rpm) 3) sendmail (sendmail-8.11.0-8.i386.rpm) 4) portmap (portmap-4.0-29.i386.rpm)

À§ÀÇ ÆÐÅ°ÁöµéÀº ·¹µåÇÞ 7.0 ±âº»ÆÐÅ°ÁöÀε¥ ¸ðµç °ÍÀÌ ´Ù ¼³Ä¡µÇ¾î ÀÖÀ» ¼öµµ ÀÖ°í ±×·¸Áö ¸øÇÒ ¼ö µµ ÀÖ´Ù. ´ÙÀ½°ú °°ÀÌ È®ÀÎÇغ¸°í ¼³Ä¡µÇ¾î ÀÖÁö ¾ÊÀ¸¸é ¼³Ä¡ÇØÁØ´Ù.

*È®ÀÎ $ rpm -q db3-devel -- ³ª¸ÓÁö ÆÐÅ°Áöµµ ¸¶Âù°¡Áö *¼³Ä¡ $ rpm -Uvh package_name Ãß°¡ÆÐÅ°Áö

drac ¿î¿µÀ» À§ÇØ ²À ÇÊ¿äÇÑ ÆÐÅ°ÁöµéÀÌ´Ù. ´Ù¿î Çʼö.

- DRAC : - qpopper w/drac :

¸¸¾à qmail°ú °°Àº Maildir mboxÆ÷¸äÀ» Áö¿øÇÏ´Â pop3µ¥¸óÀÌ ÇÊ¿äÇÏ´Ù¸é ¸¦ ÂüÁ¶ÇÑ´Ù.

qpopper ¼³Ä¡½Ã ÀÚµ¿À¸·Î xinetd¿¡ ÇÊ¿äÇÑ ÆÄÀϵéÀ» ÀÚµ¿À¸·Î ¼³Ä¡Çϸ鼭 xinetd¸¦ Àç½Ãµ¿ ÇÏ°Ô µÇ´Âµ¥ À̶§ ¸¸¾à xinetd°¡ ½Ãµ¿µÇ¾î ÀÖ´ø »óÅ°¡ ¾Æ´Ï¶ó¸é FAILD¶ó´Â ¸Þ¼¼Áö¸¦ º¸°ÔµÇ ´Âµ¥ ÀÌ´Â ÇÁ·Î±×·¥ ¼³Ä¡¿Í ¿î¿µ¿¡ ÀüÇô ¿µÇâÀÌ ¾øÀ¸´Ï ¹«½ÃÇ϶ó.

º¸Á¶ÆÐÅ°Áö(Optional packages)

sendmail w/drac -

ÀÌ ÆÐÅ°Áö´Â DRAC¿î¿µÀ» À§ÇØ sendmail-cfÀÇ À籸¼ºÀ» ÀÚµ¿À¸·Î ÇÏ´Â ÆÐÅ°ÁöÀÌ´Ù. ´Ü ÀÌ ÆÐ Å°Áö¸¦ ¼³Ä¡ÇÏ¸é ±âÁ¸ÀÇ sendmail.cf¸¦ sendmail.cf.rpmsave·Î ±³Ã¼Çϱ⠶§¹®¿¡ sendmail.cf¸¦ À籸¼ºÇؾßÇÑ´Ù.

2. ½Ã½ºÅÛÁغñ¿Í DRACD(DRAC daemon) ½Ãµ¿

1) portmap ÀÌ ½ÇÇàµÇ°í ÀÖ´ÂÁö È®ÀÎÇÏ¿© ±×·¸Áö ¾ÊÀ¸¸é ½ÇÇà

- ½ÇÇàÈ®ÀÎ $ /etc/rc.d/init.d/portmap status - ½ÇÇà $ /etc/rc.d/init.d/portmap start

2) dracd ½ÇÇà $ /etc/rc.d/init.d/dracd start ½ÇÇàÈÄ /etc/mail/¿¡ dracd.dbÈ­ÀÏÀÌ »ý¼ºµÇ¾ú´ÂÁö È®ÀÎ

POP3¼­¹ö, ¼¾µå¸ÞÀÏ Áغñ¿Í Å×½ºÆà POP3¼­¹ö Áغñ¿Í Å×½ºÆÃ

1) localhostÀÇ pop-3 Æ÷Æ®¿¡ Á¢¼ÓÇÏ¿© pop3ÀÎÁõ°úÁ¤À¸·Î dracd DB¸¦ ¾÷µ¥ÀÌÆ®ÇÑ´Ù.

# telnet localhost 110 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. +OK QPOP (version 3.1.2) at mail.my.net starting. user foo <--- localhostÀÇ À̸ÞÀÏ °èÁ¤ +OK Password required for foo. pass bar <--- Æнº¿öµå +OK foo has 0 visible messages (0 hidden) in 0 octets. quit +OK Pop server at mail.my.net signing off.

2) /etc/mail/dracd.dbÈ­ÀÏÀÌ ½Ã½ºÅÛ date¿Í ÀÏÄ¡ÇÏ´ÂÁö È®ÀÎ

# ls -l /etc/mail/dracd.db # date

3) dracd.db¿¡ IP Address(¿©±â¼± 127.0.0.1)°¡ µî·ÏµÇ¾ú´ÂÁö È®ÀÎ

# grep 127.0.0.1 dracd.db Binary file dracd.db matches <--- Á¦´ë·Î µî·ÏÀÌ µÇ¾úÀ»¶§ Ãâ·Â ¸Þ¼¼Áö DRAC°¡ µ¿ÀÛÇÏ°Ô Sendmail ¼¼ÆÃÇϱâ.

DRAC°¡ µ¿ÀÛÇÏ°Ô Sendmail ÀÚµ¿ ¼¼ÆÃÇϱâ.

À§ÀÇ Optional Package sendmail-8.11.0-8.i386.rpm Àº drac-enabled sendmail Áï drac °¡ sendmail¿¡¼­ µ¿ÀÛÇϵµ·Ï ÀÚµ¿À¸·Î sendmail.cf¸¦ ¼³Á¤ÇÑ´Ù. ¼³Ä¡ÈÄ sendmail.cf¸¦ Àç¼³ Á¤ÇØÁÖ¾î¾ß ÇÑ´Ù. ¾Æ·¡¿Í °°ÀÌ µÎ°¡Áö ¹æ¹ýÀ¸·Î ÇÒ ¼ö ÀÖ´Ù.(µÎ°¡ÁöÁß ÇÑ°¡Áö ¼±ÅÃ)

- À缳ġ # rpm -Uvh --force sendmail-.11.0-8.i386.rpm - ¾ðÀνºÅçÇÏ°í À缳ġ # rpm -e --nodeps sendmail # rpm -Uvh sendmail-.11.0-8.i386.rpm ÀÚµ¿¼³Ä¡´Â ´ëºÎºÐ Àß ÀÛµ¿ÇÏÁö¸¸ ¸¸¾à Á¦´ë·Î ÀÛµ¿ÇÏÁö ¾ÊÀ¸¸é ¾Æ·¡ÀÇ ¼öµ¿¼³Á¤À» Âü°í

¼öµ¿ sendmail.cf ¼³Á¤

1) /etc/sendmail.cf È­ÀÏÀ» ¿­¾î ¾Æ·¡ÀÇ ¶óÀÎÀ» local info ¶óÀÎ ¹Ø¿¡ Ãß°¡. # dynamic relay authorization control map Kdrac btree /etc/mail/dracd 2) ¾Æ·¡ÀÇ ³»¿ëÀ» "SLocal_check_rcpt" ¿¡ Ãß°¡ # allow recent POP/IMAP mail clients to relay R$* $: $&{client_addr} R$+ $: $(drac $1 $: ? $) R? $@ ? R$+ $@ $#OK ÁÖÀÇ) °ø¹éÀº space°¡ ¾Æ´Ï¶ó tap Å°·Î 3) sendmail Àç½Ãµ¿ # /etc/rc.d/init.d/sendmail restart sendmail, popper °¡ drac¿Í Àß ÀÛµ¿ÇÏ´ÂÁö Å×½ºÆ®Çϱâ 1) Relay°¡ ±ÝÁöµÈ È£½ºÆ®·ÎºÎÅÍ smtp¼­¹ö Á¢¼ÓÇÏ¿© relay °ÅºÎ È®ÀÎ # telnet mail.my.net 25 <---¸ÞÀϼ­¹öÀÇ ÁÖ¼Ò Trying 192.168.1.1... Connected to mail.my.net. Escape character is '^]'. 220 mail.my.net ESMTP Sendmail 8.11.0/8.11.0; Tue, 21 Nov 2000 10:56:01 -0600 helo blah <-- ±×´ë·Î ½áÁà¾ß ÇÔ. 250 mail.my.net Hello bofh [192.168.1.2], pleased to meet you mail from: bgates@microsoft.com 250 2.1.0 bgates@microsoft.com... Sender ok rcpt to: president@whitehouse.gov 550 5.7.1 president@whitehouse.gov... Relaying denied <-- ¸±·¹ÀÌ°¡ °ÅºÎµÇ¾ú´Ù. quit 221 2.0.0 mail.my.net closing connection 2) pop-3·Î Æ÷Æ®·Î Á¢¼ÓÇÏ¿© ¸±·¹ÀÌ ±ÇÇÑ È¹µæÇϱâ # telnet mail.my.net 110 Trying 192.168.1.1... Connected to mail.my.net. Escape character is '^]'. +OK QPOP (version 3.1.2) at mail.my.net starting. user foo <--- Smtp ¼­¹öÀÇ ¸ÞÀϾÆÀ̵ð +OK Password required for foo. pass bar +OK foo has 0 visible messages (0 hidden) in 0 octets. <-- ¸±·¹ÀÌ ±ÇÇÑ È¹µæ quit +OK Pop server at mail.my.net signing off. 3) ´Ù½Ã smtp Æ÷Æ®·Î Á¢¼ÓÇÏ¿© ¸±·¹À̸¦ ÇÒ ¼ö ÀÖ´ÂÁö È®ÀÎ [root@bofh /root]# telnet mail.my.net 25 Trying 192.168.1.1... Connected to mail.my.net. Escape character is '^]'. 220 mail.my.net ESMTP Sendmail 8.11.0/8.11.0; Tue, 21 Nov 2000 10:56:01 -0600 helo blah 250 mail.my.net Hello bofh [192.168.1.2], pleased to meet you mail from: bgates@microsoft.com 250 2.1.0 bgates@microsoft.com... Sender ok rcpt to: president@whitehouse.gov 250 2.1.5 president@whitehouse.gov... Recipient ok <-- ¸±·¹ÀÌ ¼º°ø quit 221 2.0.0 mail.my.net closing connection

À§ÀÇ °úÁ¤À» º¸¸é pop-3Æ÷Æ®¿¡ Á¢¼ÓÀ» ÇÏ¿© ¸ÞÀÏ°èÁ¤ÀÇ ¾ÆÀ̵ð·Î ÀÎÁõ¿¡ ¼º°øÇϸé /etc/DRACd.db¿¡ Á¢¼ÓµÇ¾îÁø IP¸¦ ±â·ÏÇÏ¿© ±× IP·Î Á¢¼ÓÇÑ À¯Àú°¡ Relay°¡ °¡´ÉÇϵµ·Ï ÇØÁÖ °í ÀÖ´Ù. ´Ù½Ã¸»Çϸé Mail Client ÇÁ·Î±×·¥À¸·Î pop-3Æ÷Æ®¿¡ localhost¿¡ ÀÖ´Â ¸ÞÀÏ ¾ÆÀ̵ð ·Î Á¢¼ÓÀ» ¼º°øÇϱ⸸ ÇÏ¸é ¸ÞÀÏ Relay¸¦ °¡´ÉÇÏ°Ô ÇÏ°í ÀÖ´Ù. µ¿Àû¾ÆÀÌÇǸ¦ °¡Áö°í ÀÖ´Â ¸Þ ÀÏÀ¯Àú¶ó ÇÒÁö¶óµµ localhost¿¡ ÀÎÁõµÈ ¸ÞÀÏ°èÁ¤¸¸ ÀÖÀ¸¸é sendmailÀÇ /etc/mail/access¿¡ ¼³Á¤ÇØÁÖÁö ¾Ê´õ¶óµµ ¾ó¸¶µçÁö Relay¼³Á¤À» µ¿ÀûÀ¸·Î »ý¼ºÇÏ¿© Relay¸¦ °¡´ÉÇÏ°Ô ÇØÁØ´Ù.

Âü°í·Î /etc/DRACd.db¿¡ ±â·ÏµÇ¾îÁø IP data´Â ±âº»À¸·Î 30ºÐÀÇ µ¥ÀÌÅÍÀ¯È¿½Ã°£À» °¡ÁöÁö¸¸ ¸¦ »ìÆ캸¸é ÀÌ À¯È¿½Ã°£À» Á¶ÀýÇÒ ¼ö ÀÖ´Ù.

Âü°í·Î ÀÌ DRAC¸¦ ÀÌ¿ëÇØ ¸±·¹ÀÌ °¡´ÉÇÏ°Ô ÇÏ·Á¸é PO3À¯Àú´Â ²À POP3 ¼­¹ö¿¡ Á¢¼ÓÇÏ´Â °ÍÀÌ ¼±ÇàµÇ¾î¾ß ÇÑ´Ù. ¸¸¾à DRAC ÀÎÁõ À¯È¿½Ã°£ÀÌ Á¾·áµÇ¾ú´Ù¸é Relay °ÅºÎ ¸Þ¼¼Áö¸¦ ¹ÞÀ» °ÍÀÌ´Ù.

À̱ÛÀÇ ¿ø¹®Àº ¹ø¿ªµÇ¾îÁø °Í°ú ¾à°£ ´Ù¸£´Ù. Á÷¿ªÀ» ÇÏÁö ¾Ê°í ÀÇ¿ªÀ» Ç߱⠶§¹®ÀÌ´Ù. ÇÏÁö¸¸ ÀǹÌÀü´Þ¿¡´Â º° Â÷ÀÌ°¡ ¾øÀ» ÁÙ ¾È´Ù. ¿ø¹®À» º¸°íÀÚ ÇÏ´Â ºÐÀº À» ÂüÁ¶ÇÏ¸é µÈ´Ù.