URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 51560
[ Назад ]

Исходное сообщение
"Clamav без Amavis"

Отправлено Skif , 14-Дек-04 11:21 
Есть огромное желание прикрутить clamav без amavis-a к postfix-у.
Для сего прочитался:

skif@merlin /usr/local/etc/postfix :less /usr/local/share/doc/postfix/FILTER_README

Наваялся согласно сего скрипт следующего содержания:

#!/bin/sh
INSPECT_DIR=/tmp #Каталог куда будут сохраняться письма для сканирования
SENDMAIL="/usr/local/sbin/sendmail -i"
VIRUSADMIN="virusalert@owe.com.ua" # адрес для уведомлениий

EX_TEMPFAIL=75
EX_UNAVAILABLE=69

trap "rm -f $INSPECT_DIR/in.$$ $INSPECT_DIR/vr.$$ $INSPECT_DIR/vr1.$$" 0 1 2 3 15

cat > $INSPECT_DIR/in.$$ || {echo Cannot save mail to file; exit $EX_TEMPFAIL;}
# Проверка clamavscan
/usr/local/bin/clamscan -v -r --mbox --no-summary --stdout < ${INSPECT_DIR}/in.$$> $INSPECT_DIR/vr.$$

# Result
AV_RESULT=$?

case "$AV_RESULT" in
0)
  # Ok! Send to user
  $SENDMAIL "$@" <${INSPECT_DIR}/in.$$
  exit 0
  ;;
  #Other result
1)

...........................................

  esac
       echo "----------- VirusFilter ------------" >> $INSPECT_DIR/vr1.$$
  $SENDMAIL -f $VIRADMIN -r $VIRADMIN -F "Antivirus" "$VIRADMIN" < $INSPECT_DIR/vr1.$$
  exit $EX_TEMPFAIL
  ;;
esac

exit 0

Потом поробовал как там написано прикрутить как контекстный фильтр:
-------------------------------------------------------------------
3 - Define the content filter in the Postfix master file:

    /etc/postfix/master.cf:
      filter    unix  -       n       n       -       -       pipe
        flags=Rq user=filter argv=/somewhere/filter -f ${sender} -- ${recipient}

To turn on content filtering for mail arriving via SMTP only, append
"-o content_filter=filter:dummy" to the master.cf entry that defines
the Postfix SMTP server:

    /etc/postfix/master.cf:
        smtp      inet     ...stuff...      smtpd
            -o content_filter=filter:dummy
--------------------------------------------------------------------
mailfilter unix  -       n       n       -       -       pipe
    flags=Rq user=filter argv=/user/local/script/mail/mailfilter.sh -f ${sender} -- ${recipient}

smtp      inet -     -      -     -     -     smtpd
            -o content_filter=mailfilter:dummy
Но увы, результат -почта даже без вложений не ходит - postqueue -p говорит о отсутствии файла, куда надо было бы сбрасывать письмо.
Ладно, забудем про это идем другим путем, вешаем как сервис на порт.
Смотрю там же и делаю (приведу уже конечный результат):
main.cf:
        content_filter = scan:localhost:10025

master.cf:
localhost:10025     inet  n      n      n      -      10     spawn
   user=clamav argv=/usr/local/script/mail/mailfilter.sh 127.0.0.1 10026
127.0.0.1:10026     inet  n      -      n      -      10      smtpd
            -o content_filter=
            -o local_recipient_maps=
            -o relay_recipient_maps=
            -o myhostname=127.0.0.1
            -o smtpd_helo_restrictions=
            -o smtpd_client_restrictions=
            -o smtpd_sender_restrictions=
            -o smtpd_recipient_restrictions=permit_mynetworks,reject
            -o mynetworks=127.0.0.0/8

Результат тот же.
Почта просто не ходит. Висит в очереди, хоть и без ошибок, но висит.
Как с этим побороться?


Содержание

Сообщения в этом обсуждении
"Clamav без Amavis"
Отправлено deadmoroz2 , 14-Дек-04 11:53 
ClamSmtp спасет отца русской демократии

"Clamav без Amavis"
Отправлено Skif , 14-Дек-04 11:57 
>ClamSmtp спасет отца русской демократии

Нет, не спасет. Под фрю, как по мне, он гораздо кривее реализован чем под линух. Плюс документации вообще фонарь, а стартовый скрипт имеющий строчку 'myserver.com:25' вообще просто суппер.
Да и вопрос сформулирован достаточно четко.


"Clamav без Amavis"
Отправлено jonatan , 14-Дек-04 12:35 
>/usr/local/bin/clamscan -v -r --mbox --no-summary --stdout < ${INSPECT_DIR}/in.$$> $INSPECT_DIR/vr.$$

Попробуй так
/usr/local/bin/clamscan -v -r --mbox --no-summary --stdout  ${INSPECT_DIR}/in.$$> $INSPECT_DIR/vr.$$


"Clamav без Amavis"
Отправлено Skif , 14-Дек-04 17:34 
>>/usr/local/bin/clamscan -v -r --mbox --no-summary --stdout < ${INSPECT_DIR}/in.$$> $INSPECT_DIR/vr.$$
>
>Попробуй так
>/usr/local/bin/clamscan -v -r --mbox --no-summary --stdout  ${INSPECT_DIR}/in.$$> $INSPECT_DIR/vr.$$


Да оно. лоханулся. сначал один вариант пробовал, потом второй, а убрать знак забыл...


"Clamav без Amavis"
Отправлено blackpepper , 14-Дек-04 13:15 
>Есть огромное желание прикрутить clamav без amavis-a к postfix-у.

Попробуй http://www.ensita.net/products/clamfilter/,  специально заточен под постфикс, ну и если не жалко поделись успехами. Удачи


"Clamav без Amavis"
Отправлено DimMan , 18-Дек-04 18:07 
>>Есть огромное желание прикрутить clamav без amavis-a к postfix-у.
>
>Попробуй http://www.ensita.net/products/clamfilter/,  специально заточен под постфикс, ну и если не жалко
>поделись успехами. Удачи


http://www.opennet.me/opennews/art.shtml?num=4538