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

Сейчас мы расскажем о новой опции в антиспам-плагинах для CleanTalk, которая позволяет эффективно отражать атаки спамботов на ваш сайт. Опция получила название SpamFireWall(SFW), она блокирует POST- и GET-запросы от наиболее активных спамботов и не дает им загружать сервер.

Как это работает


  1. Пользователь заходит на сайт.
  2. Его IP-адрес проверяется по базе данных, содержащей записи о более чем двух миилионах IP-адресов, принадлежащих спамботам.
  3. Если IP-адрес содержится в базе, то сайт выводит специальную страницу. Обычные пользователи при этом ничего не заметят, так как защита работает в невидимом режиме.
  4. Вся информация о процессе сохраняется в базе данных и доступна в Панели управления сервисом.

Специальная страница, которая выводится на экран при подозрении на спам-активность, не отнимает много вреемени у пользователей, увидевших ее ошибочно. Через 3 секунды такой пользователь перейдет на страницу сайта автоматически или раньше после клика по ссылке.



При этом блокируется весь HTTP/HTTPS-трафик со спам-активных IP-адресов. Таким образом, помимо спам-атак, с этих IP-адресов больше не смогут осуществляться и другие виды атак на веб сайты: bruteforce, DDoS, SQL injection,  сканирование сайта спамботами, реферельный спам и т.д.

SpamFireWall позволяет пользователям формировать свои собственные «черные списки» и позволяет добавлять как отдельные IP-адреса, так и под сети.



В настоящее время SpamFireWall доступен для WordPress, Joomla, Drupal, Bitrix, SMF, MediaWiki, IPS Community Suite. Кроме того, можно использовать API-метод для получения списков спам-активных сетей (https://cleantalk.org/help/api-spam-check).  

Логирование запросов SFW


Все запросы, по которым сработала опция SFW, сохраняются в журнал и после этого доступны в Панели управления сервисом.



В статистике можно посмотреть количество заблокированных запросов, а также запросов, которые были заблокированы, но при этом перешли на сайт. На данный момент в базе SFW находится 3 миллиона 220 тысяч IP-адресов. За 7 дней, с 3 по 10 мая, SFW заблокировал 3858562 запросов.

О сервисе CleanTalk


CleanTalk это облачный сервис защиты веб-сайтов от спамботов. CleanTalk использует методы защиты, которые незаметны для посетителей веб-сайта. Это позволяет отказаться от методов защиты, которые требуют от пользователя доказать, что он человек (captcha, вопрос-ответ и др.).
Поделиться с друзьями
-->

Комментарии (24)


  1. shasoft
    01.06.2016 13:07

    А как IP попадает в этот список спам ботов? Получается что от начала работы и до времени попадания в этот список бот сможет легко зайти на сайт и наспамить. А если он через VNP работает, то IP VPN попадет в список и все, кто через этот VPN работают, сразу станут ботами?


    1. shagimuratov
      01.06.2016 13:40

      База адресов формируется по обратной связи от веб-сайтов подключенных CleanTalk. К примеру, если IP проявил спам-активность на нескольких сайтах в течении N-ого количества времени, то он будет в БД.

      Да, если IP используется как прокси/VPN на группу пользователей, то он тоже будет в БД. Постетитель с этим адресом получит спец. страницу. Спам-бот с большой вероятностью на ней застранет, а реальный посетитель пройдет дальше.


      1. shasoft
        01.06.2016 18:58

        Спам активность определяется по интервал времени к количеству сайтов (т.е. если один IP засветился на нескольких сайтах в течении небольшого промежутка времени => спам-бот)? Или сайту нужно через API указывать что такой то IP спамит?


        1. AleksandrRazoR
          01.06.2016 19:09

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


  1. mayorovp
    01.06.2016 13:17
    +3

    Страница-заглушка выводится с каким кодом? Как всегда, 200, с разрешением кеширования всеми промежуточными прокси-серверами? :)


    При скачивании файла вместо него тоже скачается такая страница?


    При загрузке картинки вместо картинки тоже будет отдана такая страница?


    А вместо скрипта?


    Учитывается ли, что на вызовы API нельзя в ответ отдавать html-разметку?


    Как вообще настроить ваш плагин, чтобы он понимал, что


    • /requests/ и /requests/16/ — это страницы;
    • /requests/new и /requests/16/save — это вызовы API;
    • а /requests/16/attachments/48 — это картинка?


    1. shagimuratov
      01.06.2016 13:45

      Страница-заглушка выводится с каким кодом? Как всегда, 200, с разрешением кеширования всеми промежуточными прокси-серверами? :)

      Выдается код 403.
      При скачивании файла вместо него тоже скачается такая страница?

      Да, будет выдана спец.страница при условии нахождения IP посетителя в БД SpamFireWall (SFW).
      При загрузке картинки вместо картинки тоже будет отдана такая страница?

      Будет выдана картинка.
      А вместо скрипта?

      Имеется ввиду самописный скрипт не входящий в стандартную поставку CMS и не используйющий хуков CMS? Тогда да, будет выдан скрипт, т.к. SFW требует либо ручной интеграции, либо используйт один из готовых плагинов,
      https://cleantalk.org/install

      Учитывается ли, что на вызовы API нельзя в ответ отдавать html-разметку?

      Да, наши плагины выдают спец. страницу только для запросов к HTML страницам CMS.

      Как вообще настроить ваш плагин, чтобы он понимал, что

      О какой CMS идет речь?


      1. mayorovp
        01.06.2016 14:03

        О какой CMS идет речь?

        А вы только с CMS работаете? В статье об этом написано не было.


        Урлы я приводил из обычного веб-приложения на ASP.NET MVC + KnockoutJs


        1. shagimuratov
          01.06.2016 18:25

          В статье приведен список поддерживаемых CMS. Так же есть API. Вот здесь можно посмотреть как выгрузить БД к себе на сайт,
          https://wiki.cleantalk.org/doku.php?id=api_spam_active_networks

          Чуть позже сделаем развернутую статью с примером запуска SFW без привязки к CMS.


  1. djalin
    01.06.2016 16:18

    IP остаются навечно или у вас какой-то период очистки есть?

    И только на ІР ориентируетесь?


    1. shagimuratov
      01.06.2016 18:26

      Зависит от уровня спам-активности адреса, вилка 7-180 дней.


    1. AleksandrRazoR
      01.06.2016 18:33

      Плагины обновляют базу IP адресов раз в сутки или при пересохранении настроек, на серверах изменения в базу SFW вносятся раз в 10 минут.


  1. bosha
    01.06.2016 18:01

    Из статьи не очень понял, чем оно лучше clouldflare, который умеет все тоже самое?


    1. shagimuratov
      01.06.2016 18:27

      Cloudflare решение с пропуском трафика через сервера третьей организации, SpamFireWall решение с фильтрацией трафика на конечном сайте.


  1. XAHOK
    01.06.2016 19:55

    К сожалению, такое решение обходится буквально на раз любым «медленным» ботом, использующим любую библиотеку браузера + модемы сотовой связи. Особенно последнее может выстрелить в ногу владельцу сайта, т.к. легко получить в бане большие пулы IP-адресов мобильных провайдеров. А это далеко не маленькая доля рынка, даже в городе.

    Эффект от внедрения будет мгновенный, но не продолжительный.


    1. AleksandrRazoR
      01.06.2016 20:34

      Немного разные задачи. Есть Анти спам сервис и есть SpamFireWall. SFW будет блокировать запросы от уже известных спам IP адресов, у которых высокая спам активность и атаковано с них много сайтов. Это полезно когда надо убрать лишние запросы, которых может быть и по 100к в сутки, так и для блокирования любых других атак с этих IP через HTTP/HTTPS.

      Для вашего примера, доля таких ботов очень мала и для них есть анти спам.


      1. XAHOK
        01.06.2016 21:01

        Про малую долю согласен, но мина заключается в IP от мобильных операторов. Чуть ниже я написал, в чем именно проблема может быть.


    1. shagimuratov
      01.06.2016 20:36

      По нашей статистике броузерные боты это менее 1% от всего мусорного трафика,
      https://habrahabr.ru/company/cleantalk/blog/282586/

      Речь идет не о перманентном бане, а доп. странице, которая выдается при условии «подозрительности» IP адреса. При этом посетитель с полноценным броузером покиент указанную страницу в течении 3х секунд и более ее не увидит.


      1. XAHOK
        01.06.2016 20:59

        Вы обратили внимание только на первую составляющую, но главной миной являются модемы. Попробую объяснить подробнее, что я имею ввиду:
        1. Берем обычный 3G модем
        2. Если бот видит, что вылезла ваша страница, то он перезапускает сервис модема и получает новый IP

        Со временем количество подозрительных IP начинает расти (а они все от мобильных операторов) и пользователи мобильных устройств или 3G модемов начинают видеть вашу страницу, которая к требуемому сайту не относится никак. Большинство даже читать не будет, что там у вас написано, а сразу пойдет искать на других сайтах.


        1. shagimuratov
          02.06.2016 08:55

          Так и есть, к примеру вот сеть /24 билайна с количеством спам активных адресов более 30%,
          https://cleantalk.org/blacklists/AS8402#2.93.207.0/24

          С другой стороны, если дальше рассматривать в качестве примера Билайн (AS8402), то у него спам активных сетей 42 штуки, общая емкость 10 752 IP адреса (без учета перекрытия сетей). Сетей с низкой спам-активностью (менее 30%) 1306 штук, с общей емкостью 3 429 376 IP адресов.

          Т.е. вероятность обычному пользователю Билайна получить спец. страницу 0.03%.

          Плюс вы можете на своем акаунте исключить из кеша SFW (добавить в белый список) любой набор сетей,
          https://cleantalk.org/my/show_private

          Ну и наверно на будущее сделаем возможность включать/исключить в кеш AS и страны, а так же снизим задержку автоматического перехода со спец. страницы на запрощенную с 3х до 1ой секунды.


          1. XAHOK
            02.06.2016 09:13
            +1

            Т.е. вероятность обычному пользователю Билайна получить спец. страницу 0.03%.


            К сожалению, все не так просто. Цифра 0.03% относиться к среднепотолочному пользователю билайна. Но в реальности, эти спамсети относятся к одному региону (территориально) и уже внутри этого региона вероятность увеличивается многократно, вплоть до тех же 30%. А со временем эти адреса опять станут доверенными, т.к. множество нормальных человек будет заходить с них. Именно этот фактор и используют ботоводы, т.к. мало кто захочет терять мобильных пользователей, особенно в последние годы.

            а так же снизим задержку автоматического перехода со спец. страницы на запрощенную с 3х до 1ой секунды.

            Еще стоит сделать возможность ее кастомизации владельцем сайта. В этом случае вероятность отказа посетителя значительно снизится.


            1. shagimuratov
              02.06.2016 09:50

              Еще стоит сделать возможность ее кастомизации владельцем сайта. В этом случае вероятность отказа посетителя значительно снизится.

              Спасибо за идею.


              1. XAHOK
                02.06.2016 09:52

                Да всегда пожалуйста. Иногда из меня получается хорошая «уточка»))


  1. VIP883
    02.06.2016 18:57

    А на joomla только для версии 1,5 —? а то на сайте не понятно, в помощи инструкция только для 1,5 — уточнений по другим версиям пока не нашел? Просто 1,5 уж больно старая… планируется ли поддержка других версий…


    1. AleksandrRazoR
      02.06.2016 18:58

      Поддерживаются версии Joola 2.5-3.x