The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"clamav + sendmail"
Отправлено lavr, 26-Сен-06 11:55 
>Пасибо,за направление прорабатываю.
>

да, для тех кому сложно - ньюанс:

- clamav-milter от clamav-0.88.4 - сравнивает значение сокета заданное ему в качестве
параметра с тем ЧТО ОН НАШЕЛ в sendmail.cf и если разные, сообщает об этом.

Пример:

- в sendmail.mc описываем milter-фильтер:
...
dnl MILTER for clamav-milter - это комментарий

INPUT_MAIL_FILTER(`clamav', `S=local:/var/run/clamav/clamav-milter.socket,T=S:4m;R:4m')

dnl If we plan to use more then one milter-filter - это комментарий

define(`confINPUT_MAIL_FILTER', `clamav')

Тот сокет что мы задали в INPUT_MAIL_FILTER: local:/var/run/clamav/clamav-milter.socket
ИМЕННО его НУЖНО использовать в параметрах старта clamav-milter, потому как ОН создаст
этот сокет и они ОБА ДОЛЖНЫ использовать ОДИН и ТОТ ЖЕ сокет для взамодействия.
Отсутствие флага F в INPUT_MAIL_FILTER или если он будет пустой:

INPUT_MAIL_FILTER(`clamav', `S=local:/var/run/clamav/clamav-milter.socket,F=,T=S:4m;R:4m')

означает что в случае ЗАТЫКА MILTER'а, почта будет обрабатываться ДАЛЬШЕ sendmail'ом
без участия MILTER.
Если мы собираемя использовать НЕСКОЛЬКО фильтров, то правильно будет задать:

define(`confINPUT_MAIL_FILTER', `clamav') - и затем добавлять последующие фильтры которые
будем подключать через INPUT_MAIL_FILTER.
Понятно что проверка НА ВИРУС должна быть ПОСЛЕДНЕЙ, те после разных GREYLIST, SPF, SPAM,
те когда данные УДОВЛЕТВОРИЛИ нашим проверкам:

dnl greylist - first, clamav - second
define(`confINPUT_MAIL_FILTER', `greylist, clamav')
dnl GreyList
INPUT_MAIL_FILTER(`greylist',`S=local:/var/milter-greylist/milter-greylist.sock')
define(`confMILTER_MACROS_CONNECT', `j, {if_addr}')
define(`confMILTER_MACROS_HELO', `{verify}, {cert_subject}')
define(`confMILTER_MACROS_ENVFROM', `i, {auth_authen}')
dnl Clamav
INPUT_MAIL_FILTER(`clamav', `S=local:/var/run/clamav/clamav-milter.socket,F=,T=S:4m;R:4m')

Ну и для проверки ручной старт clamav-milter:

# clamav-milter --config-file=/etc/clamd.conf --external --max-children=50 --force-scan --postmaster-only --dont-wait --dont-log-clean --noreject local:/var/run/clamav/clamav-milter.socket

прим.: быть осторожным с оЧепятками в написании опций в man clamav-milter
и/или clamav-milter --help

некоторые важные опции:

--external - если есть, то clamav-milter будет передавать данные на проверку
             демону clamd (наиболее надежный вариант)

--local - сканировать почту посланную с машин локальной сети
--outgoing - сканировать почту отправленную с локальной машины

--force-scan замена верхним двум - сканировать ВСЮ почту

--bounce - отправлять уведомления отправителю и получателю о вирусе,
           строго НЕрекомендую
--postmaster-only - отправлять уведомления только на postmaster, использую на момент
отладки, затем --quiet
--quiet - НИКАКИХ уведомлений, игнорируются --bounce и другие
--max-children - максимальное кол-во одновременных сканов
--dont-wait - сказать удаленному MTA НЕ ЖДАТЬ завершения max-children,
              а повторить отправку позже

Если не задан параметр --external - провеку будет осуществлять clamav-milter, а у него
с этим бывали большие проблемы, --noreject - молча сглатывает почту с ВИРУСАМИ и
тихо грохает ее если не задан карантин (по мне нафик он не нужен) и используется --quiet
Если хотите удаленному MTA выдавать REJECT'ы 550/554 - УБЕРИТЕ ключ --noreject
Вроде самое важное расписал, остальное НА ВКУС и ЦВЕТ.
Да, последний ньюанс, если clamav-milter сообщает: clamd.log permission denied
при использовании clamd и clamav-milter с User clamav - простой сделайте:

# остановите clamd
# chown clamav /path/clamd.log
# срьщв 644 /path/clamd.log
# запустите clamd

теперь при запуске clamav-milter все будет ok

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру