Спам-бот на Друпал-сайте

Прислано: ingumsky@drupal.org

вт, 10/01/2012 - 10:27

В последние несколько дней на моём сайте активизировались спам-боты, которые пытаются пропихнуть рекламу в комментарии. Даже с учётом того, что у меня успешно применяется рекапча для формы регистрации, а зарегистрированные пользователи весьма ограничены в правах, в последние три-четыре дня на сайте было проведено несколько успешных атак.

Схема одна и та же — в районе 11 утра или полудня регистрируется бот, который оставляет 30-40 одинаковых комментариев в последних топиках трекера. Если бот не забанен, спустя часа два он повторяет атаку. В принципе, у меня на сайте действует хороший инструмент, который я когда-то рекомендовал для drupal.ru — система фолов, которая даёт всем пользователям возможность отмечать флагом «фол» комментарий, нарушающий правила. Как только количество отметок флагов достигнет определённой отметки (зависит от посещаемости сайта), комментарий снимается с публикации. Такая защита вполне работает, но есть один минус — если бот оставил 60 сообщений, надо, чтобы, как минимум, 4 (если порог для действия флага составляет 4 отметки им) пользователя увидели эти 60 спамерских сообщений и пометили их флагов, что, согласитесь, не всегда реально. Оперативно делать это не получится.

Для борьбы с такими атаками можно использовать тот приём, который применяется на drupal.ru сейчас. Некоторые пользователи (условно назовём их модераторами), увидев комментарий спам-бота, могут зайти в профиль спамера и нажать кнопку «забанить», и пользователь окажется заблокирован. Одновременно с этим действием произойдёт депубликация всех комментариев и нод, созданных этим юзером. Минус в том, что этот инструмент надо доверять только тем пользователям, в которых вы уверены, что они не будут пользоваться им в других случаях кроме как для борьбы с откровенными спам-ботами.

Довольно хорошим инструментом являются правила для блокировки регистрации пользователей с определённых IP, с определёнными именами или адресами почты. Для того, чтобы успешно применять этот метод, необходимо уже иметь некоторую статистику атак и здраво мыслить. Например, хотя многие атаки осуществляются ботам с адресами на mail.ru или gmail.com, понятно, что блокировать возможность указывать такие адреса нельзя, чтобы не лишиться большей части потенциальных пользователей. Зато совершенно спокойно можно запретить регистрацию с почтовыми адресами в доменах dns123.org и qq.com — лично ко мне оттуда регистрировались только спамеры. Если вы умеете и имеете возможность проверить однозначно спамерский аккаунт на предмет того, каким ip он пользовался и есть ли ещё пользователи с таким же ip, вы можете отсечь заодно и ботов, которые идут к вам с определённого ip или из целой подсети. Это очень удобно, хотя, опять же, действовать надо аккуратно, чтобы не запретить доступ к сайту нормальным пользователям.

Наконец, вернёмся к атакам, с которым моему сайту пришлось столкнуться в последние дни. Каждый раз, когда происходила атака, я обнаруживал в статистике посещений переходы с поисковика в количестве чуть превышающем число спам-комментариев по ключевой фразе: «войдите или зарегистрируйтесь чтобы получить возможность отправлять комментарии site:http://example.net/» Вместо example.net, естественно, был адрес моего сайта. Вывод простой — спамеры просто находят drupal-сайты по ключевой фразе из перевода, и потом «обстукивают» его ноды, где они могли бы оставить свои комментарии после регистрации. Чтобы помешать это делать автоматическим спамерам, я бы рекомендовал изменить фразу в переводе на то, что вам больше по душе, чтобы смысл сохранился, но при этом чтобы бот через поисковик её уже не находил.

PS Я не специалист по безопасности, но думаю, что новичкам мои советы могут пригодиться.

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано RxB в вт, 10/01/2012 - 10:38.

Вот это анти-спам http://rxb.name/node/11
А остальное...
Признаком друпал-сайта может быть и inurl:node


Опубликовано Valeratal в вт, 10/01/2012 - 10:56.

Такая же проблема. Причем камменты даже осмысленные. Началось на новогодних. Стоит мат-капча. Но походу это люди.

