Це хороша практика чи занадто драконічне відхилення пошти від поштових серверів без RDNS


20

Нещодавно я відмовився від SpamAssassin, і тепер я базую відмову від спаму на DNSRBL, сірий список та інші основні тести, і мені цікаво, чи варто також блокувати хости, які не мають дійсного RDNS, що відповідає EHLO?

Якщо я це зроблю, чи не заважаю на законну пошту та засмучувати своїх клієнтів? Я чув, як люди схоплюються, що AOL це робить, і це змушує мене думати, що це, можливо, занадто рідко для мене.

Мені також цікаво, чи можу я йти на компроміс, перевіряючи, що RDNS принаймні щось встановлено, але не намагаюся відповідати його EHLO. Чи можливо це за допомогою Postfix (і чи корисно це)?


4
Так, це зазвичай робиться, навіть якщо дуже маленька кількість людей має проблеми з цим. Див. Розділ Боротьба зі спамом. Що я можу зробити як: адміністратор електронної пошти, власник домену чи користувач? для подальшого обговорення.
Майкл Хемптон


Багато місяців тому зворотний пошук у новій установці sendmail у Red Hat був за замовчуванням ... Я думаю, що rDNS, хоча і не є офіційним стандартом для поштових серверів, є значною мірою стандартом defacto. Він накручує людей на динамічні IP-адреси (тобто будинки з споживчими підключеннями ISP), але раніше, колись, що більшість цих динамічних IP-адрес із з'єднаннями були ботнетами ... не маю на увазі сьогоднішніх днів.
Avery Payne

Відповіді:


10

Я спробував декілька підходів, перевіряючи HELO / EHLO з досить пристойним клієнтським набором серед 100k-200k користувачів, і в кінцевому підсумку вирішував таке:

  • Перевірте, чи HELO / EHLO містить доменне ім'я. - В основному це зводиться до того, чи має ім'я крапка. Перевірка DNS на ім'я призвела до того, що БУЛЬКО невдалих серверів, тому що сервер не має внутрішнього імені або те, що ви не можете вирішити належним чином.
  • Перевірте, чи має IP-зворотний запис DNS. - Знову ж це невдала настройка, оскільки ми не перевіряємо її проти HELO / EHLO. Перевірка проти HELO / EHLO створила стільки квитків, що цей параметр не тривав навіть жодного дня.
  • Перевірте чинність доменного імені відправників. - Це основна перевірка, щоб переконатися, що якщо нам все-таки доведеться відскакувати повідомлення, принаймні знайдеться сервер для нього.

Ось блок Postfix, який ми використовуємо для цих перевірок:

smtpd_recipient_restrictions =
    reject_non_fqdn_sender,
    reject_unauth_destination,
    reject_unknown_reverse_client_hostname,
    reject_invalid_helo_hostname,
    reject_non_fqdn_helo_hostname,
    reject_unknown_sender_domain,
    reject_non_fqdn_recipient

1
Також хороший додатковий підхід , щоб перевірити ім'я хоста проти списку регулярних виразів , який відповідає різним іменам динамічно призначається провайдер як xxxx.dynamic.yyy.comабо 12-34-56-78.dsl.zzz.com. Усі такі хости повинні надсилати свою пошту через ретранслятор провайдера, а не безпосередньо в MX одержувача. В основному такими хостами є ботнетні вузли та їхні повідомлення, які я використовую для вивчення моїх даних.
Кондібас

Схоже, це може бути рішенням для мене. Чи є спосіб запустити SpamAssassin і дозволити його обходити всі, за винятком тих листів, у яких не вдалося зрівняти HELO з RDNS, тоді ми лише відскакуємо від тих, хто вище певного балу? Інші листи продовжують повністю обходити цей крок.
Пітер Сніг

З exim MTA я зробив це так, послідовно: addr / host відправника перевіряється на білий список. Якщо відповідність - прийнято негайно, інше перевіряється на чорному списку. Якщо збігається - змінний прапор підняв "Gotcha!" і повідомлення також приймається. Якщо повідомлення пройшло через списки - воно передається SA, що виконує роль демона. Якщо повернене значення досить високе, прапор "Gotcha!" піднято і повідомлення також прийнято. Потім повідомлення передається маршрутизаторам.
Кондібас

1
Якщо прапор не піднятий, повідомлення доставляється, як зазвичай. В іншому випадку виробляється сліпа копія. Оригінальне повідомлення знову доставляється як завжди, тоді як BC передається спеціальному маршрутизатору, який має са-навчання як транспорт. Така схема дозволяє розділити потік пошти на безперечно спам-гілку, яка вивчає SA-bayes, і підозріло на решту, що перевіряється SA-bayes. Повідомлення з піднятим прапором також мають додатковий заголовок, який дозволяє сортувати їх у "Небажані"
Кондібас,

Я перевірив ці правила щодо своєї поштової скриньки, і є електронні листи, які було б відхилено через недоменний HELO або відсутність зворотного запису DNS. Їх, правда, дуже мало (лише кілька відправників у поштовій скриньці з 40 000 електронних листів), але тут є важливі речі. Зокрема, якби я використовував reject_unknown_reverse_client_hostname, електронний лист із результатами моєї візової заяви до певної країни Південно-Східної Азії не отримав би. Я б радив не використовувати reject_invalid_helo_hostnameта reject_unknown_reverse_client_hostname.
michau

