메일 서버 · 3 min read · Jan 03, 2026
Mailscanner/Exim Gateway With Communigate PRO Guide
Mailscanner/Exim Gateway With Communigate PRO Guide
이 튜토리얼에서는 Communigate pro 클러스터 앞에 메일 방화벽으로 Mailscanner를 설치하고 설정하는 방법을 설명합니다. 이 튜토리얼은 CENTOS 5.x 리눅스 배포판을 위해 작성되었지만, 약간의 수정으로 다른 리눅스 기반 시스템에서도 사용할 수 있을 것입니다. 시스템은 SELinux가 강제 모드로 실행됩니다. 우리가 사용할 구성 요소는 다음과 같습니다:
- Mailscanner
- Clamav
- exim
- apache
- mailwatch
- razor
- spamassassin
- mysql
- fuzzy ocr
- sanesecurity signatures
- mailfeeder
패키지 설치
기본적인 CENTOS 5 시스템을 “Development Tools” 그룹과 함께 설치했다고 가정하므로 패키지 선택 및 파티션 레이아웃과 같은 문제에 대해서는 깊이 다루지 않겠습니다. 기본 CENTOS 기반의 일부가 아닌 특정 소프트웨어를 설치해야 하므로, 필요한 소프트웨어를 많이 패키징하는 Dag Wieers rpm 저장소를 사용하도록 시스템을 구성해야 합니다.
rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm이 작업이 완료되면 rpmforge 저장소를 사용하도록 시스템이 구성되었습니다.
이 튜토리얼의 작업 디렉토리는 /usr/local/src입니다 - 모든 다운로드는 이곳에 다운로드하고 압축을 풀어야 합니다.
Exim
yum install exim -y
/usr/sbin/alternatives --set mta /usr/sbin/sendmail.exim
service sendmail stop
/sbin/chkconfig --level 345 sendmail off
/sbin/chkconfig --level 345 exim offMailScanner
wget http://www.mailscanner.info/files/4/rpm/MailScanner-4.66.5-3.rpm.tar.gz
tar xzvf MailScanner-4.66.5-3.rpm.tar.gz
cd MailScanner-4.66.5-3
./install.shClamav
yum install clamav clamav-db clamd -y
freshclamSanesecurity 서명
wget http://www.sanesecurity.co.uk/clamav/update_sanesecurity.txt -O /usr/local/bin/update_sanesecurity.sh
chmod +x /usr/local/bin/update_sanesecurity.sh
ln -s /usr/local/bin/update_sanesecurity.sh /etc/cron.hourly/
/usr/local/bin/update_sanesecurity.shApache
yum install httpd php php-mysql php-gd php-eaccelerator -y /sbin/chkconfig --level 345 httpd onSpamassassin
yum install spamassassin -yFuzzy OCR
yum install netpbm-progs ocrad gocr gifsicle giflib-utils giflib -y
svn co svn://svn.own-hero.net/fuzzyocr/trunk/devel
cd devel/
perl -MCPAN -e 'install String::Approx'
perl -MCPAN -e 'install Time::HiRes'
perl -MCPAN -e 'install Log::Agent'
cp -rv {FuzzyOcr.cf,FuzzyOcr.scansets,FuzzyOcr.preps,FuzzyOcr.pm,FuzzyOcr.words,FuzzyOcr/} /etc/mail/spamassassin
chcon -R system_u:object_r:etc_mail_t /etc/mail/spamassassin/{FuzzyOcr.cf,FuzzyOcr.scansets,FuzzyOcr.preps,FuzzyOcr.pm,FuzzyOcr.words,FuzzyOcr/}
wget http://www.gbnetwork.co.uk/mailscanner/FuzzyOcr.words -O /etc/mail/spamassassin/FuzzyOcr.wordsRazor
yum install razor-agentsMySQL
yum install mysql mysql-server -yMailwatch
wget http://dfn.dl.sourceforge.net/sourceforge/mailwatch/mailwatch-1.0.4.tar.gz
tar xzvf mailwatch-1.0.4.tar.gz
cd mailwatch-1.0.4
cp -av mailscanner/* /var/www/html/
cp /var/www/html/conf.php.example /var/www/html/conf.php
mkdir /var/www/html/temp
chmod u+rwx /var/www/html/temp
rm -f /var/www/html/{index.php,xml,jpgraph,fpdf}
cp /var/www/html/status.php /var/www/html/index.php
mv /var/www/html/jpgraph-1.12.1 /var/www/html/jpgraph
mv /var/www/html/fpdf152 /var/www/html/fpdf
mv /var/www/html/xmlrpc_1.2 /var/www/html/xmlrpc
chown apache.apache -R /var/www/html/
chmod ug+rwx /var/www/html/images
chmod ug+rwx /var/www/html/images/cache
chcon -R system_u:object_r:httpd_sys_content_t /var/www/html/
cp MailWatch.pm /usr/lib/MailScanner/MailScanner/CustomFunctions/
cp SQLBlackWhiteList.pm /usr/lib/MailScanner/MailScanner/CustomFunctions/
cp tools/db_clean.php /usr/local/bin/
cp tools/quarantine_maint.php /usr/local/bin/Mailfeeder
wget http://www.pldaniels.com/mailfeeder/mailfeeder-0.2.3.tar.gz
tar xzvf mailfeeder-0.2.3.tar.gz
cd mailfeeder-0.2.3
make
cp mailfeeder /usr/local/bin/패키지 구성
Exim 구성
소개
Mailscanner와 함께 exim을 실행하려면, 포트 25에서 수신 메일을 수신하고 처리할 데몬을 위한 구성 파일과 Mailscanner에 의해 스캔된 깨끗한 메일을 배달할 exim 프로세스를 위한 두 개의 구성 파일이 필요합니다. 또한 수신 메일과 스캔된 깨끗한 메일을 위한 두 개의 큐가 필요합니다.
모든 구성 옵션에 대해 자세히 설명하지 않겠습니다. 정상적으로 실행되는 exim 시스템을 구성하는 방법에 대한 자세한 정보는 다른 곳에서 찾을 수 있을 것이라고 기대합니다. 따라서 이 설정에 특정한 영역에만 집중하겠습니다.
- 먼저 exim 구성을 백업한 다음, 아웃바운드 프로세스를 위한 두 번째 구성 파일을 만듭니다.
cp /etc/exim/exim.conf /etc/exim/exim.conf.orig
cp /etc/exim/exim.conf /etc/exim/exim_out.conf수신 Exim
이것은 포트 25에서 수신 메일을 수신하고 Mailscanner가 처리할 수 있도록 큐에 넣는 exim 데몬의 구성입니다. 구성 파일은 /etc/exim/exim.conf입니다.
안티바이러스 / Sanesecurity 검사
수신 exim 데몬(/etc/exim/exim.conf)을 구성하여 clamav를 사용하여 수신 메일을 스캔하고 바이러스에 감염된 이메일 및 이미지 및 PDF 스팸을 SMTP 시간에 거부합니다.
av_scanner = clamd:/var/run/clamav/clamd.sock메일 라우팅
메일을 수신할 도메인을 구성합니다. 이를 /etc/exim/relay_domains 파일에 추가합니다.
# 예시 /etc/exim/relay_domains
example.comexim 구성에서 이를 지정합니다:
domainlist relay_to_domains = lsearch;/etc/exim/relay_domains메일을 필터링하는 도메인의 라우팅을 /etc/exim/mail-routes 파일에 구성합니다.
#예시 /etc/exim/mail-routes
example.com: xxx.xxx.xxx.xxx:xxx.xxx.xxx.xxx # 이 도메인은 2개의 프론트 엔드 노드가 있는 CGP 클러스터에 있습니다.
somedomain.com: xxx.xxx.xxx.xxx # 이 메일은 하나의 CGP 머신으로 배달됩니다.릴레이 도메인에 대한 메일을 수신하는 라우터를 구성합니다. 아래의 check_backend: router 아래에 추가해야 합니다(주소 확인 참조).
deliver_clean:
driver = manualroute
domains = +relay_to_domains
transport = remote_smtp
route_data = ${lookup{$domain}lsearch{/etc/exim/mail-routes}}Mailscanner 통합
수신 exim을 구성하여 메시지를 큐에 넣고 배달하지 않도록 하여 Mailscanner가 이를 처리할 수 있도록 합니다.
spool_directory = /var/spool/exim.in
process_log_path = /var/spool/exim/exim-process.info
queue_only = true
queue_only_override = falseRBL
acl_check_rcpt 아래에 RBL을 구성합니다:
drop message = REJECTED because $sender_host_address is in a black list spamhaus.org
dnslists = xen.spamhaus.org
drop message = REJECTED because $sender_host_address is in a black list at $dnslist_domain\n$dnslist_text
dnslists = bl.spamcop.net
drop message = REJECTED because $sender_host_address is in a black list at $dnslist_domain\n$dnslist_text
dnslists = dnsbl.sorbs.net새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.