Подскажите, можно ли настроить рулез, чтобы снимали каммент содержащий гиперссылку. Чтобы затем как то проверить и опубликовать (если это не спам)

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


Опубликовано orb в вт, 10/01/2012 - 11:01.

"Valeratal" написал(а):

Подскажите, можно ли настроить рулез

модуль пиши :)
1. создай группу "cool user" в которую помещай классных чуваков
2. при публикации комента если найден УРЛ, комент снимается с публикации
3. Вьюха которая показывает не опубликованный коменты


Опубликовано RxB в вт, 10/01/2012 - 11:08.

"Valeratal" написал(а):

Подскажите, можно ли настроить рулез, чтобы снимали каммент содержащий гиперссылку. Чтобы затем как то проверить и опубликовать (если это не спам)

Валера, жди, на неделе выложу своё решение для модерации


Опубликовано ingumsky@drupal.org в вт, 10/01/2012 - 12:11.

"RxB" написал(а):

Признаком друпал-сайта может быть и inurl:node

Может. БОлее того — это более надёжный способ. Просто, как я понимаю, боты пользуются запросом, указанным в моём посте, чтобы найти конкретные страницы, где можно оставить комментарии.

"Valeratal" написал(а):

Подскажите, можно ли настроить рулез, чтобы снимали каммент содержащий гиперссылку. Чтобы затем как то проверить и опубликовать (если это не спам)

У меня стоит патченный elf, который пропускает все ссылки наружу через внутренний запрос вида example.net/goto/ + ссылки все закрыты noindex и rel=nofollow, но ссылки всё равно постят.

"RxB" написал(а):

Валера, жди, на неделе выложу своё решение для модерации

Для всех? Было бы интересно посмотреть.


Опубликовано Айдар в вт, 10/01/2012 - 12:39.

"ingumsky@drupal.org" написал(а):

у меня успешно применяется рекапча для формы регистрации

Ну, рекапчу вроде как уже давно поломали!
Вопрос-ответ - имхо, всегда был лучшей капчей. На моих сайтах, по меньшей мере, спам-атак в последние дни не было.


Опубликовано Valeratal в вт, 10/01/2012 - 12:39.

Да мне бы камменты с ссылками хотя бы модерировать. Один фиг, от людей-спаеров не закроешься.


Опубликовано chocho в вт, 10/01/2012 - 14:14.

Имхо самая надежная защита-использовать продуманные вопросы-ответы.

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

Остается проблема ручного спама, но его количество в сотни раз меньше чем автоматического.


Опубликовано ingumsky@drupal.org в вт, 10/01/2012 - 14:53.

"Айдар" написал(а):

Ну, рекапчу вроде как уже давно поломали!
Вопрос-ответ - имхо, всегда был лучшей капчей. На моих сайтах, по меньшей мере, спам-атак в последние дни не было.

Возможно, но у меня взламывают сейчас её редко. Есть подозрение, что в случае моего сайта без людей не обходится — не всё автоматом происходит.

"chocho" написал(а):

Имхо самая надежная защита-использовать продуманные вопросы-ответы.

Наверное, но рекапча меня, в принципе, устраивает.


Опубликовано bsyomov в вт, 10/01/2012 - 16:00.

"ingumsky@drupal.org" написал(а):

У меня стоит патченный elf, который пропускает все ссылки наружу через внутренний запрос вида example.net/goto/ + ссылки все закрыты noindex и rel=nofollow, но ссылки всё равно постят.

У меня пытаются постить, не смотря на то, что ссылки тупо вырезаются из комментов, и комменты премодерируются. =) Это боты, им пофиг.


Опубликовано Cyber в вт, 10/01/2012 - 16:36.

"bsyomov" написал(а):

Это боты, им пофиг.

поменяйте разметку формы и айдишники на инпутах ;)


Опубликовано ingumsky@drupal.org в вт, 10/01/2012 - 23:51.

"bsyomov" написал(а):

У меня пытаются постить, не смотря на то, что ссылки тупо вырезаются из комментов, и комменты премодерируются. =) Это боты, им пофиг.

Ага. Есть расхожее мнение, что если ссылки закрыты, они, типа, не ломятся, но это миф :)


Опубликовано bsyomov в ср, 11/01/2012 - 01:40.

