Ru-Board.club
← Вернуться в раздел «UNIX»

» Postfix + 3 условия фильтра

Автор: DjAg13
Дата сообщения: 12.12.2011 08:50
Прошу помощи. Как реализовать в Postfix чтобы отсеять исходящий почту по 3 м признакам?
Postfix + Exchange.
надо: 1 определить что почта идет от внутреннего адресата 321@org77.ru, 421@org77.ru ....
2 идет на один из почтовых доменов mail.ru - list.ru, bk.ru ....
3 в теле письма присутствует строка типа -----BEGIN PGP MESSAGE-----
4 rejeck

Автор: bga83
Дата сообщения: 12.12.2011 10:39
можно сделать свой класс ограничений, в котором организовать вложенность проверок. Но пару лет назад, когда была подобная необходимость, у меня не вышло построить правильную конструкцию
Автор: DjAg13
Дата сообщения: 12.12.2011 12:33
ну вот например body_checks копаю
пишу
\*условие что ишем в теле письма* \ REJECT Body Spam Rule R405
- работает

(для примера) можно же как то указать чтоб отброс был только для писем на *mail.ru

\*условие что ишем в теле письма* \ from*mail.ru REJECT Body Spam Rule R405
?
Автор: DjAg13
Дата сообщения: 13.12.2011 07:27
гуру подскажите как мне можно завернуть такую конструкцию
из mai.cf вызвать каким то образом ????
последовательно
header_checks
!/почта на проверяемые домены/ ok -- если не они, то идем дальше те почта дальше не проверятся на тело и отправляется (! = не )
и тут же
body_checks
/искомая строка в теле / rejeck
спасибо...

Добавлено:
делаю вот так
[root@serv ~]# cat /usr/local/etc/postfix/header_checks
!/^To:.*@mail\.ru/ OK WARN test22
/^Content-(Type|Disposition):.*name[[:space:]]*=.*\.PGP/ WARN test7890

по отдельности каждая строка работает , вместе нет.. в чем дело ?

если пытаешся применить if endif - то при команде portmap ругается на неправильный синтаксис на последнию строку с endif
Автор: DjAg13
Дата сообщения: 14.12.2011 11:47
будет ли работать вот такая конструкция

main.cf
***********
#новый класс для проверки attachment на домен получателя
smtpd_restriction_classes = mail_attachment

#определяем что ему грозит
mail_attachment = check_sender_access pcre:/usr/local/etc/postfix/header_checks7

smtpd_recipient_restrictions = check_recipient_access hash:/usr/local/etc/postfix/mail_attach7
***********

header_checks7
**********
/^Content-(Type|Disposition):.*name[[:space:]]*=.*\.PGP/ WARN test231

*********



#mail_attach7 - таблица соответсвия
********
*@mail.ru mail_attachment
*@inbox.ru mail_attachment
* OK
********


Добавлено:
ну те не
mail_attachment = check_sender_access pcre:/usr/local/etc/postfix/header_checks7
а
mail_attachment = header_checks pcre:/usr/local/etc/postfix/header_checks7
Автор: DjAg13
Дата сообщения: 15.12.2011 09:42
Люди как грамотно описать класс?? smtpd_restriction_classes
чтобы в него попадали некоторые вложения, уже всю голову сломал .. или как протестировать безопасно ?
Автор: bga83
Дата сообщения: 15.12.2011 15:48

Цитата:
или как протестировать безопасно ?

тестовый домен на виртуалке
Автор: DjAg13
Дата сообщения: 19.12.2011 15:09
Спасибо всем. Решено ..
Задача была в след.. зарезать некоторые вложения на отдельные почтовые серверы..
решение пусть и не сильно красивое, но пусть будет, может кому пригодится .. (проверно на 100% в секции header_checks IF и ENDIF не работают если вы проверяете разные данные - например поле c именем вложения и TO).
Итак
_______header_checks :
/^Content-(Type|Disposition):.*name[[:space:]]*=.*\.DDD/ FILTER smtp:[127.0.0.1]:52525

_____master.cf
smtp inet n - n - - smtpd
***
#фильтр без проверки на header им же и завернутая сюда..
127.0.0.1:52525 inet n - n - - smtpd
-o receive_override_options=no_header_body_checks
-o smtpd_recipient_restrictions=no_DDD_Mail,reject
-o mynetworks=127.0.0.0/8
_________________________________

__________________________________
____создал файлик с табличкой /reject_mail_x
#письма на эти адресса с вложением (см фильтр) будут отбрасыватся
/.@mail|bk|inbox\.ru/ REJECT .....mailru..Atachment..DDD.........
# все остальные идут напрямую
/.*/ OK

___внутри main.cf
*
#
smtpd_restriction_classes = no_DDD_Mail
no_DDD_Mail = check_recipient_access pcre:/usr/local/etc/postfix/reject_mail_x
*
те создание нового класса , потом его описание и применился он из master.cf *.DDD расширение для тестирования
Тему можно закрывать

Страницы: 1

Предыдущая тема: трафик в Sun Solaris


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.