Postfix clamav-milter [solved]

Решил тут на днях опробовать связку Postfix clamav-milter.
Постфикс пока что настроен на пересылку всего на корпоративный майлсервак, в принципе в таком режиме и останется.

Далее при помощи строк в main.cf подключил clamav-milter

smtpd_milters = unix:/var/run/clamav/clmilter.sock
milter_default_action = reject

Сразу натолкнулся на права доступа на файл сокета.

srwxr-xr-x 1 clamav clamav 0 Окт 9 09:21 clmilter.sock

Через конфиги отрулить не удалось, чето не нашел соответсвующихз параметров. Народ советует рихтовать инит скрипт, мне сие не нравится в принципе ибо до первого апдейта, потому попробую потом через acl. Пока что руками сменил группу на постфикс и добавил права группе на запись. Постфикс перестал ругаццо в логах на права доступа к сокету.

В нете нашел тестовый вирус eicar.com. Кламав его отлавливает на ура. Написал себе любимому письмо с еикаром и отправил через сию сборку. Письмо удачно доставлено абоненту, по логам постфикса видно что именно через него. Никаких сообщений от кламав. Создается впечатление что фильтр на работает.

В связи с этим два вопроса:
1) Можно ли стандартным образом как нить настроить clamav-milter чтобы он сокет делал с нужными правами?
2) Что нужно сделать чтоб постфикс проверял почту, которую собирается переслать на другой сервак?

Про сокет - думать надо, а думать лень :)))

Про сокет - думать надо, потом.

Относительно прочего:
Совет про правку стартового скрипта правилен. Ты просто пропиши его потом в CONFIG_PROTECT и будет тебе счастье.

Далее: всё правильно. Насколько я знаю умолчательную конфигурацию, clamav не проверяет локальные и исходящие письма.

Я (правда с sendmail'ом и на FreeBSD, но это - не относящаяся к сути вопроса лирика) стартую clamav-milter со следующими опциями:
--quiet --noreject --local --outgoing --timeout=0 --max-children=50
Умолчательный набор заметно отличался (могу поискать, если тебе интересно).

--
Live free or die

>>Совет про

>>Совет про правку стартового скрипта правилен.

Права отрулил через acl. Все равно включен.

>>clamav не проверяет локальные и исходящие письма

Насчет умолчаний спасибо. Такое поведение для антивиря несколько удивляет. Впрочем чего еще ожидать от никсов, тут бояццо вирусов вроде как некошерно. Выставил -f, после чего постфикс начал рубить все с плеча.

wi пишет: В

wi написал(а):
В связи с этим два вопроса:
1) Можно ли стандартным образом как нить настроить clamav-milter чтобы он сокет делал с нужными правами?

ЕМНИП права на создаваемый сокет задаются в стартовом скрипте.
В конфигах, сцуко, (если ты был достаточно внимателен, то должен был бы обратить внимание на тот факт, что у clamav-milter'а персонального конфига нет) не упоминается.

wi написал(а):
2) Что нужно сделать чтоб постфикс проверял почту, которую собирается переслать на другой сервак?

Единственно (!!! :))) ) правильный набор параметров запуска clamav-milter'а смотри в моём предыдущем комментарии ;)

ЗЫ: И ещё про нежелание править конфиги: как мне в Gentoo без правки скрипта startx запустить на моём локальном Х-сервере графическое приложение (хотя бы банальный и нелюбимый мною xterm) с удалённого Unix-хоста?

--
Live free or die

>>ЕМНИП права на

>>ЕМНИП права на создаваемый сокет задаются в стартовом скрипте.

Место, ге он сие творит не нашел. Впрочем теперь и не нужно.

>>В конфигах, сцуко, (если ты был достаточно внимателен, то должен был бы обратить внимание на тот факт, что у clamav-milter'а персонального конфига нет) не упоминается.

По ходу я забыл инглиш. Это не конфиг?
-c FILE, --config-file=FILE
By default clamav-milter uses a default configuration file, this option allows you to specify another
one.

В отднм из толксов советовали в конфиге мильтера User поменять на postfix. Причем ссылались на отсутсвующий в моем дистре конфиг. Я его очень дооолго искал :)). Надо как нить попробовать отрулить права через User

>>ЗЫ: И ещё про нежелание править конфиги....

