Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » UNIX » Postfix + 3 условия фильтра

Модерирует : ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

DjAg13

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

Всего записей: 33 | Зарегистр. 02-08-2006 | Отправлено: 10:50 12-12-2011
bga83



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
можно сделать свой класс ограничений, в котором организовать  вложенность проверок. Но пару лет назад, когда была подобная необходимость, у меня не вышло построить правильную конструкцию

Всего записей: 2008 | Зарегистр. 30-11-2007 | Отправлено: 12:39 12-12-2011
DjAg13

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ну вот например body_checks  копаю  
пишу  
\*условие что ишем в теле письма* \       REJECT Body Spam Rule R405
- работает  
 
(для примера) можно же как то указать чтоб отброс был только для писем на *mail.ru
 
\*условие что ишем в теле письма* \ from*mail.ru      REJECT Body Spam Rule R405
?

Всего записей: 33 | Зарегистр. 02-08-2006 | Отправлено: 14:33 12-12-2011
DjAg13

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
гуру подскажите как мне можно завернуть такую конструкцию  
из 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  

Всего записей: 33 | Зарегистр. 02-08-2006 | Отправлено: 09:27 13-12-2011 | Исправлено: DjAg13, 09:45 13-12-2011
DjAg13

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
будет ли работать вот такая конструкция  
 
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

Всего записей: 33 | Зарегистр. 02-08-2006 | Отправлено: 13:47 14-12-2011
DjAg13

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди как грамотно описать класс?? smtpd_restriction_classes  
чтобы в него попадали некоторые вложения,  уже всю голову сломал .. или как протестировать безопасно ?

Всего записей: 33 | Зарегистр. 02-08-2006 | Отправлено: 11:42 15-12-2011
bga83



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

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

тестовый домен на виртуалке

Всего записей: 2008 | Зарегистр. 30-11-2007 | Отправлено: 17:48 15-12-2011
DjAg13

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо всем. Решено ..  
Задача была в след.. зарезать некоторые вложения на отдельные почтовые серверы..
решение пусть и не сильно красивое, но пусть будет, может кому пригодится .. (проверно на 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 расширение для тестирования
Тему можно закрывать

Всего записей: 33 | Зарегистр. 02-08-2006 | Отправлено: 17:09 19-12-2011
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Операционные системы » UNIX » Postfix + 3 условия фильтра


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru