50 6
   ºñÃ÷·Î(http://vitro.pe.kr) 2003.02.18.   
qmail-1.03¼³Ä¡¨ì (qmail-scanner ½ºÆÔÇÊÅ͸µ)
  qmail-1.03¼³Ä¡¨ì (qmail-scanner ½ºÆÔÇÊÅ͸µ) qmail-scanner.zip (4KB)qmail-scanner.zip (4KB)
qmail-scanner´Â ¹ÙÀÌ·¯½º¿Í ½ºÆÔ ¸ÞÀÏÀ» ÇÊÅ͸µÇϱâ
À§Çؼ­ »ç¿ëÇÑ´Ù.
qmail-scanner¸¦ ¼³Ä¡Çϱâ À§Çؼ­´Â maildrop°ú ¿ÜºÎ spamÇÊÅ͸¦ °°ÀÌ
°áÇÕÇÏ¿© ¼³Ä¡ÇÑ´Ù.
³ª´Â ¿©±â¼­ spamAssassinÀ» °áÇÕÇÏ¿© »ç¿ëÇÏ´Â ¹æ¹ýÀ» ¾µ°ÍÀÌ´Ù.
spamAssassinÀ» °áÇÕÇÏ´Â ÀÌÀ¯´Â ¹®¼­ À̾߱⿡
¿Ã·Áµ×À¸´Ï ÂüÁ¶Çϱ⠹ٶõ´Ù.
±×¸®°í qmail-scanner¼³Ä¡½Ã ÇÊ¿äÇÑ ¸ðµâÀÌ ¸î°¡Áö ÀÖ´Ù.
unzipÀº Å¥¸ÞÀϽºÄ³³Ê°¡ ¾ÐÃàÇÑ À̸ÞÀÏ ÆÄÀÏÀ» °Ë»ç½Ã ¾ÐÃàÇØÁ¦ÇÏ¿© °Ë»çÇϱâ
À§Çؼ­ ÇÊ¿äÇÏ´Ù.

perl-suidperl¶õ °Íµµ ÇÊ¿äÇѵ¥ Å¥¸ÞÀÏ ½ºÄ³³Ê°¡ ½ÇÇà½Ã ÇÊ¿ä·Î ÇÑ´Ù.

Time::Hires ¸ðµâÀ» ¼±ÇàÁ¶°ÇÀ¸·Î ¼³Ä¡µÇ¾î ÀÖ¾î¾ß Çϴµ¥...
À̰ÍÀ» ¼³Ä¡ÇÏ´Ùº¸¸é ¿¡·¯ ¸Þ½ÃÁö°¡ ³­´Ù... Time::Hires¸¦ ¼³Ä¡ÇϱâÀü¿¡
HTML-Parser¼³Ä¡ÇÏ°í ³ª¼­ Time::Hires¸¦ ¼³Ä¡ÇÏ¸é ¿¡·¯ ¾øÀÌ Àß ¼³Ä¡µÈ´Ù.

±×¸®°í maildropÀº qmail-scanner°¡ À̸ÞÀÏÀ» °Ë»çÇϱâ À§ÇÑ À̸ÞÀÏ Æ÷¸ËÀ»
½ºÄµ°¡´ÉÇÑ ÇüÅ·Πº¯È¯Çϱâ À§ÇØ maildropÀÇ reformimeÀ̶õ ±â´ÉÀ» ÀÌ¿ëÇÑ´Ù.
±×·¯´Ï ¹Ýµå½Ã maildropÀ» ¼³Ä¡ÇÏ¿©¾ß ÇÑ´Ù.

°¢ ¼Ò½º°¡ ³»°¡ ´Ù¿î ¹Þ¾Æ Å×½ºÆ®ÇßÀ»¶§º¸´Ù ¹öÀü¾÷ÀÌ µÈ°ÍÀÌ
Á»ÀÖ³ª ¹öÀü ¾÷ÀÌ µÇ¾îµµ ¼³Ä¡½Ã¿¡ º° Â÷ÀÌ´Â ¾ø´Ù.
°¢ ¼Ò½º¸¦ ´Ù¿î ¹Þ´Â´Ù.

maildrop-1.5.0¸¦ ¾Æ·¡ ÁÖ¼Ò¿¡¼­ ´Ù¿î ¹Þ´Â´Ù.
http://prdownloads.sourceforge.net/courier/

HTML-ParserÀ» ¾Æ·¡ ÁÖ¼Ò¿¡¼­ ´Ù¿î ¹Þ´Â´Ù.
http://search.cpan.org/author/GAAS/HTML-Parser-3.27/

³»°¡ Å×½ºÆ®ÇÒ¶© 1.38À̾úÀ¸³ª Áö±ÝÀº 1.42¹öÀüÀε¥
º°Â÷ÀÌ ¾ø´Â°ÍÀ¸·Î ¾È´Ù. ±×³É 1.42·Î ÀÛ¾÷ÇÑ´Ù.
Time-HiRes À» ¾Æ·¡ ÁÖ¼Ò¿¡¼­ ´Ù¿î ¹Þ´Â´Ù.
http://search.cpan.org/author/JHI/Time-HiRes-1.42/

Mail-SpamAssassin À» ¾Æ·¡ ÁÖ¼Ò¿¡¼­ ´Ù¿î ¹Þ´Â´Ù.
http://www.spamassassin.org/downloads.html

qmail-scanner ¸¦ ¾Æ·¡ ÁÖ¼Ò¿¡¼­ ´Ù¿î ¹Þ´Â´Ù.
http://prdownloads.sourceforge.net/qmail-scanner/qmail-scanner-1.16.tgz?download

perl-suidperl, unzipÀº rpmÀ¸·Î ¼³Ä¡ÇÑ´Ù.

#####  maildrop install  ######
¿ì¼± ¸ÞÀϵå·ÓºÎÅÍ ¼³Ä¡ÇÑ´Ù.
maildrop-1.5.0¸¦ ¾ÐÃàÇØÁ¦ ÇÑ´Ù.
tar jxpf maildrop-1.5.0.tar.bz2 -C /var/tmp
cd /var/tmp/maildrop-1.5.0

¸¸¾à ´ç½ÅÀÌ checkpassword¸¦ Áö¿øÇÏ°í ½Í´Ù¸é À§ÀÇ ÄÁÇDZ×
¿É¼ÇÁß¿¡ Á¶±Ý¸¸ ¼öÁ¤Çؼ­ »ç¿ëÇÏ¸é µÉ°ÍÀÌ´Ù.
--enable-maildrop-gid=vchkpw \
--enable-restrict-trusted=1 \
--enable-trusted-users='root qmaild vpopmail'
À§ÀÇ ¼¼ ¿É¼Ç¸¸ Á¦°ÅÇÏ°í ¼³Ä¡ÇÏ¸é µÉ°Í°°´Ù. ¼ÖÁ÷È÷ ³ªµµ qmail-scanner¿Í
checkpassword¿Í ¿¬µ¿Çؼ­ ¼³Ä¡ÇÑÀûÀÌ ¾ø¾î¼­ Àß ¸ð¸£°Ú´Ù.
checkpassword¿Í qmail-scanner¿ÍÀÇ ¿¬µ¿Àº Ưº°È÷ ¼³Á¤ÀÌ ¾î·ÆÁø ¾ÊÀº°É·Î ¾È´Ù.

echo "##########################"
echo "###  Vpopmail support  ###"
echo "##########################"
ÄÁÆÄÀÏ ¿É¼ÇÀ» ¼³Á¤

./configure \
--prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/share/man \
--enable-sendmail=/var/qmail/bin/sendmail \
--enable-maildrop-uid=root \
--enable-maildrop-gid=vchkpw \
--enable-maildirquota \
--enable-restrict-trusted=1 \
--enable-trusted-users='root qmaild vpopmail'

ÄÄÆÄÀÏ
make

find /* > /root/maildrop1

½ÇÁ¦ ¼³Ä¡
make install-strip

¸Ç ÆäÀÌÁö ¼³Ä¡
make install-man
find /* > /root/maildrop2

diff /root/maildrop1 /root/maildrop2 > /root/maildrop-install

rpmÀ¸·Î unzip°ú perl-suidperl À» rpmÀ¸·Î ¼³Ä¡ÇÑ´Ù.

rpm -Uvh --nodeps unzip-5.50-2.i386.rpm perl-suidperl-5.6.1-34.99.6.i386.rpm

echo "###  HTML-Parser-3.26 install ###"

HTML-Parser-3.26 ¾ÐÃàÇØÁ¦

tar zxfp HTML-Parser-3.26.tar.gz -C /var/tmp
cd /var/tmp/HTML-Parser-3.26

¿ì¼± ÆÞ °æ·Î¼³Á¤
perl Makefile.PL

ÄÄÆÄÀÏ
make

ÄÄÆÄÀÏ Å×½ºÆ®
make test

find /* > /root/HTML-Parser1
make install
find /* > /root/HTML-Parser2

diff /root/HTML-Parser1 /root/HTML-Parser2 > /root/HTML-Parser-install

echo "#### Time::Hires install ####"
Time-HiRes-1.38 ¾ÐÃàÇØÁ¦
tar zxfp Time-HiRes-1.38.tar.gz -C /var/tmp
cd /var/tmp/Time-HiRes-1.38

ÆÞ °æ·Î ¼³Á¤
perl Makefile.PL

ÄÄÆÄÀÏ
make

ÄÄÆÄÀÏ Å×½ºÆ®
make test
find /* > /root/Time1
make install
find /* > /root/Time2

diff /root/Time1 /root/Time2 > /root/Time-install

#####  spamAssassin install  ######
Mail-SpamAssassin-2.43 ¼³Ä¡

tar zxfp Mail-SpamAssassin-2.43.tar.gz -C /var/tmp
cd /var/tmp/Mail-SpamAssassin-2.43
perl Makefile.PL

ÄÄÆÄÀÏ
make

find /* > /root/spamassassin1

½ÇÁ¦ ¼³Ä¡
make install

÷ºÎ ÆÄÀϵéÀ» º¹»çÇÑ´Ù.
cp -f user_prefs /etc/mail/spamassassin/
cp -f local.cf /etc/mail/spamassassin/

½ÃÀÛ ½ºÅ©¸³Æ® º¹»ç
cp -f /var/tmp/Mail-SpamAssassin-2.43/spamd/redhat-rc-script.sh /etc/rc.d/init.d/spamd

-----------  ¾Æ·¡ ¿É¼ÇÀº Mail-SpamAssassin-2.43 ½ÃÀ۽à ¿É¼Ç ¼³Á¤  -----------

-F0 <-- ÃֽйöÀü¿¡¼± ºÒÇÊ¿ä ¿É¼Ç
-d : µ¥¸ó¸ðµå
-L : Local À¯Àú¿¡ Àû¿ë
-x : »ç¿ëÀÚº° ȯ°æ¼³Á¤ ¹«½Ã
-u qmailq : spamdÀ» qmailq À¯Àú ±ÇÇÑÀ¸·Î ½ÇÇà

echo 'OPTIONS="-d -L -x -u qmailq"' > /etc/sysconfig/spamd

-------------------------------------------------------------------------
find /* > /root/spamassassin2

ÆÛ¹Ì¼Ç Á¶Á¤
chmod 644 /etc/mail/spamassassin/*
chmod 644 /etc/sysconfig/spamd
chmod 700 /etc/rc.d/init.d/spamd

chkconfig --add spamd
chkconfig --level 345 spamd on
/etc/rc.d/init.d/spamd start

spamassassin Å×½ºÆ®

cd /var/tmp/Mail-SpamAssassin-2.43

spamassassin -t < sample-nonspam.txt > nonspam.out
spamassassin -t < sample-spam.txt > spam.out

nonspam.out °ú spam.out ÆÄÀÏÀ» ¿­¾îº¸°í
spam.out ÆÄÀÏ¿¡ ½ºÆÔ ³»¿ëÀÌ ÀÖÀ¸¸é ÀÌ»ó¾øÀÌ ¼³Ä¡µÈ°Å´Ù.

echo "#### qmail-scanner install ####"
qmail-scanner-1.15¸¦ ¼³Ä¡ÇÑ´Ù.

Ȥ½Ã ¶óµµ setuidperlÀÇ ÆÛ¹Ì¼ÇÀ» È®ÀÎÇØº¸°í ¾Æ·¡¿Í ´Ù¸£¸é ¹Ù²ãÁØ´Ù.
chown root /usr/bin/suidperl
chmod 4711 /usr/bin/suidperl

¼Ò½º ¾ÐÃàÇØÁ¦
tar zxfp qmail-scanner-1.15.tgz -C /var/tmp
cd /var/tmp/qmail-scanner-1.15

¼Ò½º Æú´õÀÇ ¾Æ·¡¿¡ º¸¸é locale¶ó´Â µð·ºÅ丮°¡ ÀÖ´Ù.
ÀÚ½ÅÀÇ ½Ã½ºÅÛ ·ÎÄÉÀÏÀÌ ko·Î »ç¿ëÇÑ´Ù¸é perlsuid°¡ ÀÛµ¿ÇÒ¶§¸¶´Ù
perl¿¡¼­ ko¶ó´Â Æú´õ¸¦ ãÀ»¼ö ¾ø´Ù´Â ¿¡·¯ ¸Þ½ÃÁö°¡ ³ª¿Ã°ÍÀÌ´Ù.
±× ¿¡·¯ ¸Þ½ÃÁö¸¦ ¾È ³ª¿À°Ô Çϱâ À§ÇØ
en_GBÆÄÀÏÀ» ÀÚ½ÅÀÌ »ç¿ëÇÏ´Â ·ÎÄÉÀϸíÀ¸·Î º¹»çÇÏ¸é ¿¡·¯ ¸Þ½ÃÁö°¡ ¾È ¶á´Ù.

cp -r locale/en_GB locale/eucKR

ÄÄÆÄÀÏ
./configure --debug no \
--lang "eucKR" \
--log-details syslog \
--unzip yes
find /* > /root/qmail-scanner1

./configure --debug no \
--lang "eucKR" \
--log-details syslog \
--install

÷ºÎÆÄÀÏÀ» º¹»çÇÑ´Ù.
¾Æ·¡ ÆÄÀÏÀº Å¥¸ÞÀÏ ½ºÄ³³ÊÀÇ ·ê¼ÂÀÌ´Ù.
cp -f quarantine-attachments.txt /var/spool/qmailscan/

find /* > /root/qmail-scanner2

diff /root/qmail-scanner1 /root/qmail-scanner2  > /root/qmail-scanner-install

ÆÛ¹Ì¼Ç Á¶Á¤ÇÑ´Ù.
chown qmailq.qmail /var/spool/qmailscan/quarantine-attachments.txt
chmod 660 /var/spool/qmailscan/quarantine-attachments.txt
chown qmailq.qmail /var/qmail/bin/qmail-scanner-queue.pl
chmod 4755 /var/qmail/bin/qmail-scanner-queue.pl

¾Æ·¡ ¸í·ÉÀ¸·Î Å¥¸ÞÀÏ ½ºÄ³³Ê ·ê¼ÂÀÌ Àß Àû¿ëµÇ¾ú´ÂÁö È®ÀÎ
/var/qmail/bin/qmail-scanner-queue.pl -g

Å¥¸ÞÀÏÅ¥°¡ ½Ã½ºÅÛ È¯°æ º¯¼ö·Î Á¤ÀǵǾîÀÖ¾î¾ßÁö¸¸ Á¤»ó ÀÛµ¿ÇÑ´Ù.
echo 'export QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl"' >> /etc/profile
export QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl"

ȯ°æÆÄÀÏ Àç·Îµå
. /etc/profile

ȯ°æ º¯¼ö ÁöÁ¤ Àß µÇ¾ú³ª È®ÀÎÇØº»´Ù.
echo $QMAILQUEUE

Å¥¸ÞÀÏ Àç½ÃÀÛ
/etc/rc.d/init.d/qmail restart

Å¥¸ÞÀÏ ½ºÄ³³Ê Å×½ºÆ®
/var/tmp/qmail-scanner-1.15/contrib/test_installation.sh -doit

Å¥¸ÞÀÏ ½ºÄ³³Ê ¼³Ä¡ÇÏ°í ³ª¼­ Å¥¸ÞÀÏ ½ºÄ³³Ê °ü·Ã ·Î±×°¡ ³Ê¹« ¸¹ÀÌ ³²´Â´Ù¸é
Å©·ÐÀ¸·Î Çѽ𣸶´Ù ÇØ´ç Å¥ Æú´õ¸¦ Áö¿ì°í ´Ù½Ã ¸¸µå´Â ½ÄÀ¸·Î ·Î±×¸¦
°ü¸®ÇÏÀÚ. ¾Æ·¡´Â ³»°¡ ÇÑ ¹æ¹ýÀε¥... À̰ͺ¸´Ù´Â ·Î±× ·ÎÅ×ÀÌÆ®µîÀ» ÀÌ¿ëÇϴ°Ô
ÈξÀ ³ªÀ»°Í °°´Ù.

Âü°í·Î ¾Æ·¡ ¹æ¹ýÀº ¼­ºñ½º½Ã¿¡ ¾à°£ÀÇ ¹®Á¦¸¦ ÀÏÀ¸Å³ ¼ÒÁö°¡ ´ÙºÐÇϹǷÎ
±ÇÇÏÁö ¾Ê´Â´Ù.

echo 'cd /var/spool/qmailscan/quarantine
rm -rf new
mkdir /var/spool/qmailscan/quarantine/new
chmod 770 /var/spool/qmailscan/quarantine/new
chown qmailq.qmail /var/spool/qmailscan/quarantine/new
rm -f /var/spool/qmailscan/quarantine.log
touch /var/spool/qmailscan/quarantine.log
chmod 660 /var/spool/qmailscan/quarantine.log
chown qmailq.qmail /var/spool/qmailscan/quarantine.log' > /etc/cron.hourly/qmail-scan.cron
chmod 550 /etc/cron.hourly/qmail-scan.cron