Главная > Программы > Postfix Установка бесплатного антивируса ClamAV + clamsmtpd + Postfix под Linux
По мотивам статьи: clamav_postfix ClamAV - это бесплатный антивирус, распространяемый по лицензии GPL. В этой статье я расскажу о
том, как прикрутить антивирус ClamAV к почтовой системе postfix. Пакеты для установкиclamav-*.rpm, clamav-db*.rpm, clamd*.rpm и все остальные, которые предложит инсталлятор.НастройкаПрограмма антивирусаПосле установки в директории /etc появится файл конфигурации clamd.conf. # service clamd start.И также поместить его в автозагрузку (в консоли запустить drakxconf, зайти в раздел "службы" и отметить звёздочкой сервис clamd). Программа обновления базДля обновления антивирусных баз используется демон freshclam, которая
входит в состав пакета clamav. checks = 2С установкой и настройкой clamav все. clamsmtpdКачаем последний релиз clamsmtp со страницы http://memberwebs.com/nielsen/software/clamsmtp/В моем случае это clamsmtp-1.8.tar.gz # cp clamsmtp-1.8.tar.gz /usr/local/src # cd /usr/local/src # tar -xvzf clamsmtp-1.8.tar.gz # cd clamsmtp-1.8 # ./configure --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/libexec --datadir=/usr/share \ --sysconfdir=/etc --libdir=/usr/lib --mandir=/usr/share/man # make # make install # cp /usr/local/src/clamsmtp-1.8/doc/clamsmtpd.conf /etc/clamsmtpd.conf После этого копируем пример конфигурационного файла clamsmtpd.conf из директории с исходниками (находится в
подкаталоге doc/)в директорию /etc (именно в этой директории clamsmtpd будет искать свой конфигурационный файл). # cat /etc/clamsmtpd.conf OutAddress: 10026 Listen: 0.0.0.0:10025 ClamAddress: /var/lib/clamav/clamd.socket TempDirectory: /tmp User: clamav На самом деле, параметров в этом файле может быть больше, но я указал лишь необходимые. #!/bin/sh ########################################################################### # CONFIGURATION # Most configuration options are found in the clamsmtpd.conf file. # For more info see: # man clamsmtpd.conf # chkconfig: 345 17 90 # description: This startup script launches the courier imap daemon ### BEGIN INIT INFO # Provides: clamsmtpd # Required-Start: courier-authdaemon # Required-Start: $network # Required-Stop: $network # Default-Start: 345 # Short-Description: clamsmtpd daemon # Description: This startup script launches the clamsmtpd daemon ### END INIT INFO # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # The prefix clamsmtpd was installed to prefix=/usr # The location for pid file piddir=/var/run/clamav NAME=clamsmtpd ########################################################################### # SCRIPT case $1 in start) mkdir -p $piddir $prefix/sbin/clamsmtpd -p $piddir/clamsmtpd.pid echo -n "clamsmtpd " ;; stop) [ -f $piddir/clamsmtpd.pid ] && kill `cat $piddir/clamsmtpd.pid` echo -n "clamsmtpd " ;; *) echo "usage: clamsmptd.sh {start|stop}" >&2 ;; esacДалее # chmod 740 /etc/init.d/clamsmtpd # chgrp adm /etc/init.d/clamsmtpd Таким образом clamsmtpd будет открывать 10025-ый порт, на который postfix будет как бы отсылать почту для проверки антивирусом (соответствующая настройка будет описана ниже), а затем, после проверки, clamsmtpd будет возвращать её обратно postfix'у на порт 10026. Добавление сервисов в автозапускИ с помощью утилиты drakxkonf добавляем сервисы ckamav, frecsclam, clamd и clamsmtpd для запуска.ТестированиеДля проверки работоспособности будем использовать EICAR строку. Создаем файл virus.com со следующим содержанием:X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*Сохраняем его и выполняем # clamscan virus.com virus.com: Eicar-Test-Signature FOUND ----------- SCAN SUMMARY ----------- Known viruses: 30736 Scanned directories: 0 Scanned files: 1 Infected files: 1 Data scanned: 0.00 MB I/O buffer size: 131072 bytes Time: 1.356 sec (0 m 1 s)Если вы видите что то подобное, значит все прошло успешно и ClamAV благополучно установлен на вашем компьютере. Настройка postfixСаму установку и настройку postfix я описывать не буду, т.к. существует множество статей в интернете, описывающих этот процесс подробно и, к тому же, на русском. Опишу лишь те опции, которые отвечают за привязку антивируса к почтовой системе. main.cfВ файл main.cf необходимо добавить две строчки:content_filter = scan:127.0.0.1:10025 receive_override_options = no_address_mappings Первая говорит postfix'у о том, что необходимо пересылать всю почту через сервис (фильтр) 'scan'
на 10025-ый порт, который, как раз, открыт clamsmtpd. master.cfВ файл master.cf необходимо добавить следующие строки:# AV scan filter (used by content_filter) scan unix - - n - 16 smtp -o smtp_send_xforward_command=yes # -o smtp_enforce_tls=no Закоментированная строка взята из [http://www.opennet.ru/openforum/vsluhforumID1/64265.html форума], где обсуждалась
проблема подвисания clamAV при сканировании больших файлов. 127.0.0.1:10026 inet n - n - - smtpd -o content_filter= -o smtpd_restriction_classes= -o smtpd_client_restrictions=permit_mynetworks,reject -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_end_of_data_restrictions= -o smtpd_etrn_restrictions= -o smtpd_data_restrictions= -o smtpd_delay_reject=no -o smtpd_recipient_restrictions=permit_mynetworks,reject -o mynetworks=127.0.0.0/8 -o smtpd_authorized_xforward_hosts=127.0.0.0/8 -o strict_rfc821_envelopes=yes -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000 -o receive_override_options=no_unknown_recipient_checks,no_header_body_checksПримечание: вокруг знака '=' пробелы не ставить. Значение 127.0.0.1:10026 открывает 10026-порт для возвращения почты обратно от clamsmtpd. Остальные значения см. в соответствующем мануале. Материал взят с сайта: http://www.yekt.info/clamav_antivirus_postfix.html Главная > Программы > Postfix |