Борьба со спамом на уровне фильтра пакетов

Жесткий, но эффективный метод борьбы со спамом в комментариях

Два месяца назад я писал об одном очень жестком методе борьбы с последствиями установки плагина Time spent on blog. Теперь этот же самый метод применяем на -ботах, которые безуспешно пытаются оставить спам в комментариях.

Отвлекусь от темы и отвечу на вопрос о необходимости применения жестких мер против спамеров: во-первых, они генерируют много паразитного трафика (трафик не бесплатен), во-вторых, они генерируют лишнюю нагрузку на сервер, в-третьих, вода камень точит — любую капчу можно подобрать.

Предварительная настройка:

[-]
View Code Bash
iptables -N spammers
iptables -A INPUT -j spammers

Фрагмент процесса, который запускается кроном (например, раз в час):

[-]
View Code Bash
# Лог доступа (IP идёт первым полем)
PATH=/var/log/access.log

# Получаем список забаненных спамеров
ips=`iptables -S | grep "^-A spammers " | awk '{ print $4 }' | sed 's/\/32//g'`

# Ищем в логах спамеров (предполагается, что возвращается код ошибки 500,
# если капча введена неверно. Если капча была введена неверно больше 10 раз
# с одного и того же IP, то считаем, что это спамер.
spammers=`\
    grep -E '"POST /wp-comments-post.php HTTP/1.[01]" 500' $PATH | \
    awk '{ print $1 }' | \
    sort | \
    uniq -c | \
    awk '{ if ($1 > 10) { print $2; }}' \
`

# Ищем новые жертвы и добавляем их в список
echo "$spammers" | grep -v -F "$ips" | xargs -l -r -I {} iptables -A spammers -s '{}' -j DROP

В результате всё очень здорово: с учётом того, что на сервере крутятся несколько весьма посещаемых сайтов, нагрузка значительно падает. В связи с чем возникает вопрос: какова же доля паразитного трафика в Internet?

Недостатки метода: требуется root-доступ к серверу и хорошее знание (чтобы понять, что делает скрипт).
Достоинства: спамеры идут лесом, уменьшается доля паразитного трафика и нагрузка на сервер.

iarq72g98h

Автор: ; опубликовано в: Linux, WordPress, Администрирование; метки: iptables, Linux, спам
26
Июл
2009

RSS Комментарии к статье «Борьба со спамом на уровне фильтра пакетов» (6)  »

  1. bessangel

    А еще лесом идут пользователи сидящие за NAT, как и пользователи динамически обновляемых ипишников :)

    • Почти. Полное решение несколько сложнее (я связан NDA по работе) и использует iptables -m recent и whois (с целью выявления динамических IP), поэтому сильно лесом они не идут :-)

      Вообще по статистике спам идет с постоянных адресов.

      За последние 30 минут:

      [-]
      View Code Text
           10 62.63.105.37
           13 85.17.231.195
           14 195.88.32.160
           14 79.140.166.45
           15 80.73.6.138
           17 95.107.55.140
           39 95.133.89.88
           40 84.19.176.28
           46 194.8.75.105
           73 95.78.96.75
          117 89.149.244.89
          177 93.174.93.54
          428 217.20.112.128
  2. Макс

    Неужели ваш блог так спамят ?

  3. mamuka

    Владимир, как начинающему всё это использовать на будущее?

Пожалуйста, не используйте эту форму для комментирования! Данная форма предназначена исключительно для ботов.

Оставить комментарий к записи «Борьба со спамом на уровне фильтра пакетов»

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Оставляя комментарий, вы выражаете своё согласие с Правилами комментирования.

Подписаться, не комментируя

गते गते पारगते पारसंगते बोधि स्वाहा