Новые пользователи, которые никогда не были замечены или активированы

Я разбираюсь с наплывом спам-аккаунтов на нашем Discourse. Есть огромное количество (сотни!) недавно созданных аккаунтов, которые никогда не были «Seen» и ещё не «Activated» — как это могло произойти? Они используют какой-то API для создания аккаунтов? Или они создают аккаунт, но никогда не входят в него? Это очень сильный сигнал того, что эти аккаунты являются спамом, но я не знаю, что это на самом деле означает и могу ли я использовать это для фильтрации, чтобы массово удалить их.

Есть ли интерфейс для поиска и очистки таких неактивных и/или неактивированных аккаунтов? Возможно, это должно происходить автоматически после длительного периода бездействия?

3 лайка

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

3 лайка

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

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

Discourse — это, по сути, один большой API, поэтому кто угодно может напрямую обращаться к тем же конечным точкам, что и интерфейс, чтобы создать аккаунт. Автоматизировать это вполне возможно, хотя тому, кто это делает, пришлось бы обходить лимиты запросов, чтобы быстро создать множество аккаунтов.

На странице admin/users/list/new есть фильтр «не активирован»

Здесь можно нажать на значок над аватаром в заголовке таблицы, чтобы перейти в режим массового выбора. Таким образом, при необходимости, можно удалять аккаунты.

По умолчанию Discourse автоматически удаляет такие аккаунты через 14 дней, если у них нет сообщений. Соответствующая настройка сайта — purge_unactivated_users_grace_period_days.

Если выбрать одного из пользователей и перейти на его административную страницу, можно также использовать кнопку «Поиск по IP», чтобы увидеть аккаунты, связанные с тем же IP-адресом. Если найдено несколько связанных аккаунтов, вам будет предложена возможность удалить их:

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

Есть ли какие-то закономерности? Одно и то же местоположение? Один и тот же IP-адрес? Одна и та же доменная почта? Если есть явные признаки, можно рассмотреть добавление дополнительных защитных мер.

6 лайков

Спасибо, Крис! К сожалению, это было очень полезно и для нас. У нас также только что был всплеск новых пользователей, которые явно были спамерами. Начиная с 16 октября, у нас было 268 пользователей, зарегистрировавшихся с одного и того же IP-адреса, с именами пользователей, начинающимися с «b» и набора случайных цифр (b123456789).

Не круто

1 лайк

У нас был аналогичный опыт… недавно заблокировали 266 аккаунтов с 89.124.71.104

Когда я попытался заблокировать один из них, в графическом интерфейсе появилась возможность вручную выбрать ещё 10 пользователей для блокировки, но не всех сразу. Было бы здорово добавить кнопку «Все», чтобы не нужно было выбирать по 10 и повторять это действие 25 раз.

Или существует какой-то более удобный способ массовой блокировки?

2 лайка

Другим решением может быть разрешение «удалять все неподтвержденные аккаунты с одного IP-адреса» здесь

2 лайка

Неважно… Я просто невнимательный. Есть опция «выделить всё», позволяющая удалять 100 пользователей за раз.

Я просто не заметил кнопку, которая открывает [ ] рядом с именами пользователей.

4 лайка

Забавно, что это был тот же IP, что и у меня.

2 лайка

Могут ли эти волны исходить от чего-то похожего на OAuth-приложение [1]? Симптомы очень похожи на то, что только что произошло в Mastodon.


  1. дисклеймер: конечно, я вообще не понимаю, как работают OAuth-приложения ↩︎

Этот пользователь тоже сообщал об этом. Было бы оправданно превентивно заблокировать этот IP-адрес для всех клиентов?

Именно это и послужило причиной вопроса, да! Здесь как минимум 193 случая. У нас также была ещё одна волна из нескольких десятков других бот-аккаунтов, которые получили TL1 и затем отправили по 20 личных сообщений каждый — именно при поиске подобных аккаунтов я обратил внимание на учётные записи вида b123456789.

1 лайк

Обновление: даже после блокировки этого IP-адреса я вижу несколько новых пользователей, зарегистрировавшихся с той же схемой имён, но с других IP. Пора подумать о решении с капчей :melting_face:

2 лайка

Вот ещё одна категория спам-аккаунтов — прошлой ночью за одну ночь было зарегистрировано сто новых аккаунтов, все с одинаковым шаблоном имён пользователей/имён:

В отличие от неактивированных аккаунтов bXXXX, все они созданы с различных IPv6-адресов.

Я пробую reCAPTCHA v2, так как она бесплатна. Настройка заняла всего несколько минут.

Укажите ваш ключ сайта и секрет, а также обновите некоторые значения здесь: /admin/site_settings/category/discourse_captcha?filter=recaptcha

1 лайк

Рекомендую присматривать за ними. За последние несколько дней нас атаковало несколько волн таких аккаунтов. Та же схема имен, с нескольких IP-адресов.

Они быстро набирают уровень TL1 [“чтение” 209 постов за 11 минут…], чтобы затем отправлять спам в личные сообщения случайным пользователям.

Какие сообщения она отправляет? Есть ли какая-то закономерность @mbauman @Danika_Dakika?

Похоже, можно прочитать более 50 сообщений менее чем за минуту, не просматривая темы и даже не оставляя следа?

4 лайка

Да, каждый аккаунт получал TL1, а затем отправлял 20 личных сообщений (по умолчанию это дневной лимит) авторам тем с текстом вроде:

Привет, @mbauman

Увидел вашу тему „[название темы]“ — [рекламное сообщение и ссылка]

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

2 лайка

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

Хм, у вас вообще снижены настройки для TL1?

Пользователей можно включить в список «прочитанных сообщений» (posts read) и без захода в темы (через API), но если tl1_requires_topics_entered установлено по умолчанию в значение 5, то эти аккаунты не должны иметь возможность достичь уровня TL1