Milter менеджер

Введение

Введение - введение в milter-менеджер

Об этом документе

В этом документе описываются следующие преимущества введения milter-менеджера:

  • снижение административных расходов milter
  • гибкая компоновка фильтров

Этот документ описывает milter, потому что он не предполагает, что читатели знают о milter.

milter

Milter – это аббревиатура от ' m и f ilter '. Это система плагинов почтовых фильтров, разработанная Sendmail. Мы можем ввести спам-фильтр в почту и/или проверочный фильтр вирусов в Sendmail без изменения Sendmail с помощью milter. Мы также можем реализовать более эффективный почтовый фильтр путем объединения нескольких функций, так как несколько milter-ов могут быть применены одновременно.

Мы подтверждаем термины, используемые в документах milter-менеджера, прежде чем мы покажем схему, которая описывает соотношение между Sendmail и milte:

  • milter: плагин почтового фильтра
  • milter-система: система плагина почтового фильтра

Milter и Sendmail это не один и тот же самый процесс. Milter работает в качестве другого процесса. Milter и Sendmail сообщаются со специализированным протоколом. В документах протокол называется "протокол milter". Связь между Sendmail, которая присоединяет и отсоединяет milter, называется "milter-сессия".

Вот схема, которая описывает отношение между Sendmail и milter, с точки зрения, упомянутой выше:

\n Relation between Sendmail and milter\n

Многие фильтры разрабатывались с тех пор, как Sendmail предоставляет milter-систему. Мы можем найти зарегистрированный milter на <URL:https://www.milter.org/>. Есть 62 milter-а на сайте 2008/12. Есть много milter-ов, которые не зарегистрированы на milter.org. Кажется, есть более чем 100 milter-ов. Например:

clamav-milter

milter для использования антивирусного свободного программного обеспечения ClamAV . (включен в ClamAV)

 amavisd-milter

milter для использования бесплатного программного обеспечения общей проверки контента amavisd-new .

spamass-milter

milter для использования бесплатного программного обеспечения для анти-спама SpamAssassin .

Некоторые новые вариации антиспама реализованы как milter. Реализованные milter-ы будут увеличены в будущем.

Postfix поддерживает систему milter-ов

Первоначально система milter-ов предназначена для системы Sendmail, но Postfix начинает поддерживать систему milter-ов с 2.3. Это означает, что мы можем использовать и развивать почтовый фильтр, который работает как с Sendmail, так и Postfix. Это делает milter более портативным.

\n Relation between Sendmail, Postfix and milter\n

Milter может быть использован с любой системой поддержки milter-ов MTA, как Sendmail и Postfix. Но конфигурация для использования milter отличается во всех МТА. Мы можем разделить один и тот же milter с Sendmail и Postfix, но не можем совместно использовать эффективную конфигурацию комбинации milter-ов.


Более эффективное сочетание milter

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

Нам нужно использовать некоторые приемы с использованием его преимуществ и покрытием его недостатков, потому что в Интернете существует много методов спама.

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

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

Вот основной метод антиспама в 2008/12.

1.   обнаруживает большинство спам-сообщений по технике на основе соединения.

2.   обнаруживает спам-сообщения, которые не могут быть выявлены с помощью метода на основе соединения методом на основе контента.

Есть некие методики, основанные на подключении, Greylisting, сначала отклоняющие доставленную почту и принимающие только повторно переданную почту, черный список, который использует черный список базы данных для обнаружения спама и так далее. Большинство коммерческих продуктов используют свою собственную базу данных черного списка. Большинство бесплатного программного обеспечения использует DNSBL, который использует DNS для доступа к базе данных черного списка. S25R (выборочное отторжение SMTP) не использует базу данных, просто использует некоторые регулярные выражения.

Если мы используем Greylisting и/или DNSBL, повторная передача и/или сетевое подключение имеют место. Они с низкой нагрузкой, но вызывают задержку доставки и/или имеют длительное время обработки. Если доставленная почта не выглядит явно спамом, (например, предоставленная с локального хоста, предоставленная уполномоченным пользователем и так далее), мы можем пропустить эти методы, чтобы избежать задержки.

Ниже приведен пример, как использовать эти методы, включая их преимущества и покрывая слабые стороны:

1.   обнаруживает спам с помощью S25R

a.   спам: обнаруживает спам с помощью DNSBL

                                     i.        спам: обнаруживает спам с помощью Greylisting

A.   ретранслируется: не спам

B.   не ретранслируется: спам

                                    ii.        не спам: пропустите Greylisting

b.   не спам: пропускаем оба: DNSBL и Greylisting

В приведенном выше примере, Greylisting применяется только если есть и S25R, и DNSBL для обнаружения спама. Это уменьшает ложную задержку Greylisting. Greylisting также используется для поддержания S25R в белом списке. S25R имеет слабость, из-за которой нужно поддерживать белый список вручную, но она нивелируется в сочетании с Greylisting.

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


Проблемы конфигурации MTA

