вверх

Установка и настройка clamav

Для проверки e-mail на счет всяких там вирусов, используем бесплатный антивирусный пакет clamav. Так же понадобится программа-посредник clamsmtp. Берем первую здесь: http://www.clamav.net/ а вторую здесь: http://memberwebs.com/stef/software/clamsmtp/ Сам clamav ставлю из исходников, хотя сейчас во всех дистрибутивах он есть в виде пакетов, но сборка пакетов порой затягивается. А из исходников завсегда можно пересобрать самую последнюю версию. Итак, начинаем сборку:

[root@fido src]# tar -xhvzf clamav-0.93.1.tar.gz
[root@fido src]# cd clamav-0.93.1
[root@fido src]# ./configure CFLAGS="-O0"
[root@fido src]#  make install
[root@fido bin]# cp /home/admin/distrib/src/clamav-0.93.1/etc/clamd.conf /usr/local/etc/
[root@fido bin]# vim /usr/local/etc/clamd.conf

Важно! Комментируем токен Example

LogFile /var/log/clamav/clamd.log
PidFile /var/run/clamav/clamd.pid
TemporaryDirectory /var/tmp
DatabaseDirectory /var/lib/clamav
LocalSocket /tmp/clamd.socket
User clamav

[root@bgp-mailserv ~]# ls -l /var/log/ | grep clamav
drwxr-xr-x  2 clamav  clamav     4096 Сен 11  2007 clamav
[root@bgp-mailserv ~]# ls -l /var/lib/ | grep clamav
drwxr-xr-x   3 clamav    clamav   4096 Июн 14 17:00 clamav
[root@bgp-mailserv ~]# ls -l /tmp/clamd.socket
srwxrwxrwx  1 clamav clamav 0 Июн 14 16:22 /tmp/clamd.socket

[root@fido bin]# cp /home/admin/distrib/src/clamav-0.93.1/etc/freshclam.conf /usr/local/etc/
[root@fido bin]# vim /usr/local/etc/freshclam.conf 

Важно! Комментируем токен Example

DatabaseDirectory /var/lib/clamav
UpdateLogFile /var/log/clamav/freshclam.log
DatabaseOwner clamav
DatabaseMirror database.clamav.net
HTTPProxyServer bgp.b-domolink.net
HTTPProxyPort 3128

[root@fido bin]# freshclam
[root@fido bin]# /usr/local/sbin/clamd

[root@fido clamsmtp-1.9]# tar -xhzf clamsmtp-1.9.tar.gz
[root@fido clamsmtp-1.9]# cd clamsmtp-1.9
[root@fido clamsmtp-1.9]# ./configure
[root@fido clamsmtp-1.9]# make
[root@fido clamsmtp-1.9]# make install
[root@fido clamsmtp-1.9]# cp /home/admin/distrib/src/clamsmtp-1.9/doc/clamsmtpd.conf /usr/local/etc/clamsmtpd.conf
[root@fido clamsmtp-1.9]# vim /usr/local/etc/clamsmtpd.conf

OutAddress: 10026
Listen: 0.0.0.0:10025
ClamAddress: /tmp/clamd.socket
TempDirectory: /tmp
User: clamav

В файл main.cf необходимо добавить две строчки:

content_filter = scan:127.0.0.1:10025
receive_override_options = no_address_mappings

Первая говорит postfix'у о том, что необходимо пересылать всю почту через сервис (фильтр) 'scan' на 10025-ый порт, который, как раз, открыт clamsmtpd. Вторая строчка говорит о том, чтобы postfix не делал никаких манипуляций с адресами до того, как они дойдут до content_filter. Так что получается, что фильтр работает с реальными почтовыми адресами, а не с результатами перевода в виртуальные псевдонимы, маскарадингом и т.п.

В файл master.cf необходимо добавить следующие строки:

# Подключаем clamav
# AV scan filter (used by content_filter)
scan      unix  -       -       n       -       16      smtp
        -o smtp_send_xforward_command=yes

# For injecting mail back into postfix from the filter
127.0.0.1:10026 inet  n -       n       -       16      smtpd
        -o content_filter=
        -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
        -o smtpd_helo_restrictions=
        -o smtpd_client_restrictions=
        -o smtpd_sender_restrictions=
        -o smtpd_recipient_restrictions=permit_mynetworks,reject
        -o mynetworks_style=host
        -o smtpd_authorized_xforward_hosts=127.0.0.0/8

Примечание: вокруг знака '=' пробелы не ставить. Значение 127.0.0.1:10026 открывает 10026-порт для возвращения почты обратно от clamsmtpd. Остальные значения см. в соответствующем мануале. Вот, собственно, и все.

Hosted by uCoz