The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Помогите реализовать в postfix динамическую фильтрацию"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Почта)
Изначальное сообщение [ Отслеживать ]

"Помогите реализовать в postfix динамическую фильтрацию"  +/
Сообщение от Pablic on 04-Мрт-15, 19:17 
Помогите реализовать в postfix динамическую фильтрацию

Задача:
Проверять внешнюю входящюю почту с помощью spamassassin и clamav...
раньше когда сервер смотрел в инет, на внешнем интерфейсе в постфиксе навешивал контент фильтр который как раз этим занимался...
сейчас сервер стоит за маршрутизатором, и имеет один интерфейс...
всю почту не хочется проверять, вот и задумался над этим вопросом

В документации прочел что можно делать так
/etc/postfix/access:
    whatever       FILTER foo:bar

но, что то пазл не складывается в полную картину... незнаю как правильно прописать в main.cf...

Может кто делал уже, помогите с реализацией

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Помогите реализовать в postfix динамическую фильтрацию"  +/
Сообщение от PavelR (??) on 04-Мрт-15, 19:34 
> Может кто делал уже, помогите с реализацией

- с чем помочь-то?
- с реализацией.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Помогите реализовать в postfix динамическую фильтрацию"  –1 +/
Сообщение от Pablic on 04-Мрт-15, 20:30 
>> Может кто делал уже, помогите с реализацией
> - с чем помочь-то?
> - с реализацией.

динамического фильтра, например, мне не нужно проверять этим фильтром пользователей своего домена

спрашиваю как можно реализовать, без применения сторонних проксей и дополнительных программ типа амависа..

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

5. "Помогите реализовать в postfix динамическую фильтрацию"  +/
Сообщение от PavelR (??) on 04-Мрт-15, 20:37 
>>> Может кто делал уже, помогите с реализацией
>> - с чем помочь-то?
>> - с реализацией.
> динамического фильтра, например, мне не нужно проверять этим фильтром пользователей своего
> домена
> спрашиваю как можно реализовать, без применения сторонних проксей и дополнительных программ
> типа амависа..
>>В документации прочел что можно делать так
>>/etc/postfix/access:
>>    whatever       FILTER foo:bar

В чем проблема-то?

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "Помогите реализовать в postfix динамическую фильтрацию"  –1 +/
Сообщение от Pablic on 04-Мрт-15, 20:41 
> В чем проблема-то?

Проблема в том что не понимаю как правильней обработать почту...

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "Помогите реализовать в postfix динамическую фильтрацию"  +/
Сообщение от PavelR (??) on 04-Мрт-15, 21:04 
>> В чем проблема-то?
> Проблема в том что не понимаю как правильней обработать почту...

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

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Помогите реализовать в postfix динамическую фильтрацию"  +/
Сообщение от Pavel (??) on 05-Мрт-15, 06:46 
> Приводите ваши варианты, обсудим.

1. Вариант1, на маршрутизаторе делаю форвард с 25 порта на порт 10025 сервера
в main.cf:

внутренний IP:10025  inet  n       -       n       -       -       smtpd
-o content_filter=myfilter:dummy

.....

myfilter        unix    -       n       n       -       -       pipe
flags=Ru user=vmail argv=/usr/local/etc/postfix/myfilter.sh -f $(sender) -- $(recipient)


в main.cf:
...
myfilter_destination_recipient_limit = 1


2. Вариант2, установить и настроить amavis-new, добавить в исключения мои домены

3. Вариант3, делаю так:

main.cf:
...
header_checks=pcre:$config_directory/header_checks

content_filter = scan:localhost:10025
receive_override_options = no_address_mappings


master.cf
...

localhost:10025        unix    -       n       n       -       -       pipe
flags=Ru user=vmail argv=/usr/local/etc/postfix/myfilter.sh -f $(sender) -- $(recipient)

# для возврата из фильтра...
localhost:10026 inet  n       -       n       -       10      smtpd
-o content_filter=
-o receive_override_options=no_unknown_recipient_checks,no_header_body_checks,no_milters
-o smtpd_helo_restrictions=
-o smtpd_client_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_relay_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o smtpd_authorized_xforward_hosts=127.0.0.0/8


Файл header_checks:
...
IF /From:/
!/ <(.*@domain1.ry)>/ FILTER scan:localhost:10025
!/ <(.*@domain2.ru)>/ FILTER scan:localhost:10025
ENDIF
...