"Cyber" написал(а):

поменяйте разметку формы и айдишники на инпутах ;)

На самом деле, они мне не сильно-то мешают, к тому же есть идея потренероваться на них написав антиспам фильтр, так что пусть себе постят - больше постят - больше материала для размышлений... =)


Опубликовано Cyber в ср, 11/01/2012 - 06:40.

"bsyomov" написал(а):

На самом деле, они мне не сильно-то мешают, к тому же есть идея потренероваться на них написав антиспам фильтр, так что пусть себе постят - больше постят - больше материала для размышлений... =)

тоже вариант )


Опубликовано Айдар в ср, 11/01/2012 - 08:17.

"ingumsky@drupal.org" написал(а):

но это миф :)

+1

"bsyomov" написал(а):

больше постят - больше материала для размышлений...

С другой стороны, в комментах будет много неуника.


Опубликовано Valeratal в ср, 11/01/2012 - 10:08.

"Айдар" написал(а):

С другой стороны, в комментах будет много неуника.

по низкочастоным продвигаться :)


Опубликовано achadidi в ср, 11/01/2012 - 17:54.

а я пошла другим путем: разрешены комменты для анонимов с  BlockAnonymousLinks[/module]
и осложненная кучей полей и подтверждением мыла и прочим регистрация

а можно ролями поиграть - есть материал - присвоили роль
нет материала - нет ваще никаких прав


Опубликовано Айдар в ср, 11/01/2012 - 18:03.

"achadidi" написал(а):

и осложненная кучей полей и подтверждением мыла и прочим регистрация

У меня для этого Not so Fast юзается. Правда не против спама.


Опубликовано ingumsky@drupal.org в пт, 13/01/2012 - 10:41.

У меня комменты только с регистрацией можно оставлять. Я вот всё думаю настроить так, чтобы а) ограничить количество комментариев, которые может создавать новый пользователь за единицу времени (скажем, десять в день в первые десять дней) + переводить в категорию advanced (у меня такая есть для проверенных пользователей, которые точно не боты и не пришлые тролли) автоматически после того, как они набрали x постов и y комментариев, но при этом их материалы были отмечены флагом abuse не более z раз.


Опубликовано bsyomov в ср, 25/01/2012 - 06:46.

"Айдар" написал(а):

С другой стороны, в комментах будет много неуника.

Они не заапрувлены, соответственно нигде они не показаны. А база собирается. =)


Опубликовано Айдар в ср, 25/01/2012 - 08:08.

Хм, а зачем может быть нужна такая база?


Опубликовано bsyomov в ср, 25/01/2012 - 15:57.

Для дальнейшего анализа и написания фильтра, точнее одной из его частей.


Опубликовано Злодзей в ср, 25/01/2012 - 18:07.

Вопросы собираются ботом в базу. И, если у него нет ответов, то ответ может заноситься человеком.

Сложность вопросов тут ни при чём, нужно, чтобы они были такие, которые нет в базе бота.
Т.е. надо периодически менять тексты вопросов.
Очень удобно, если модификации - небольшие, да ещё, чтобы, при этом, не надо было ответы менять


Опубликовано ingumsky@drupal.org в ср, 25/01/2012 - 18:14.

У меня, по ходу, теперь практически только человеки-спамеры регистрируются. Но через трекер их творения находятся быстро.


Опубликовано Злодзей в ср, 25/01/2012 - 18:28.

Вы никак не можете определить бот это или человек

Если бот что-то не может - спам-оператор поможет

А боты могут собирать человеческие обсуждения из других форумов и постить их и Вы ещё подключитесь к обсуждению

На то, что обычно говорят спам - совсем и не спам.
Это:

  • хулиганство, вандализм
  • дискредитация, компрометация, гнобление конкурентов
  • попытка расконфигурировать спамзашиту (спамфильтры и чёрные списки спаммеров)
  • введение вебмастеров в заблуждение, которые вужасе взвизгивают "спам-боты прорвались" и начинает второпях переустанавливать, переконфигурировать, сносить антиспам, а то и сайт


Опубликовано ingumsky@drupal.org в ср, 25/01/2012 - 18:29.

Не понял, зачем вы это написали всё :)