Настройка сервера · 4 min read · Nov 12, 2025
Qmail-Scanner с ClamAV и SpamAssassin на Ubuntu
Qmail-Scanner с ClamAV и SpamAssassin на Ubuntu
В продолжение моего документа https://www.howtoforge.com/qmail-openldap-on-ubuntu о настройке qmail-ldap на Ubuntu, этот документ поможет вам настроить Qmail-Scanner с антивирусом ClamAV и фильтром спама SpamAssassin для вашего сервера qmail.
Введение
Qmail-Scanner — это дополнение, которое позволяет серверу электронной почты Qmail сканировать электронные письма на наличие определенных характеристик. Обычно оно используется для функций защиты от вирусов и спама, в этом случае оно используется в сочетании с внешними сканерами. Оно также позволяет сайту (на уровне сервера/сайта) создавать “Политические блоки”: т.е. реагировать на электронные письма, содержащие определенные строки в конкретных заголовках, или конкретные имена файлов или типы вложений (например, вложения *.EXE даже в zip-файле).
Его архивные функции помогают интернет-провайдерам и корпорациям по всему миру с новыми или ожидающими законодательными и регуляторными требованиями. Он может архивировать все обработанные электронные письма в архивный maildir. Это идеально подходит для резервного копирования по причинам аудита политики. В отличие от некоторых решений на базе Windows, заголовки почтового конверта (заголовки “rcpt to:” и “mail from:”) остаются нетронутыми - добавляются в конец каждого сообщения - подтверждая истинные адреса отправителя и получателя. Архивирование также поддерживает фильтрацию по подмножеству адресов (например, архивировать только письма “[email protected]” вместо всех).
Мы свяжем spamassassin и clamav с qmailsacnner. Spamassassin — это фильтр электронной почты с открытым исходным кодом, написанный на Perl, для идентификации спама с использованием широкого спектра эвристических тестов на заголовках и тексте письма. Он также может использовать некоторые полезные плагины, такие как Pyzor, Razor и DCC. Clamav будет сканировать сообщения электронной почты на наличие вирусов.
Установка
Мы установим и настроим Qmail-Scanner, ClamAV и SpamAssassin с плагинами Pyzor, Razor и DCC.
Clam Antivirus
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 -vcrontab -e25 1 * * * /usr/local/bin/freshclam -l /var/log/clamav/freshclam.logSpamAssassin
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-modulesgroupadd spamd
useradd -g spamd -s /bin/false spamdvi /etc/default/spamassassinENABLED=1
OPTIONS=" --user-config --username=spamd --max-children 5 --debug --helper-home-dir=/home/spamd"vi /etc/mail/spamassassin/local.cfrequired_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 installcd /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 -discoverDCC
cd /downloads/
wget http://www.rhyolite.com/anti-spam/dcc/source/dcc.tar.Ztar 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.gztar 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 discovervi /etc/mail/spamassassin/v310.preвключите строку
loadplugin Mail::SpamAssassin::Plugin::DCCspamassassin –lintQmail-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.gzcd 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.patchvi 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 installsetuidgid qscand /var/qmail/bin/qmail-scanner-queue.pl -z
setuidgid qscand /var/qmail/bin/qmail-scanner-queue.pl -gvi /var/qmail/bin/qmail-scanner-queue.plmsg_size > 500000chown -R qscand:qscand /var/spool/qmailscanvi /service/qmail-smtpd/runQMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl" ; export QMAILQUEUEТеперь перезапустите ваш сервер qmail и проверьте, работает ли все…
Get new posts in your inbox
No spam. Unsubscribe anytime.