третий вариант не делал не разу... сомневаюсь в правильности его

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "Помогите реализовать в postfix динамическую фильтрацию"  +/
Сообщение от PavelR (??) on 05-Мрт-15, 09:10 

>раньше когда сервер смотрел в инет, на внешнем интерфейсе в постфиксе навешивал контент
>фильтр который как раз этим занимался...
>сейчас сервер стоит за маршрутизатором, и имеет один интерфейс...
>всю почту не хочется проверять

Вариант 1 будет наиболее подобен тому, что "было раньше".

Вариант 2 - почта всё равно будет идти на фильтр, хотя и он ничего не будет с ней делать в силу настроенных исключений.

Вариант 3 - надеюсь вы понимаете, что заголовок From: внутри письма и тот MAIL FROM, что передается в SMTP-сессии, это разные From?

> Файл header_checks:
> ...
> IF /From:/
> !/ <(.*@domain1.ry)>/ FILTER scan:localhost:10025
> !/ <(.*@domain2.ru)>/ FILTER scan:localhost:10025
> ENDIF
> ...

Таким синтаксисом (с IF) я не пользовался.
Но вообще решение вызывает у меня сомнения -  вроде как проверка идет до первого совпадения, соответственно отправитель domain2.ru не пройдет первую проверку и письмо пойдет на фильтр.

Варианты сильно различаются по степени гибкости.
Если устраивает вариант 1 - я бы выбрал его, как наиболее простой =).

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "Помогите реализовать в postfix динамическую фильтрацию"  +/
Сообщение от Pavel (??) on 05-Мрт-15, 12:16 
>[оверквотинг удален]
>> !/ <(.*@domain2.ru)>/ FILTER scan:localhost:10025
>> ENDIF
>> ...
> Таким синтаксисом (с IF) я не пользовался.
> Но вообще решение вызывает у меня сомнения -  вроде как проверка
> идет до первого совпадения, соответственно отправитель domain2.ru не пройдет первую проверку
> и письмо пойдет на фильтр.
> Варианты сильно различаются по степени гибкости.
> Если устраивает вариант 1 - я бы выбрал его, как наиболее простой
> =).

Первый вариант мне не нравиться из-за того, что на фильтр попадает все письма, вне зависимости от настроек разрешений на helo/client/sender/recipient... Получается что сначала фильтр принимает всю почту, грубо говоря запускает антивирусную и спам проверку... или я не прав? или всетаки демон smtpd сначало отсеивает а потом передает контент фильтру?

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

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "Помогите реализовать в postfix динамическую фильтрацию"  +/
Сообщение от PavelR (??) on 05-Мрт-15, 13:48 

> Первый вариант мне не нравиться из-за того, что на фильтр попадает все
> письма, вне зависимости от настроек разрешений на helo/client/sender/recipient... Получается
> что сначала фильтр принимает всю почту, грубо говоря запускает антивирусную и
> спам проверку... или я не прав? или всетаки демон smtpd сначало
> отсеивает а потом передает контент фильтру?

Должен сначала отсеивать.

> Второй не расматриваю пока

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

12. "Помогите реализовать в postfix динамическую фильтрацию"  +/
Сообщение от Аноним (??) on 06-Мрт-15, 07:11 
> Если устраивает вариант 1 - я бы выбрал его, как наиболее простой > =).

Ыхнифасебе! А то что там баш дёргается на каждое письмо тебя не сильно парит?
Хотя ... ну да - аффтар про траффик ничего не говорил :)

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

13. "Помогите реализовать в postfix динамическую фильтрацию"  +/
Сообщение от PavelR (??) on 06-Мрт-15, 07:42 
>> Если устраивает вариант 1 - я бы выбрал его, как наиболее простой > =).
> Ыхнифасебе! А то что там баш дёргается на каждое письмо тебя не
> сильно парит?
> Хотя ... ну да - аффтар про траффик ничего не говорил :)

Ну так в варианте 3 то же самое, так что считаем это "условием задачи".
И вообще, мы обсуждаем, как разделить потоки "пойдет на фильтр/не пойдет на фильтр", а не то, как именно оно будет фильтроваться.

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