12

Вкрай звичайно блокувати SMTP-сервери, які не мають цих основ:

  1. Ім'я хосту в HELO вперед переноситься на IP-з'єднання, похідне від.
  2. IP-адреса з'єднання повертається до імені хоста, заявленого в HELO.
  3. Якщо існують політики SPF, DKIM або DMARC, перевірте це.

Кожен, хто захоплюється заблокованістю через одну з них, повинен бути відбитим і пернатим.
Людям, які опиняються заблокованими з інших причин, особливо ситуацій, які покладаються на відповідність RFC у "ненормальних" ситуаціях, я буду співчувати цьому. Спам - це така проблема, що немає просто приводу для пропуску основ.


2
Зворотне пошукове ім'я зовсім не потрібно, щоб відповідати HELO. Хост може працювати безліч доменів, тоді як зворотний пошук повертає лише одне основне ім'я.
Кондібас

1
Звичайно, ви можете робити все, що завгодно. Ваш 511 Your rDNS doesn't match your HELOсервер буде отримувати з моїх серверів, а також ще багато інших. Спам - головна проблема, з якою дизайнерам SMTP RFC не доводилося стикатися. Реалістичні вимоги мало чим відрізняються від RFC.
Chris S

Спам не є проблемою при правильному налаштуванні MTA. Мій досвід показує, що (невдала ORвідповідність міжбіркових байдів списків регулярних ORвиразів з rDNS) виявляється 99,99% спаму. Ні DNSBL, ні грайлістів, ні DKIM, ні SPF. 200k + вхідні повідомлення щомісяця. 1-2 хибних-р, 10-20 хибних-н на місяць.
Кондібас

5

Я би очікував, що надсилання MTA матиме дійсні RDNS, але наполягати на відповідності EHLO буде залежати від того, хто такі "клієнти". Деякі цікаві вказівки ви можете знайти в RFC5321 :

2.3.5.

(...) Ім'я домену, вказане в команді EHLO, ОБОВ'ЯЗКОВО бути або основним іменем хоста (ім'я домену, яке вирішує адресу RR), або, якщо у хоста немає імені, адресною (буквально) (...)

4.1.4.

(...) SMTP-сервер МОЖЕ перевірити, чи аргумент доменного імені в команді EHLO насправді відповідає IP-адресі клієнта. Однак якщо перевірка не вдається, сервер НЕ МОЖЕ відмовляти приймати повідомлення на цій основі.

але тоді в 7,9.

Це чітко встановлений принцип, що сервер SMTP може відмовитись приймати пошту з будь-яких операційних або технічних причин, що мають сенс для веб-сайту, що надає сервер. (...)


1
Це, мабуть, заборонено, оскільки рядок, що надсилається разом з EHLO, в реальному світі часто не відповідає сумісності RFC. Я бачив внутрішні імена хостів localhostта багато інших неправильних речей, що надсилаються сюди, навіть із цілком законною поштою.
Майкл Хемптон

3

Зворотний пошук не обов'язково вказує на ім'я хоста, вказане в HELO. Іноді на одному і тому ж хості розміщено декілька доменів, і всі вони мають однакову IP-адресу. Але коли ви спробуєте зробити зворотний пошук, ви отримаєте ім'я, яке було розміщено в записі PTR. Очевидно, що обидва FQDN будуть різними - і це цілком прийнятно.

Єдина обставина, яка дозволяє скинути повідомлення, - це невдалий зворотний пошук. Будь-який успішний пошук означає, що хост дійсний. Імена не повинні збігатися.


1
"Очевидно, що обидва FQDN будуть різними - і це цілком прийнятно". Ні. Ви можете налаштувати лише одну запис PTR, а ваш поштовий сервер може оголосити лише одне ім’я хоста в HELO. Тож має бути очевидним, що обидва можуть відповідати.
Кріс С

2

Мені цікаво, чи слід також блокувати хости, які не мають дійсного RDNS, що відповідає EHLO?

Ні, ви не повинні. Блокує цілу електронну пошту лише за одним критерієм, це погана практика.

Якщо я це зроблю, чи не заважаю на законну пошту та засмучувати своїх клієнтів?

з більшою ймовірністю ви втратите законну пошту

Мені також цікаво, чи можу я йти на компроміс, перевіряючи, що RDNS принаймні щось встановлено, але не намагаюся відповідати його EHLO. Чи можливо це за допомогою Postfix (і чи корисно це)?

так, можливо. Ви можете використовувати reject_unknown_reverse_client_hostname замість reject_unknown_client_hostname

На жаль, постфікс не має гнучких варіантів "складного рішення". У Exim ви можете додати деякі пункти для таких листів, наприклад,

Score = 0 
1. The HELO or EHLO hostname is not in fully-qualified domain or address literal form. Score +=10
2. The HELO or EHLO hostname has no DNS A or MX record. Score +=20
3. The HELO or EHLO hostname is listed with the A record "d.d.d.d" under rbl_domain. Score +=20
4. The sender domain has no DNS A or MX record. Score +=10
5. SPF checks return softfail. Score +=10, fail, Score +=20
...

І так далі. Після того, як всі перевірки будуть завершені, і якщо у вас Оцінка> 100, ви можете відхилити пошту. Насправді ви можете отримати таку поведінку, але вам потрібно написати власну службу політики

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.