Гигиена сообщений. Часть 2
Проснулся я как-то утром, а Protocol Analysis Agent-а нет. Пока я спал, кто-то взял и объединил всех транспортных агентов в одну библиотеку. Ну дак вот. Здесь в кратце я опишу чем занимаются наши агенты, цель которых защитить Ваш почтовый ящик от лавины изливающегося на него мусора.
Итак. Первая полоса защиты - Content Filtering Ageng. Это фактически спэм фильтр. Спэм фильтр выдает вердикт каждому сообщению до него дошедшему, от 0 - 9. 0 - хорошо, 9 - точно спэм. Админ может установить уровень допустимости (по-умолчанию он 7, и это в общем не стоит менять). Другой параметр отвечает за то, что делать если сообщение получило максимально допустимый вердикт (7 или более). По-умолчанию сообщение будет отвергнуто на уровне SMTP сессии.
Отвергнутое или нет, сообщение дойдет до Protocol Analysis (PA) агента, который следит за событиями OnEndOfData и за ОnReject. PA соберет всю нужную ему информацию и добавит IP посылавшего к своему внутреннему списку.
Обработка данных ведется этим агентом асинхронно, вне SMTP сессии. Агент выполняет следующие тесты:
- Обратный DNS на IP. Поэтому если у пославшего не было PTR записи в DNS это может негативно повлиять не его вердикт
- Тест на Open Proxy (происходит очень редко, т.к. очень мало отправителей являются Open Proxy
- Анализ HELO. По-просту: соответствует ли то, что мы узнали из обратного DNS тому, откуда отправитель заявил, что он послал сообщения. Смотрим на FQDN.
- Подсчет Уровня Репутации Отправителя (Sender Reputation Level - SRL).
Как и в случае со спэм фильтром, SRL это чилсо от 0 - 9. (9 - очень плохо). В отличие от вердикта спэм фильтра, SRL применяется к отправителю, а не к сообщению. Если SRL больше или равен максимально допустимому (7 тут тоже наилучший выбор), отправитель будет заблокирован на 24 часа (максимум - 48). Это значит, что он будет отброшен агентом по фильтрации соединений (Connnection Filtering Agent) при попытке сказать серверу Превед в следующий раз.
Сам PA агент довольно консервативен. Первый подсчет вердикта проводится только если мы видели достаточное количество сообщений в определенное время. Если после первого подсчета мы получили низкий вердикт - отправитель "награждается" тем, что в следующий раз подсчет произойдет при получении в несколько раз большего количества сообщений за тоже время.
Если же отправитель только что вышел из периода блокирования, он будет "наказан" тем, что подсчет SRL будет производиться в несколько раз чаще.
Имеется еще один важный компонент PA агента, бегущий в стороне от транспортного процесса. Этот компонент ответсвеннен за получение данных нашего списка известных отправителей и передачи его PA агенту. Данные в этом списке уже содержат SRL. Если сообщение пришло от одного из таких отправителей и SRL в нем больше максимально допустимого, отправитель будет заблокирован. Подробнее в следующем посте.