Postfix + ClamAV-milter

Прикрутил вот к своему почтовому серверу clamav-milter.

Оказывается все предельно просто прикручивается. Ставится clamav+ clamav-server + clamav-milter + freshclam. Настраиваются конфиги. Сложного там ничего. Единственное с чем мне пришлось побороться и в ЖЖ меня ткнули носом (проглядел один момент), это параметр User в /etc/clamd.d/milter.conf. Он должен быть «postfix», т.е. имя юзера под которым работает Postfix, иначе почтовик не сможет получить доступ к сокету clamav-milter’a.

Далее в main.cf почтовика добавляем две строки:

smtpd_milters = unix:/var/run/clamav-milter/clamav.sock
milter_default_action = accept

Перезапускаем почтовик и имеем счастье. Для обновления антивируса добавляем в крон:

0 */3 * * * root /usr/bin/freshclam 1>/dev/null 2>/dev/null

Поделиться этой заметкой с друзьями:

Добавь меня:

Вы можете оставить комментарий, или поставить трэкбек со своего сайта.

11 комментариев(я)

  • 28.09.2007 14:26, Silver Ghost сказал:

    И мне понравилось. :)
    ловит все на ура. :)

    • 10.12.2008 09:03, OneMan сказал:

      Никакие другие демоны не должны запускаться под тем же пользователем под которым работает postfix, иначе нарушается его хваленая безопасность. В доках к postfix об это четко сказано. Лучшее что тут можно сделать это дать права на запись в сокет /var/run/clamav-milter/clamav.sock для всех. В скрипте после запуска clamav-milter дописать:
      chmod 777 /var/run/clamav-milter/clamav.sock

      • 10.12.2008 09:38, Silver Ghost сказал:

        @OneMan: ага.. только не работает это. Мильтер проверяет права на соккет и меняет их назад.

        • 12.12.2008 03:58, OneMan сказал:

          у меня так уже не один год работает)

          • 15.03.2009 11:31, Hitchicker сказал:

            2 OneMan – Проверил у себя OpenSuse 11.1 все установленно из родных репо., действительно права на сокет меняются обратно.

            • 16.03.2009 13:20, Silver Ghost сказал:

              В конфиге мильтера проверьте имя юзера от которого он запускается. Должен совпадать с постфиксом. Тогда проблема не возникает.

              • 17.03.2009 17:37, Hitchicker сказал:

                OneMan написал про постфикс, что да можно выставить тогоже пользователя но есть определенные НО:
                никакие другие сервисы не должны быть с тем же именем что и постфикс.
                потом у меня все сокеты лежат в одной папке clamav где есть еще и clamd . так вот при попытке поменять пользователся начинает ругаться clamd.
                Вобщем решил проблему почти как и писал OneMan. Проблема была не в том, что

                , а потому что chmod дает права до того, как создается сам сокет. решение очень простое:
                for second in 0 1 2 3 4 5 6 7 8 9;
                do
                sleep 1
                done
                if [ "$second" = "9" ]; then
                /bin/chmod 777 /var/lib/clamav/clamav-milter-socket
                fi

                • 02.06.2009 09:43, dimka сказал:

                  chmod 777 прелестно )
                  оставьте лучше с юзером postfix, гораздо безопасней )

                  • 02.06.2009 16:40, Silver Ghost сказал:

                    Все проще. Я выше написал, что имя юзера надо поправить и все. :)

                  • 18.03.2010 10:53, Алекс сказал:

                    Проще тогда цеплять мильтер не через сокет а
                    smtpd_milters = inet:localhost:portnumber
                    Так как есть еще spamassassin мильтер а переводить всю почтовую систему
                    под одного юзера как то сцыкатно

                    • 1 старых комментариев не отображается. Нажмите, чтобы отобразить все.
                    (Обязательно)
                    (Обязательно, не публикуется)

                    "АБЫРВАЛГ!", сказал линукс после руссификации.