서버 설정 · 4 min read · Nov 12, 2025

Qmail-Scanner With ClamAV And SpamAssassin On Ubuntu

Qmail-Scanner With ClamAV And SpamAssassin On Ubuntu

내 문서 https://www.howtoforge.com/qmail-openldap-on-ubuntu 에서 Ubuntu에서 qmail-ldap를 설정하는 방법을 계속하여 이 문서는 qmail 서버와 함께 ClamAV 바이러스 백신 및 SpamAssassin 스팸 필터로 Qmail-Scanner를 설정하는 데 도움이 될 것입니다.

소개

Qmail-Scanner는 Qmail 이메일 서버가 특정 특성을 위해 이메일을 스캔할 수 있도록 하는 추가 기능입니다. 일반적으로 바이러스 및 스팸 보호 기능을 위해 사용되며, 이 경우 외부 스캐너와 함께 사용됩니다. 또한 사이트(서버/사이트 수준)에서 특정 문자열이 포함된 이메일에 반응하거나 특정 첨부 파일 이름 또는 유형(예: zip 파일 내의 *.EXE 첨부 파일)에 대해 “정책 차단”을 생성할 수 있습니다.

그의 아카이브 기능은 전 세계의 ISP 및 기업들이 새로운 법률이나 규제 요건을 준수하는 데 도움을 줍니다. 처리된 모든 이메일을 아카이브 메일 디렉토리에 아카이브할 수 있습니다. 이는 감사 정책 이유로 백업 목적으로 이상적입니다. 특정 Windows 기반 서버 솔루션과 달리, 메일 봉투 헤더(“rcpt to:” 및 “mail from:” 헤더)는 각 메시지의 하단에 추가되어 진정한 발신자 및 수신자 주소를 확인합니다. 아카이빙은 또한 주소의 하위 집합으로 필터링을 지원합니다(예: 모든 이메일 대신 “[email protected]” 이메일만 아카이브).

우리는 spamassassin과 clamav를 qmailsacnner와 결합할 것입니다. Spamassassin은 Perl로 작성된 오픈 소스 메일 필터로, 메일 헤더 및 본문 텍스트에 대한 다양한 휴리스틱 테스트를 사용하여 스팸을 식별합니다. Pyzor, Razor 및 DCC와 같은 유용한 플러그인을 사용할 수도 있습니다. Clamav는 바이러스에 감염된 메일 메시지를 스캔합니다.

설치

우리는 Qmail-Scanner, ClamAV 및 SpamAssassin을 Pyzor, Razor 및 DCC 플러그인과 함께 설치하고 구성할 것입니다.

Clam 바이러스 백신

ClamAV는 트로이 목마, 바이러스, 맬웨어 및 기타 악성 위협을 탐지하기 위해 설계된 오픈 소스 바이러스 백신 엔진입니다. 메일 게이트웨이 스캐닝의 사실상의 표준입니다. 고성능 멀티 스레드 스캐닝 데몬, 온디맨드 파일 스캐닝을 위한 명령줄 유틸리티 및 자동 서명 업데이트를 위한 지능형 도구를 제공합니다.

다운로드

최신 버전을 http://downloads.sourceforge.net/project/clamav 에서 다운로드:

wget http://nchc.dl.sourceforge.net/project/clamav/clamav/0.97/clamav-0.97.tar.gz

ClamAV 설치 및 구성

cd /download  
tar zxvf clamav-0.97.tar.gz  
useradd -c "Qmail-Scanner Account" -s /bin/false qscand  
cd clamav-0.97  
./configure --with-user=qscand --with-group=qscand  
make && make install  
ldconfig -v

이제 구성 파일을 구성합니다. 다음과 같습니다:

vi /usr/local/etc/clamd.conf
#예시
LogFile /var/log/clamav/clamd.log
LogFileMaxSize 20M
LogTime yes
LogClean yes
LogSyslog yes
PidFile /var/run/clamav/clamd.pid
TemporaryDirectory /var/tmp
DatabaseDirectory /usr/local/share/clamav
LocalSocket /var/run/clamav/clamd.cl
MaxConnectionQueueLength 30
User qscand
MaxThreads 20
Scanmail yes

이제 qscand 소유권으로 몇 개의 디렉토리를 생성합니다:

mkdir /var/run/clamav  
chown -R qscand.qscand /var/run/clamav  
mkdir /var/log/clamav  
chown -R qscand.qscand /var/log/clamav  
chmod -R 755 /var/log/clamav

이로써 clamav가 성공적으로 설치되었습니다.

/usr/local/sbin/clamd &
vi /usr/local/etc/freshclam.conf
#예시
DatabaseDirectory /usr/local/share/clamav
UpdateLogFile /var/log/clamav/freshclam.log
LogSyslog yes
DatabaseOwner qscand
DNSDatabaseInfo current.cvd.clamav.net
DatabaseMirror database.clamav.net
DatabaseMirror db.in.clamav.net
NotifyClamd /usr/local/etc/clamd.conf

저장하고 종료합니다.

freshclam -v
crontab -e
25 1 * * * /usr/local/bin/freshclam -l /var/log/clamav/freshclam.log

