Все эксперменты начались с идеи блокирования спам хостов на основании анализа "первой волны" спама.
Имея 9000 активных пользователей, из которых, предположим, 300 есть в списке рассылки текущего спамера, можно, теоретически, пропустив и проанализировав 10-50 сообщений текущей рассылки спама, заблокировать источник, защитив остальные 250. Написл тест для обратной проверки на открытые релеи и прокси, за пол часа - поймал два открытый прокси и без того имевшиеся в DSBL. Буду экспериментировать с проверкой на порты используемые троянскими программами.Провалившись с идеей обратной проверки на открытые прокси и релеи по IP, хотел использовать метод обратной проверки реальности пользователя, т.е.:
- Cмотрим какой адрес передают в "MAIL FROM:";
- Вычисляем по "host -t mx" MX обслуживающий домен адресата;
- Делаем запрос к низшему MX, проверяем примет ли сервер почту для "RCPT TO:" проверяемый_емайл"
- Если сервер вернул ошибку - помещаем в списки блокировки IP отправителя и проверяемый емайл.
При ближайшей проверке выяснил, что большинство серверов на этапе "RCPT TO:" не проверяют наличия пользователя, а генерируют письмо с ошибкой позже :-( Т.е. метод тоже нежизнеспособен.
Метод блокирования при отсутствии открытого 25 порта для IP отправителя, нежизнеспособен, так как в сети множество хостов отправляющих валидные сообщений, но не принимающих соединений из вне.
Остается класическая блокировка по DNSBL спискам с его ~ 30% КПД :-(