У меня есть Linux-сервер, действующий как виртуальный хост для хостинга домена. Он работает под управлением CentOS и Parallels Plesk 9.x. Независимо от следующего, СПАМ продолжает поступать со скоростью 1-3 раза в секунду.
Служба xinetd прослушивает SMTP-соединения и перенаправляет на qmail-smtpd. Служба qmail только обрабатывает очередь, но не контролирует поступающие в нее сообщения ... поэтому остановка не имеет никакого эффекта. Если вы остановите xinetd И qmail, а затем завершите все открытые процессы qmail-smtpd, весь почтовый поток ИГОДНО остановится.
Проблема в том, что qmail-smtpd недостаточно умен, чтобы проверять действующие почтовые ящики на локальном хосте перед тем, как принять почту. Таким образом, он принимает плохую почту с поддельным адресом ответа, который обрабатывается в очереди qmail. Qmail не может доставлять сообщения локально и возвращается на поддельный адрес для ответа.
Мы полагаем, что исправление состоит в том, чтобы исправить процесс qmail-smtpd, чтобы дать ему возможность проверять наличие локальных почтовых ящиков ПЕРЕД принятием сообщения. Проблема в том, что когда мы пытаемся скомпилировать патч chkuser, мы сталкиваемся с ошибками из-за панели управления Plesk.
Кто-нибудь знает, что мы могли бы сделать по-другому или лучше?
Отключение всех без исключения почтовых процессов (для проверки в качестве индикатора того, что отдельная учетная запись была взломана. Это НЕ было подтверждено).
Отключение процессов почты и http-сервера (в случае взлома formmail)
Запуск exim'a вместо qmail (простая / быстрая установка, но xinetd заставляет exim закрыться и перезапускает qmail самостоятельно)
Включена защита SPF через графический интерфейс Plesk. Не помогает.
Включен серый список через графический интерфейс Plesk. Не помогает.
Отключены уведомления о отказах через командную строку
Используйте Postfix вместо qmail (я ничего не знаю о Postfix и не хочу возиться с ним, если кто-то не знает, что у него есть потенциал для обработки обратного рассеяния, прежде чем вкладывать время)
Как упоминалось выше, компиляция чкуср патч, мы полагаем, что эта проблема ОСТАНОВИТСЯ вместе с qmail (из-за Plesk в миксе, компиляция терпит неудачу каждый раз, и поддержка Parallels Plesk не отвечает, если я не выкладываю деньги)
Если я не удаляю СПАМ из очереди исходящей почты каждую ночь, он забивается миллионами СПАМов и отключит ИСХОДЯЩИЕ почтовые службы.
Вы можете заменить стандартный qmail-smtpd на qpsmtpd. Затем вы можете использовать плагин check_badrcptto для проверки адреса получателя и отклонения электронных писем, если он недействителен.
Также обратите внимание на этот полезный патч:
http://qmail.jms1.net/patches/validrcptto.cdb.shtml
Использует файл cdb для вывода списка действительных получателей. Может быть хорошей альтернативой использованию qpsmtpd.
Как давний администратор qmail, я решил использовать этот патч 'realrcpto' (http://code.dogmap.org./qmail/#realrcptto), поскольку он лучше всего интегрируется с существующими файлами dot-qmail моих пользователей и не требует обслуживания других файлов конфигурации или баз данных.
(Если бы только сервер защиты от спама, который мы сейчас используем перед qmail, мог выполнять проверку RCPT через SMTP ... Вздох!)
я получил ответ от UCE Protect:
Персонал нашей службы поддержки ответил на ваш запрос в службу поддержки №340135.
Я не верю, что QMAIL способен на это, но если вы можете кодировать на C, тогда не должно быть большого труда жестко закодировать быстрый и грязный 1 лайнер внутри той части, которая выполняет обработку DNSBL, и затем скомпилировать ее:
$MF
в нашем примере) 2. Вы должны найти переменную, которая читает DNSBL-Names из вашей конфигурации (в нашем примере мы называем ее $ DNSN) 3. Вы должны найти цикл внутри программы, который проходит через настроенный DNSBLS (мы предполагаем, что совпадения нет так как NEXT-LIST
в нашем примере)Теперь вставьте строку вроде следующей ПЕРЕД обычным DNSBL CHECK
строка в этом разделе, которая выталкивает ips.backscatterer из теста, если Mail from НЕ ПУСТОЙ SENDER:
If {$DNSN == "ips.backscatterer.org" && $MF != "<>") then NEXT-LIST
Это должно привести к тому, что ips.backscatterer.org Не будет спрашивать, пока MAIL FROM
не пусто.
Возможно, в Qmail есть прием получше, но я действительно не знаю.
-
-
Технический директор UCEPROTECT-Network http://www.uceprotect.net
Я не знаю, так ли это до сих пор, но проверка правильности rcpt позволяет кому-то проверять вашу сеть на наличие действительных адресов. Принятие сообщения, а затем его возврат требует дополнительных усилий со стороны спамеров. В вашем случае с плохими заголовками ответов вы застряли в руках.
Я не знаком с Plesk, но стандартная конфигурация qmail с использованием tcpserver вместо xinetd позволяет вставлять rblsmtpd перед qmail-smtpd. Затем вы можете указать rblsmtpd на одну из служб черного списка, и это должно уменьшить количество принимаемого вами спама.
Приложив немного больше усилий, вы можете устранить спам, который продолжает поступать, проанализировать IP-адреса отправляющего сервера и создать свой собственный черный список с помощью rbldns. Это помогло уменьшить количество принимаемого спама, но не устранило его полностью.
Другой полезный патч проверяет почту из домена, чтобы убедиться, что она действительна, но для этого требуется DNS-поиск, и лучше всего запустить локальный DNS-кеш.
Борьба со спамом - это боль! Удачи!
Ознакомьтесь с действующей функцией проверки пользователей в версии Magic Mail с открытым исходным кодом http://www.linuxmagic.com/opensource/magicmail/magic-smtpd/magic-smtpd-0.8.4-2.tar.gz
Я использую его вместе со SpamDyke, чтобы отбрасывать более 95% писем, которые попадают на сервер. server_args = -Rt0 / var / qmail / bin / spamdyke --config-file /etc/spamdyke.conf / var / qmail / bin / relaylock / var / qmail / bin / magic_mail
Действительная проверка пользователя может быть реализована внешним скриптом. Я использую сценарий bash, который проверяет / var / qmail / users / assign на наличие почтового идентификатора.
Magic mail - это двоичный файл, а не скрипт вроде qpsmtpd, поэтому он не подвержен скачкам нагрузки на сервере с высоким трафиком.
Надеюсь это поможет.
[РЕДАКТИРОВАТЬ]
Сегодня я обнаружил, что Plesk начиная с версии 7.5 изначально поддерживает проверку допустимых пользователей на уровне SMTP-соединения. Плагин smtp находится в / var / qmail / plugins / chkrcptto. Чтобы это сработало, вам нужно всего лишь настроить отклонение писем несуществующему пользователю в настройках почты каждого домена.
Если спам попадает только в один или два домена, поговорите со своим клиентом и убедитесь, что этот параметр включен. Включенное таким образом доменное имя должно быть указано в / var / qmail / control / rejectnonexist.