15. "Помогите реализовать в postfix динамическую фильтрацию"  +/
Сообщение от Pablic on 06-Мрт-15, 08:16 
>>> Если устраивает вариант 1 - я бы выбрал его, как наиболее простой > =).
>> Ыхнифасебе! А то что там баш дёргается на каждое письмо тебя не
>> сильно парит?
>> Хотя ... ну да - аффтар про траффик ничего не говорил :)
> Ну так в варианте 3 то же самое, так что считаем это
> "условием задачи".
> И вообще, мы обсуждаем, как разделить потоки "пойдет на фильтр/не пойдет на
> фильтр", а не то, как именно оно будет фильтроваться.

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

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

18. "Помогите реализовать в postfix динамическую фильтрацию"  +/
Сообщение от PavelR (??) on 06-Мрт-15, 08:54 
>[оверквотинг удален]
>>> Ыхнифасебе! А то что там баш дёргается на каждое письмо тебя не
>>> сильно парит?
>>> Хотя ... ну да - аффтар про траффик ничего не говорил :)
>> Ну так в варианте 3 то же самое, так что считаем это
>> "условием задачи".
>> И вообще, мы обсуждаем, как разделить потоки "пойдет на фильтр/не пойдет на
>> фильтр", а не то, как именно оно будет фильтроваться.
> С динамической фильтрацией все намного гипче, например, все мои авторизованные пользователи,
> как минимум пойдут мимо фильтра, причем в не зависимости откуда они
> подключились... Собственно это я и хочу реализовать...

smtpd_sender_restrictions=
reject_non_fqdn_sender,
reject_unknown_sender_domain,
....
permit_sasl_authenticated,
check_sender_access /etc/postfix/send_to_filter


/etc/postfix/send_to_filter:

/.*/ FILTER scan:localhost:10025


Однако, лично я средствами AMAVIS логирую проходящие письма (в частности авторизованных пользователей) и контролирую скриптом превышение установленных порогов, на случай если вдруг пароль утечет и из под аккаунта пользователя начнут слать спам.

AMAVIS, на мой взгляд, можно было бы и допилить, чтобы он умел определять по заголовкам проходящего письма (доверять им) признак, что пользователь авторизовался на нашем сервере, и в зависимости от этого признака использовать другие политики проверок. Сейчас для этого они рекомендуют использовать настройку политики по порту, что не всегда удобно.

Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

19. "Помогите реализовать в postfix динамическую фильтрацию"  +/
Сообщение от Pablic on 06-Мрт-15, 09:10 
> smtpd_sender_restrictions=
> reject_non_fqdn_sender,
> reject_unknown_sender_domain,
> ....
> permit_sasl_authenticated,
> check_sender_access /etc/postfix/send_to_filter
> /etc/postfix/send_to_filter:
> /.*/ FILTER scan:localhost:10025

Кстати да!, не нужно выискивать по заголовкам своих пользователей... Так и сделаю, спасибо за идею...

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

14. "Помогите реализовать в postfix динамическую фильтрацию"  +/
Сообщение от Pablic on 06-Мрт-15, 08:04 
>> Если устраивает вариант 1 - я бы выбрал его, как наиболее простой > =).
> Ыхнифасебе! А то что там баш дёргается на каждое письмо тебя не
> сильно парит?
> Хотя ... ну да - аффтар про траффик ничего не говорил :)

В первых двух случаях контент фильтр будет обрабатывать каждое письмо...

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

16. "Помогите реализовать в postfix динамическую фильтрацию"  +/
Сообщение от PavelR (??) on 06-Мрт-15, 08:40 

> В первых двух случаях контент фильтр будет обрабатывать каждое письмо...

каждое письмо, проходящее через SMTP-порт.
Смысл мероприятия "вариант 1" в том, что есть разные порты - внешний и для внутрилокалки.

Так что сначала разберитесь....

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

17. "Помогите реализовать в postfix динамическую фильтрацию"  +/
Сообщение от Pablic on 06-Мрт-15, 08:48 
>> В первых двух случаях контент фильтр будет обрабатывать каждое письмо...
> каждое письмо, проходящее через SMTP-порт.
> Смысл мероприятия "вариант 1" в том, что есть разные порты - внешний
> и для внутрилокалки.
> Так что сначала разберитесь....

Это понятно, но есть клиенты за локалкой??? они работают с почтовиком через внешний адресc... как я должен их определить??? мне кажется вы сами немного не понимаете...

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

20. "Помогите реализовать в postfix динамическую фильтрацию"  +/
Сообщение от PavelR (??) on 06-Мрт-15, 09:13 