SpamAssassin

SpamAssassin은 스팸을 식별하는 메일 필터입니다. 이는 스팸으로 알려진 원치 않는 대량 이메일을 식별하기 위해 다양한 테스트를 사용하는 지능형 이메일 필터입니다. 이러한 테스트는 이메일 헤더 및 내용에 적용되어 이메일을 고급 통계 방법을 사용하여 분류합니다.

SpamAssassin 설치 및 구성

apt-get install spamassassin libdigest-sha1-perl libnet-dns-perl libmail-spf-query-perl libgeo-ip-perl libnet-ident-perl libio-socket-ssl-perl libio-socket-inet6-perl perl-modules
groupadd spamd  
useradd -g spamd -s /bin/false spamd
vi /etc/default/spamassassin
ENABLED=1
OPTIONS=" --user-config --username=spamd --max-children 5 --debug --helper-home-dir=/home/spamd"
vi /etc/mail/spamassassin/local.cf
required_score 5.0
dns_available yes
use_pyzor 1
use_razor2 1
use_bayes 1
bayes_auto_learn 1
bayes_file_mode 0700
include /etc/mail/spamassassin/autowhitelist
bayes_path /etc/mail/spamassassin/.spamassassin/bayes
bayes_auto_learn_threshold_nonspam       0.1
bayes_auto_learn_threshold_spam         12.0
ok_languages en hi
ok_locales en

이제 SpamAssassin을 시작합니다…

/etc/init.d/spamassassin start

이제 몇 가지 플러그인을 추가합니다..

Razor

cd /downloads/  
wget "http://citylan.dl.sourceforge.net/project/razor/razor-agents/2.85/razor-agents-2.85.tar.bz2"  
wget 'http://citylan.dl.sourceforge.net/project/razor/razor-agents-sdk/2.07/razor-agents-sdk-2.07.tar.bz2'
tar xvf razor-agents-sdk-2.07.tar.bz2  
cd razor-agents-sdk-2.07  
perl Makefile.PL  
make  
make test  
make install
cd /downloads/  
tar xvfj razor-agents-2.85.tar.bz2  
cd razor-agents-2.85  
perl Makefile.PL  
make  
make test  
make install

방화벽이 tcp/2703 포트를 허용하는지 확인하십시오.

razor-admin -home=/home/spamd/.razor -create  
razor-admin -home=/home/spamd/.razor -register  
razor-admin -home=/home/spamd/.razor -discover

DCC

cd /downloads/  
wget http://www.rhyolite.com/anti-spam/dcc/source/dcc.tar.Z
tar xvfz dcc.tar.Z  
cd dcc-1.3.120/  
./configure  
make && make install

방화벽이 udp/6277 포트를 허용하는지 확인하십시오.

Pyzor

cd /downloads/  
wget http://space.dl.sourceforge.net/project/pyzor/pyzor/0.5.0/pyzor-0.5.0.tar.gz
tar xvf pyzor-0.5.0.tar.gz  
cd pyzor-0.5.0  
python setup.py build  
python setup.py install  
python -c 'import gdbm' && echo 'gdbm found'

다음 명령을 실행하여 pyzor 설치를 완료합니다.

pyzor --homedir /home/spamd discover
vi /etc/mail/spamassassin/v310.pre
enable the line
loadplugin Mail::SpamAssassin::Plugin::DCC
spamassassin –lint

Qmail-Scanner

cd /downloads/  
wget http://www.qmailrocks.org/downloads/qmail-scanner-1.25.tgz  
wget http://www.qmailrocks.org/downloads/qms-analog-0.4.2.tar.gz  
tar xvfz qmail-scanner-1.25.tgz  
tar zxvf qms-analog-0.4.2.tar.gz
cd qms-analog-0.4.2  
make all  
cp qmail-scanner-1.25-st-qms-20050219.patch ../qmail-scanner-1.25/  
cd ../qmail-scanner-1.25  
patch -p1 < qmail-scanner-1.25-st-qms-20050219.patch
vi qms-config
./configure --domain yourdomain.com \
--admin postmaster \
--local-domains "yourdomain.com" \
--add-dscr-hdrs yes \
--dscr-hdrs-text "X-Antivirus-YOURDOMAIN" \
--ignore-eol-check yes \
--sa-quarantine 0 \
--sa-delete 0 \
--sa-reject no \
--sa-subject ":SPAM:" \
--sa-alt yes \
--sa-debug yes \
--sa-report yes \
--notify "psender,admin" \
--redundant yes \
--unzip yes \
--qms-monitor no \
"$INSTALL"
chmod 755 qms-config  
./qms-config

구성이 올바르면…

./qms-config install
setuidgid qscand /var/qmail/bin/qmail-scanner-queue.pl -z  
setuidgid qscand /var/qmail/bin/qmail-scanner-queue.pl -g
vi /var/qmail/bin/qmail-scanner-queue.pl
msg_size > 500000
chown -R qscand:qscand /var/spool/qmailscan
vi /service/qmail-smtpd/run
QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl" ; export QMAILQUEUE

이제 qmail 서버를 재시작하고 모든 것이 작동하는지 확인하십시오…

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.