Многие методы антиспама реализованы в виде milter. Как настроить Sendmail или Postfix, чтобы эффективно использовать фильтры?

Оба Sendmail и Postfix применяют зарегистрированные milter ко всем электронным сообщениям. Мы не можем применить фильтр, когда только какое-либо одно условие истинно, как упоминалось выше. [1]

Sendmail может указать действие по умолчанию и тайм-аут для каждого milter, но Postfix может указать их только для всех milter.

Milter полезен, потому что есть много способов его реализации и использования с другими MTA. Но мы не можем эффективно использовать его, потому что MTA не поддерживает конфигурацию, применяемую гибкими milter.

Milter-менеджер - это бесплатное программное обеспечение для эффективного использования преимуществ milter.


Milter-менеджер

Milter-менеджером является milter, который управляет несколькими milter-ами. Мы можем зарегистрировать несколько milter-ов в milter-менеджере, и milter-сессия для milter-менеджера передастся зарегистрированным milter-ам. Зарегистрированный milter называется "дочерний milter".

Milter-менеджер работает как прокси-сервер. Он выглядит как milter от MTA, как MTA из дочернего milter.

\n MTA, milter manager and child milter\n

Milter-ами можно управлять с помощью слоя milter-менеджера, а не слоем MTA по структуре. Milter-менеджер имеет следующие особенности, которые улучшают управление milter:

1.   функция обнаружения milter

2.   функция применения гибкого milter

Первая из них для "снижения затрат milter-администрирования" - преимущество, последняя для "гибкого объединения milter" - тоже преимущество.

Мы можем эффективно использовать milter с помощью milter-менеджера и этих функций.

Преимущество: функция обнаружения milter

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

Milter-менеджер может сделать milter-ы более гибкими, чем существующий MTA, потому что конфигурационный файл milter-менеджера обрабатывается как сценарий Ruby. Например, milter-менеджер может обнаружить установленные milter-ы в вашей системе и зарегистрировать их. Это означает, что вы можете изменить каждую конфигурацию milter без обновления конфигурации milter-менеджера.

В настоящее время, Ubuntu (Debian) и FreeBSD поддерживаются. Если вы хотите использовать фильтры, установленные системой пакетов (dpkg или порты), вам не нужно менять конфигурацию milter менеджера. Если milter устанавливается с помощью системы пакетов и включен, milter менеджер обнаруживает и использует его. Смотрите Установку для дальнейшей информации.

Существует мнение, что файл конфигурации milter-менеджера имеет более сложный синтаксис, чем конфигурационный файл МТА. Как уже упоминалось выше, Ruby имеет легко читаемый синтаксис, он не сложен в нормальных условиях эксплуатации. [2]

Например, вот конфигурация для гнезда подключения:

manager.connection_spec = "inet:10025@localhost"

Почти так же, как синтаксис конфигурации Postfix. ("элемент = значение")

Milter-менеджер также будет предоставлять веб-интерфейс для конфигурации со следующего выпуска.

Преимущество: функция применения гибкого milter

В конфигурации МТА каждый milter применяется всегда или же нет. Не может быть так, что milter применяется только тогда, когда некоторые условия истинны. Milter-менеджер имеет некоторые контрольно-пропускные пункты в milter сессии, они могут быть использованы.

Мы можем решить, следует ли применить фильтр или нет, с помощью результата S25R от функции.

Скорость

Мы получаем эффект производительности путем внедрения milter-менеджера. Но эффект очень мал, потому что менеджер работает достаточно быстро. Таким образом, кажется, что эффекта нет. Но это не будет препятствием.

Зарегистрированные дочерние milter-ы применяются к менеджеру только тогда, когда некоторые условия истинны. Это означает, что дочерние milter-ы не запускаются, если они не нужны. Но зарегистрированные milter-ы МТА всегда запущены. Общее время обработки для системы milter почти такое же, как системы milter без менеджера или даже меньше, потому что количество дочерних milter-ов, которые должны быть запущены, меньше, чем количество целых milter-ов.

Вывод

  • есть milter, который вводит почтовый фильтр в MTA
  • анти-спам и антивирус могут быть реализованы в виде milter
  • milter поддерживает Sendmail и Postfix
  • методы защиты от нежелательной почты имеют свои преимущества и недостатки
  • для эффективного использования методик защиты от нежелательной почты мы должны объединить некоторые методы
  • milter имеет свои преимущества и недостатки
    • преимущества:
      • может быть использован с другими MTA
      • есть много реализаций
    • недостатки:
    • трудно поддерживать конфигурацию MTA и milter, потому что конфигурации для MTA и milter разделены
    • MTA не обеспечивает конфигурацию для эффективного объединения фильтров
  • мы можем использовать milter эффективно и покрыть недостатки с помощью milter-менеджера

 


[1] мы можем использовать Делегацию политики доступа SMTP для Postfix для комбинирования S25R и Greylisting.

[2]  По крайней мере, это проще, чем когда Sendmail один.

Оригинал статьи находится здесь