Безопасность · 4 min read · Nov 27, 2025
Как бороться с вирусами, используя вашу конфигурацию Postfix
Как бороться с вирусами, используя вашу конфигурацию Postfix
В этом руководстве вы узнаете, как настроить руководство по почте HowtoForge для Postfix (+Auth SMTP + Quota), https://www.howtoforge.com/virtual_postfix_mysql_quota_courier, чтобы обеспечить лучшую защиту от вирусов. К сожалению, это всегда имеет свою цену, как вы увидите позже….
Руководство Falko HowtoForge является отличным стартом для стандартной установки Postfix, но если вы хотите достичь уровня антивируса для бизнеса, нам нужно сделать несколько небольших шагов, чтобы уменьшить вероятность того, что последнее великое изобретение скрипт-кидов пройдет.
В руководстве Postfix Amavis и ClamAV устанавливаются из стабильной версии Debian. Debian Sarge слишком стар. Попробовав новую версию Amavis-new 2.4.2, я заметил, что она значительно изменилась в пакете Debian, где /etc/amavis/amavisd.conf был полностью заменен, поэтому мы оставим amavis-new в покое и просто оставим его из стабильной версии Debian sarge. Однако ClamAV немного устарел, поэтому мы возьмем свежую копию из testing.
Отредактируйте /etc/apt/sources.list и измените ваши источники Debian на testing:
vi /etc/apt/sources.listdeb ftp://ftp.uk.debian.org/debian/ testing mainapt-get updateapt-get install clamav clamav-daemonНе забудьте вернуть ваши источники Debian обратно на stable после этого:
Отредактируйте /etc/apt/sources.list:
vi /etc/apt/sources.listdeb ftp://ftp.uk.debian.org/debian/ stable mainapt-get updateЭто обновляет движок Clamav до 0.88 и должно предложить лучшую детекцию вирусов. Возможно, взять Clamav до последнего релиза, используя ветку Volatile Debian, но у меня были несколько плохих опытов, поэтому лучше проявить осторожность.
Далее мы хотим увеличить количество вирусных сканеров, которые Amavis вызывает после того, как Postfix передает почту Amavis. Это руководство будет рассматривать настройку 2.
F-Prot - Бесплатно для личного использования и поставляется с удобным установщиком Debian.
cd /usr/srcwget http://http.us.debian.org/debian/pool/contrib/f/f-prot-installer/f-prot-installer_0.5.22_i386.debapt-get install libwww-perl liburi-perl libhtml-parser-perl libhtml-tree-perl libhtml-tagset-perldpkg i f-prot-installer_0.5.22_i386.debСледуйте инструкциям установщика на экране, который скачает последнюю дистрибуцию F-Prot, пока вы ждете.
В отличие от Clamav, который использует Freshclam, F-Prot не использует демонизированную программу для поддержания себя в актуальном состоянии, вместо этого нам нужно включить программу обновления через cron Debian.
Отредактируйте /etc/cron.d/f-prot-installer и раскомментируйте 2 строки cronjob для обновлений вирусов и программы:
vi /etc/cron.d/f-prot-installer27 4,16 * * * root if [ -x /usr/lib/f-prot/tools/check-updates ]; then /usr/lib/f-prot/tools/check-updates -cron; fi
#
# Раскомментируйте, чтобы проверять новую версию программы раз в неделю
#
00 12 * * 1 root if [ -x /usr/sbin/update-f-prot ]; then /usr/sbin/update-f-prot -i; fi Наконец, мы хотим включить F-prot в нашу конфигурацию Amavis, поэтому отредактируйте /etc/amavis/amavisd.conf и найдите @av_scanners. Мы хотим добавить новый сканер в этот массив, чтобы он выглядел примерно так после редактирования:
vi /etc/amavis/amavisd.conf@av_scanners = (
### http://www.clamav.net/
['Clam Antivirus-clamd',
\&ask_daemon, ["CONTSCAN {}
", "/var/run/clamav/clamd.ctl"],
qr/\bOK$/, qr/\bFOUND$/,
qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],
# ЗАМЕТКА: запускайте clamd под тем же пользователем, что и amavisd; сопоставьте имя сокета (LocalSocket) в clamav.conf с именем сокета в этой записи
# При запуске в chroot может быть предпочтительнее: ["CONTSCAN {}
","$MYHOME/clamd"],
### F-Prot http://www.f-prot.com
['FRISK F-Prot Antivirus', ['f-prot','/usr/lib/f-prot/f-prot.sh'],
'-dumb -archive -packed {}', [0,8], [3,6],
qr/Infection: (.+)|\s+contains\s+(.+)$/ ],
);Наконец, перезапустите Amavis, чтобы изменения вступили в силу:
/etc/init.d/amavis restart Двигаясь дальше, теперь мы собираемся включить McAfee UVScan - к сожалению, это не бесплатно для общего использования, и вам нужно купить лицензию, чтобы использовать ее более чем в течение пробного периода.
cd /usr/srcwget http://download.nai.com/products/evaluation/virusscan/english/cmdline/linux/v5.10/vlp4510e.tar.Ztar zxvf vlp4510e.tar.Z./install-uvscanПримите все настройки по умолчанию, кроме того, чтобы избежать длительного полного сканирования файловой системы в конце процедуры установки. На этом этапе, если у вас есть лицензия, вы можете вставить ее в директорию программы, обычно установленную в /usr/local/uvscan.
Далее мы получаем обновление NAI с http://www.brijn.nu/Programming/ (похоже, McAfee не хочет распространять его)
cd /usr/srcwget http://www.brijn.nu/Programming/nai/naiupdt-0.5.tar.gztar zxvf naiupdt-0.5.tar.gz./naiupdt.plСледующим шагом является размещение обновления в системном cron, чтобы оно запускалось как минимум раз в день, отредактируйте /etc/crontab:
vi /etc/crontab15 8,15 * * * root /usr/src/naiupdt-0.5/naiupdt.pl >> /dev/nullТеперь нам нужно отредактировать конфигурацию Amavis и добавить UVScan в смесь, поэтому отредактируйте /etc/amavis/amavisd.conf и снова найдите @av_scanners и измените массив в файле так, чтобы он выглядел примерно так для всех 3 AV сканеров:
@av_scanners = (
### http://www.clamav.net/
['Clam Antivirus-clamd',
\&ask_daemon, ["CONTSCAN {}
", "/var/run/clamav/clamd.ctl"],
qr/\bOK$/, qr/\bFOUND$/,
qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],
# ЗАМЕТКА: запускайте clamd под тем же пользователем, что и amavisd; сопоставьте имя сокета (LocalSocket) в clamav.conf с именем сокета в этой записи
# При запуске в chroot может быть предпочтительнее: ["CONTSCAN {}
","$MYHOME/clamd"],
### http://www.nai.com/
['NAI McAfee AntiVirus (uvscan)', '/usr/local/uvscan/uvscan',
'--secure -rv --mime --summary --noboot - {}', [0], [13],
qr/(?x) Found (?:
\ the\ (.+)\ (?:virus|trojan) |
\ (?:virus|trojan)\ or\ variant\ ([^ ]+) |
:\ (.+)\ NOT\ a\ virus)/,
],
### F-Prot http://www.f-prot.com
['FRISK F-Prot Antivirus', ['f-prot','/usr/lib/f-prot/f-prot.sh'],
'-dumb -archive -packed {}', [0,8], [3,6],
qr/Infection: (.+)|\s+contains\s+(.+)$/ ],
);Перезапустите Amavis, чтобы изменения вступили в силу:
/etc/init.d/amavis restartНаконец, отправьте немного почты через вашу систему, чтобы проверить, что все работает, и проверьте журнал Amavis, обязательно включите ведение журнала в конфигурации Amavis, если вы еще этого не сделали, и вы должны увидеть что-то вроде этого:
Sep 7 23:29:57 domain.net amavisd-new[11023]: (11023-08) TIMING [total 617 ms] - SMTP EHLO: 1 (0%), SMTP pre-MAIL: 0 (0%), SMTP pre-DATA-flush: 1 (0%), SMTP DA
TA: 39 (6%), body hash: 0 (0%), lookup_sql: 1 (0%), mime_decode: 8 (1%), get-file-type: 8 (1%), get-file-type: 7 (1%), decompose_part: 1 (0%), decompose_part: 0 (0%),
parts: 0 (0%), AV-scan-1: 4 (1%), AV-scan-2: 323 (52%), AV-scan-3: 171 (28%), fwd-connect: 4 (1%), fwd-mail-from: 0 (0%), fwd-rcpt-to: 2 (0%), write-header: 2 (0%), fw
d-data: 0 (0%), fwd-data-end: 41 (7%), fwd-rundown: 1 (0%), unlink-2-files: 2 (0%), rundown: 0 (0%)Вы заметите, что происходит 3 AV-сканирования, и это дает приблизительный процент того, сколько времени занял каждый процесс. Судя по моим тестам, Clam (AV-scan-1) является самым быстрым, за ним следует F-Prot (AV-scan-3), а UVScan (AV-scan-2) отстает на третьем месте. Очевидно, если вы заметите, что ваша почтовая система сильно нагружена из-за установленного количества сканеров, все, что вам нужно сделать, это отключить их в конфигурационном файле amavis.
Get new posts in your inbox
No spam. Unsubscribe anytime.