LINUX.ORG.RU
решено ФорумAdmin

Postfix источник NDN spam (backscatter)

 backscatter, ndn spam, none-delivery-notice, ,


3

3

Привет!

У меня postfix 2.7.1 с dovecot 1.2.15 и ispconfig.

Последнее время меня заваливают письмами к несуществующим пользователям моего домена и очередь postfix забивается вперед на несколько часов none-delivery-notice'ами, адресованные «отправителям» (которые наверняка спуфнуты) сих писем.

По логики при принятие письма мне нужно проверить существует ли у меня такой пользователь. Если его нет - выдавать ошибку, а не принимать письмо и потом bounce'ить его кому попало.

По докам надо присвоить local_recipient_maps в main.cf не null значение. Например:

local_recipient_maps = proxy:unix:passwd.byname $alias_maps
# или local_recipient_maps = mysql:/etc/postfix/mysql-virtual_recipient.cf
# или local_recipient_maps = $virtual_mailbox_maps

По другим докам надо ещё выставить следующие параметры в main.cf:

    smtpd_error_sleep_time = 0
    unknown_local_recipient_reject_code = 550
Но т.к. у меня версия 2.7.1 мне это делать не обязательно. Однако я и это сделал. На всякий случай.

Возможно проблема в smtpd_recipient_restrictions:

smtpd_recipient_restrictions = permit_mynetworks,
    permit_sasl_authenticated,
    check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf,
    reject_unknown_recipient_domain,
    reject_unknown_sender_domain,
    reject_unverified_recipient,
    reject_unauth_destination,
    reject_unlisted_recipient
В доках больше полезных ограничений не нашёл.

К теме ещё относится smtpd_reject_unlisted_recipient, который должен как раз лесом отправлять отправителя почты, адресованной несуществующему ящику, даже если reject_unlisted_recipient явно не указан в smtpd_recipient_restrictions.

smtpd_reject_unlisted_recipient = yes

Отключить достваку NDN пробовал - но это оказалось не менее проблематичное занятие. Вдобавок проичтал, что это не RFC-compliant и некоторые почтовые сервисы могут забанить. Решил, что лучше сразу разобраться с источником проблемы, чем бороться с симптомом.

Собственно вопрос: как мне перестать спамить ndn'ами?

Мой конфиг: клац

mailq:

...

F370933B6D6     5595 Mon Sep  2 06:43:21  MAILER-DAEMON
          (connect to somedomain.ru[x.x.x.x]:25: Connection timed out)
                                         someemail@somedomain.ru

-- 8083 Kbytes in 2978 Requests.

qshape:

                                     T   5  10  20  40  80 160 320 640 1280 1280+
                           TOTAL  2618 449 220 603 748 598   0   0   0    0     0
                     mydomain.ru  2295 259 165 564 723 584   0   0   0    0     0
                    mydomain.com  316 190  55  37  20   14   0   0   0    0     0
                           ...



Последнее исправление: ftk (всего исправлений: 2)

Ответ на: комментарий от Pinkbyte

Пока-что DNSBL нет.

Задача отбросить сообщение, если нет адресата на сервере.

За 6 часов набирается over 41k уникальных ip, в будни больше.. Домены даже не взялся посчитать. DNSBL порежет малую часть, имхо. Это опять-таки борьба с симптомами.

Я полностью согласен, что надо ещё DNSBL добавить, но приоритет за NDN. Из-за него работать не возможно.

ftk
() автор топика
Ответ на: комментарий от Pinkbyte

А причем тут это, когда речь о том, чтобы обрывать smtp сессию, если обнаружено, что такого адресата нет?

Не верю, что postfix этого не умеет.

zgen ★★★★★
()
Ответ на: комментарий от gh0stwizard

ТТ. Измени порядок прявил:

smtpd_recipient_restrictions = permit_mynetworks,
    permit_sasl_authenticated,
    check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf,
    reject_unknown_recipient_domain,
    reject_unknown_sender_domain,
    reject_unauth_destination,
    reject_unlisted_recipient,
    reject_unverified_recipient

Потому что reject_unverified_recipient сразу выбрасывает bounce, что у тебя и происходило до нужных тебе правил: reject_unauth_destination и reject_unlisted_recipient

gh0stwizard ★★★★★
()
Ответ на: комментарий от gh0stwizard

Но также надо иметь в виду, что поведение с автоматическими reject'ами на этапе формирования письма легко можно брутфорсить, что наруку спамерам :) Т.о легко составить список актуальных email'ов на твоем сервере. Поэтому рекомендую почитать эту статью для понимания того как работает постфикс. Также не помешает книга.

gh0stwizard ★★★★★
()
Ответ на: комментарий от gh0stwizard

Ух-ты! Вот засада была.. Вроде сейчас получше всё. Спасибо за материал.

Пока-что без разницы, если сбрутят email'ы. На этот случай есть amavis.

ftk
() автор топика

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

minimal_backoff_time = 2h
maximal_backoff_time = 3h
maximal_queue_lifetime = 2d
bounce_queue_lifetime = 8h
queue_run_delay = 600s

ftk
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.