> Это понятно, но есть клиенты за локалкой??? они работают с почтовиком через
> внешний адресc... как я должен их определить??? мне кажется вы сами
> немного не понимаете...

Вы сами привели вариант 1 как приемлимый для вас:

>1. Вариант1, на маршрутизаторе делаю форвард с 25 порта на порт 10025 сервера
>в main.cf:

Конечно не понимаю, вы же под разными никнеймами пишете.

Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

21. "Помогите реализовать в postfix динамическую фильтрацию"  +/
Сообщение от Pablic on 06-Мрт-15, 09:40 
>> Это понятно, но есть клиенты за локалкой??? они работают с почтовиком через
>> внешний адресc... как я должен их определить??? мне кажется вы сами
>> немного не понимаете...
> Вы сами привели вариант 1 как приемлимый для вас:
>>1. Вариант1, на маршрутизаторе делаю форвард с 25 порта на порт 10025 сервера
>>в main.cf:
> Конечно не понимаю, вы же под разными никнеймами пишете.

Извеняюсь, писал с разных мест...

осталось для меня не понятным следующее:

допустим я зарулил почту на фильтр на 127.0.0.10025, он ее обработал, дальше каким образом я ее должен передать на возвратный 127.0.0.1:10026??? Это дожен сделать мой скрипт, или постфих сам знает куда отдать????

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

22. "Помогите реализовать в postfix динамическую фильтрацию"  +/
Сообщение от PavelR (??) on 06-Мрт-15, 09:49 
>[оверквотинг удален]
>>> немного не понимаете...
>> Вы сами привели вариант 1 как приемлимый для вас:
>>>1. Вариант1, на маршрутизаторе делаю форвард с 25 порта на порт 10025 сервера
>>>в main.cf:
>> Конечно не понимаю, вы же под разными никнеймами пишете.
> Извеняюсь, писал с разных мест...
> осталось для меня не понятным следующее:
> допустим я зарулил почту на фильтр на 127.0.0.10025, он ее обработал, дальше
> каким образом я ее должен передать на возвратный 127.0.0.1:10026??? Это дожен
> сделать мой скрипт, или постфих сам знает куда отдать????

почта находится на фильтре. Куда он её отправит - фильтр решает сам.

Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

23. "Помогите реализовать в postfix динамическую фильтрацию"  +/
Сообщение от Pablic on 06-Мрт-15, 09:51 

> почта находится на фильтре. Куда он её отправит - фильтр решает сам.

спасибо!

Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

2. "Помогите реализовать в postfix динамическую фильтрацию"  +/
Сообщение от Аноним (??) on 04-Мрт-15, 19:40 
>[оверквотинг удален]
> контент фильтр который как раз этим занимался...
> сейчас сервер стоит за маршрутизатором, и имеет один интерфейс...
> всю почту не хочется проверять, вот и задумался над этим вопросом
> В документации прочел что можно делать так
> /etc/postfix/access:
>     whatever       FILTER
> foo:bar
> но, что то пазл не складывается в полную картину... незнаю как правильно
> прописать в main.cf...
> Может кто делал уже, помогите с реализацией

Помогаю с реализацией. Дорого.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Помогите реализовать в postfix динамическую фильтрацию"  –1 +/
Сообщение от Pablic on 04-Мрт-15, 20:27 
>[оверквотинг удален]
>> сейчас сервер стоит за маршрутизатором, и имеет один интерфейс...
>> всю почту не хочется проверять, вот и задумался над этим вопросом
>> В документации прочел что можно делать так
>> /etc/postfix/access:
>>     whatever       FILTER
>> foo:bar
>> но, что то пазл не складывается в полную картину... незнаю как правильно
>> прописать в main.cf...
>> Может кто делал уже, помогите с реализацией
> Помогаю с реализацией. Дорого.

Мы на freelance.ru??? по мойму это специализированный форум, где люди делятся знаниями и помогают друг-другу в различных проблемах...

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

24. "Помогите реализовать в postfix динамическую фильтрацию"  +/
Сообщение от Аноним (??) on 06-Мрт-15, 12:56 
>> Помогаю с реализацией. Дорого.
> Мы на freelance.ru??? по мойму это специализированный форум, где люди делятся знаниями
> и помогают друг-другу в различных проблемах...

Помогаю с русским языком. Бесплатно.

Мы на freelance.ru? По-моему, это специализированный форум, где люди делятся знаниями и помогают друг другу в различных проблемах...

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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