Каждый дистр имеет некоторые правила поведения со скриптами инициализации. Этим правилам стоит следовать, чтобы дистр был похож на тот,что описан в стандартной документации. Правка /etc/init.d/ нестандартное решение, acl однозначно не апдейтится при обновлении пакета.

По поводу startx мало могу сказать, ибо в вашем варианте я его не использую. Вроде как это обертка под xinit, и должен понимать .xinitrc и .xserverrc

.

wi написал(а):
>>ЕМНИП права на создаваемый сокет задаются в стартовом скрипте.

Место, ге он сие творит не нашел. Впрочем теперь и не нужно.

Интересно...

Тебя не затруднит процитировать стартовый скрипт и описать своё решение задачи с правами на сокет?

wi написал(а):
>>В конфигах, сцуко, (если ты был достаточно внимателен, то должен был бы обратить внимание на тот факт, что у clamav-milter'а персонального конфига нет) не упоминается.

По ходу я забыл инглиш. Это не конфиг?

Ты был просто невнимателен.
Я говорил про выделенный персональный конфиг milter'а.

wi написал(а):
В отднм из толксов советовали в конфиге мильтера User поменять на postfix. Причем ссылались на отсутсвующий в моем дистре конфиг. Я его очень дооолго искал :)). Надо как нить попробовать отрулить права через User

У тебя нет clamd.conf (параметры проверки и прочее при работе в standalone-режиме ClamAV Milter берёт оттуда)???
Могу прислать/процитировать.
Правда, по наблюдаемому мной в FreeBSD от такого режима отошли (и я даже догадываюсь почему); используют связку ClamAV Milter + Clamd.

wi написал(а):
>>ЗЫ: И ещё про нежелание править конфиги....

Каждый дистр имеет некоторые правила поведения со скриптами инициализации.

Строго говоря, правка скриптов инициализации не есть хорошо в любом случае...

wi написал(а):
Этим правилам стоит следовать, чтобы дистр был похож на тот,что описан в стандартной документации. Правка /etc/init.d/ нестандартное решение, acl однозначно не апдейтится при обновлении пакета.

Обновление мира имеет свойство пытаться переписать много чего такого, чего переписывать низзя.

wi написал(а):
По поводу startx мало могу сказать, ибо в вашем варианте я его не использую. Вроде как это обертка под xinit, и должен понимать .xinitrc и .xserverrc

Это я к тому, что там вигурирует такая многообещающая опция, как -nolisten_tcp.
И без правки скрипта от неё вряд ли избавишься.

А сервер должен работать на полную катушку! :)

--
Live free or die

>>Интересно... >>Т

>>Интересно...
>>Тебя не затруднит процитировать стартовый скрипт и описать своё решение задачи с правами на сокет?

Задачу решил таки частично при помощи acl. Полностью через acl не вышло, похоже postfix не держит acl при обращении к сокету (БАГ!?).
В противном случае можно было бы добавить постфиксу дефаулт права на каталог.

Изначально так:
fs / # cd /var/run
fs run #
fs run # ls -lh |grep clamav
drwxr-xr-x 2 clamav clamav 224 Окт 10 14:07 clamav

Плюс к тому сокеты кламав кламав гшруппе на запись токо владельцу.Ессно нас это не устраивает, потому

fs run # setfacl -m g:postfix:rwx clamav
fs run # ls -lh |grep clamav
drwxrwxr-x+ 2 clamav clamav 224 Окт 10 14:07 clamav

Пришлось поправить файл и добавить clamav-milter отдельный конфиг. Параметры выглядят так:
fs run # grep MILTER /etc/conf.d/clamd
START_MILTER=yes
MILTER_NICELEVEL=19
MILTER_SOCKET="/var/run/clamav/clmilter.sock"
MILTER_OPTS="-c /etc/clmilter.conf -m 50 --timeout=0 -f -N"
Ну и собсно его создать.
fs run # echo User postfix > /etc/clmilter.conf

После запуска кламд
fs run # ls -lh clamav/
итого 8,0K
-rw-rw---- 1 clamav clamav 5 Окт 10 14:07 clamd.pid
srwxrwxrwx 1 clamav clamav 0 Окт 10 14:07 clamd.sock
srwxr-xr-x 1 postfix postfix 0 Окт 10 14:07 clmilter.sock
-rw-rw---- 1 clamav clamav 5 Окт 10 14:07 freshclam.pid

В общем все.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".