Я управляю сервером Debian Squeeze, который использует Exim в качестве MTA и запускает несколько списков рассылки с помощью Mailman. Я хочу настроить ClamAV для блокировки вирусов, которые могут быть размещены в списке. У меня проблемы с поиском документации в Интернете о том, как интегрировать ClamAV с Exim и Mailman (и какая конфигурация выполняется автоматически с помощью сценариев установки Debian).
Что нужно сделать помимо установки соответствующих пакетов, чтобы ClamAV работал со списками Exim и Mailman?
Чтобы использовать clamav в Debian squeeze, вам нужно начать с установки exim4-daemon-heavy
пакет вместо значения по умолчанию exim4-daemon-light
версии, тяжелый демон был скомпилирован с большей функциональностью, включая возможность линковки в clamav. Просто сделай apt-get install exim4-daemon-heavy
, это не сильно изменится, и запускать его довольно безопасно.
После того, как вы включили это, вам нужно сделать небольшую настройку. Я предполагаю, что вы используете разделенные конфигурации, в противном случае вам придется перевести приведенное ниже в правильное место в объединенном файле конфигурации.
Я обычно создаю файл /etc/exim4/conf.d/main/04_exim4-config_filter
это выглядит так.
# socket for clamd
av_scanner = clamd:/var/run/clamav/clamd.ctl
Затем я раскомментирую конфигурацию вредоносного ПО в вашем /etc/exim4/conf.d/acl/40_exim4-config_check_data
файл.
# Deny if the message contains malware. Before enabling this check, you
# must install a virus scanner and set the av_scanner option in the
# main configuration.
#
# exim4-daemon-heavy must be used for this section to work.
#
deny
malware = *
message = This message was detected as possible malware ($malware_name).
Вы также можете заблокировать определенные типы вложений.
Обычно я создаю файл acl для проверки расширений mime. /etc/exim4/conf.d/acl/50_exim4-config_check_mime
# This access control list is used for every MIME part in a an incoming
# SMTP message.
#
acl_check_mime:
# Decode MIME parts to disk. This will support virus scanners later.
warn decode = default
# File extension filtering.
deny message = This file extension has been blacklisted and is not allowed \
through our email system. Send an email to helpdesk@example.org if \
you have received this message in error.
condition = ${if match \
{${lc:$mime_filename}} \
{\N(\.ade|\.adpx|\.app|\.bas|\.bat|\.chm|\.cmd|\.com|\.cpl|\
\.crt|\.exe|\.fxp|\.hlp|\.hta|\.inf|\.ins|\.isp|\
\.js|\.jse|\.lnk|\.mda|\.mdb|\.mde|\.mdt|\.mdw|\.mdz|\
\.msc|\.msi|\.msp|\.mst|\.ops|\.pcd|\.pif|\.prf|\.prg|\
\.reg|\.scf|\.scr|\.sct|\.shb|\.shs|\.url|\.vb|\.vbe|\
\.vbs|\.wsc|\.wsf|\.wsh|\.xsl)$\N} \
{1}{0}}
Чтобы включить этот acl, вам нужно добавить несколько строк в свой /etc/exim4/conf.d/main/02_exim4-config_options
файл.
# Defines the access control list that is run when an
# SMTP DATA command is received.
#
.ifndef MAIN_ACL_CHECK_MIME
MAIN_ACL_CHECK_MIME = acl_check_mime
.endif
acl_smtp_mime = MAIN_ACL_CHECK_MIME