Назад | Перейти на главную страницу

Остановка входящего спама с помощью sendmail

У меня проблема из-за "умного" системного администратора, который сделал выбор, пока меня не было два месяца: Спам.

Я управляю примерно 10 000 веб / почтовых сайтов. Он решил разрешить, чтобы вся почта для всех этих доменов отправлялась в / dev / null, если пользователь не существует, вместо того, чтобы возвращать его обратно. В некоторых случаях это нормально, но проблема в том, что для неизвестных пользователей указано, что получатель ОК, что заставляет спамеров полагать, что они попадают на действительный адрес.

Итак, с учетом всего вышесказанного, я теперь вижу ТОННЫ попыток спама, поступающих на все эти сайты, и я не могу найти исправление на сервере для каждого сервера.

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

Я использую sendmail на CentOS 5. У меня есть полный root-доступ к машинам, и мне очень удобно работать с IPTables, tcpdump, модификациями ядра, модификациями sendmail, а также списком доступа и т. Д. На моих основных маршрутизаторах.

Загвоздка в том, что компания не приобрела глобальную службу защиты от спама. В идеале, если бы был способ настроить sendmail, чтобы он не выполнял поиск DNS, если почта отправляется неизвестному пользователю, это было бы началом.

1) Добавить серый список

2) Добавить спамхаус

3) Добавьте различные магры xxxx_delay_xxx в sendmail.mc

4) add (добавить)

FEATURE(`greet_pause',`5000')dnl
define(`confBAD_RCPT_THROTTLE',`2')dnl

на sendmail.mc

Все это принесет много пользы в целях ограничения спама.

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

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

Другой план - заблокировать любой IP-адрес на брандмауэре от попадания в порт 25, который вызвал более 90% неизвестных ответов пользователя (минимум 10 попыток отправки). Скорее всего, вы могли бы использовать для этой цели fail2ban.

Можете ли вы сократить размер сообщений о недоставке?


Другие вещи, которые вам следует сделать:

  • Начать измерения. Посмотрите, можете ли вы измерить, сколько пропускной способности «потрачено впустую» из-за спама и в какой момент SMTP-диалога это происходит. Насколько эффективны поиски DNS? Сколько стоит HELO? Сколько стоят заголовки? Сколько стоят сообщения о недоставке? Сколько стоит вся эта пропускная способность?

  • Получите услугу фильтрации спама. Когда вы узнаете, сколько стоит полоса пропускания и сколько ее следует уменьшить, если у вас не было спама, вы сможете оправдать стоимость услуги фильтрации спама. Если вы измерили пропускную способность и больше не можете ее уменьшить, вы все равно заплатите деньги. Измените, кому вы платите, и положите еще одну задачу в стопку «фиксированных».

Sendmail все равно выполняет обратный поиск в DNS. Рассматривали ли вы возможность отклонения сообщений от хостов, не имеющих замкнутого обратного цикла DNS?

Предупреждение: предоставляется sendmail.org FEATURE(require_rdns) действует после DNSBL проверяет. Вы можете использовать его вариант, представленный на open-sendmail.sourceforge.net.

Можно ограничить вышеуказанные проверки для каждой страны, используя локально обслуживаемую карту DNS IP-> страны (например, zz.countries.nerd.dk) и `FEATURE (anfi / rsdnsbl), предоставленную на open-sendmail.sourceforge.net.

P.S. FEATURE(greet_pause,...)упомянутый в другом ответе заслуживает внимания.

Во-первых, Sendmail предназначен для отправки электронной почты, а не для получения. Спам отправляется С вашего сервера или НА ваш сервер? Похоже, на ваш сервер отправляется спам. В таком случае Sendmail не имеет к этому никакого отношения.

У меня есть одно простое предложение: внедрить некоторые общедоступные черные списки, такие как Spamcop, Spamhaus и Barracuda. Вот как мои настроены в Postfix:

smtpd_recipient_restrictions =
        permit_sasl_authenticated,
        reject_rbl_client zen.spamhaus.org,
        reject_rbl_client bl.spamcop.net,
        reject_rbl_client b.barracudacentral.org,
        reject_unauth_destination,
        permit_mynetworks,
        reject_invalid_hostname,
        permit

Конечно, после определенного объема (не знаю, какой порог) начинают вас отрезать или просят выложить немного бабла. Я думаю, что это немало объема, прежде чем вы дойдете до этого момента.