Сейчас мы расскажем о новой опции в антиспам-плагинах для CleanTalk, которая позволяет эффективно отражать атаки спамботов на ваш сайт. Опция получила название SpamFireWall(SFW), она блокирует POST- и GET-запросы от наиболее активных спамботов и не дает им загружать сервер.
Как это работает
- Пользователь заходит на сайт.
- Его IP-адрес проверяется по базе данных, содержащей записи о более чем двух миилионах IP-адресов, принадлежащих спамботам.
- Если IP-адрес содержится в базе, то сайт выводит специальную страницу. Обычные пользователи при этом ничего не заметят, так как защита работает в невидимом режиме.
- Вся информация о процессе сохраняется в базе данных и доступна в Панели управления сервисом.
Специальная страница, которая выводится на экран при подозрении на спам-активность, не отнимает много вреемени у пользователей, увидевших ее ошибочно. Через 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)
mayorovp
01.06.2016 13:17+3Страница-заглушка выводится с каким кодом? Как всегда, 200, с разрешением кеширования всеми промежуточными прокси-серверами? :)
При скачивании файла вместо него тоже скачается такая страница?
При загрузке картинки вместо картинки тоже будет отдана такая страница?
А вместо скрипта?
Учитывается ли, что на вызовы API нельзя в ответ отдавать html-разметку?
Как вообще настроить ваш плагин, чтобы он понимал, что
- /requests/ и /requests/16/ — это страницы;
- /requests/new и /requests/16/save — это вызовы API;
- а /requests/16/attachments/48 — это картинка?
shagimuratov
01.06.2016 13:45Страница-заглушка выводится с каким кодом? Как всегда, 200, с разрешением кеширования всеми промежуточными прокси-серверами? :)
Выдается код 403.
При скачивании файла вместо него тоже скачается такая страница?
Да, будет выдана спец.страница при условии нахождения IP посетителя в БД SpamFireWall (SFW).
При загрузке картинки вместо картинки тоже будет отдана такая страница?
Будет выдана картинка.
А вместо скрипта?
Имеется ввиду самописный скрипт не входящий в стандартную поставку CMS и не используйющий хуков CMS? Тогда да, будет выдан скрипт, т.к. SFW требует либо ручной интеграции, либо используйт один из готовых плагинов,
https://cleantalk.org/install
Учитывается ли, что на вызовы API нельзя в ответ отдавать html-разметку?
Да, наши плагины выдают спец. страницу только для запросов к HTML страницам CMS.
Как вообще настроить ваш плагин, чтобы он понимал, что
О какой CMS идет речь?mayorovp
01.06.2016 14:03О какой CMS идет речь?
А вы только с CMS работаете? В статье об этом написано не было.
Урлы я приводил из обычного веб-приложения на ASP.NET MVC + KnockoutJs
shagimuratov
01.06.2016 18:25В статье приведен список поддерживаемых CMS. Так же есть API. Вот здесь можно посмотреть как выгрузить БД к себе на сайт,
https://wiki.cleantalk.org/doku.php?id=api_spam_active_networks
Чуть позже сделаем развернутую статью с примером запуска SFW без привязки к CMS.
djalin
01.06.2016 16:18IP остаются навечно или у вас какой-то период очистки есть?
И только на ІР ориентируетесь?AleksandrRazoR
01.06.2016 18:33Плагины обновляют базу IP адресов раз в сутки или при пересохранении настроек, на серверах изменения в базу SFW вносятся раз в 10 минут.
bosha
01.06.2016 18:01Из статьи не очень понял, чем оно лучше clouldflare, который умеет все тоже самое?
shagimuratov
01.06.2016 18:27Cloudflare решение с пропуском трафика через сервера третьей организации, SpamFireWall решение с фильтрацией трафика на конечном сайте.
XAHOK
01.06.2016 19:55К сожалению, такое решение обходится буквально на раз любым «медленным» ботом, использующим любую библиотеку браузера + модемы сотовой связи. Особенно последнее может выстрелить в ногу владельцу сайта, т.к. легко получить в бане большие пулы IP-адресов мобильных провайдеров. А это далеко не маленькая доля рынка, даже в городе.
Эффект от внедрения будет мгновенный, но не продолжительный.AleksandrRazoR
01.06.2016 20:34Немного разные задачи. Есть Анти спам сервис и есть SpamFireWall. SFW будет блокировать запросы от уже известных спам IP адресов, у которых высокая спам активность и атаковано с них много сайтов. Это полезно когда надо убрать лишние запросы, которых может быть и по 100к в сутки, так и для блокирования любых других атак с этих IP через HTTP/HTTPS.
Для вашего примера, доля таких ботов очень мала и для них есть анти спам.XAHOK
01.06.2016 21:01Про малую долю согласен, но мина заключается в IP от мобильных операторов. Чуть ниже я написал, в чем именно проблема может быть.
shagimuratov
01.06.2016 20:36По нашей статистике броузерные боты это менее 1% от всего мусорного трафика,
https://habrahabr.ru/company/cleantalk/blog/282586/
Речь идет не о перманентном бане, а доп. странице, которая выдается при условии «подозрительности» IP адреса. При этом посетитель с полноценным броузером покиент указанную страницу в течении 3х секунд и более ее не увидит.XAHOK
01.06.2016 20:59Вы обратили внимание только на первую составляющую, но главной миной являются модемы. Попробую объяснить подробнее, что я имею ввиду:
1. Берем обычный 3G модем
2. Если бот видит, что вылезла ваша страница, то он перезапускает сервис модема и получает новый IP
Со временем количество подозрительных IP начинает расти (а они все от мобильных операторов) и пользователи мобильных устройств или 3G модемов начинают видеть вашу страницу, которая к требуемому сайту не относится никак. Большинство даже читать не будет, что там у вас написано, а сразу пойдет искать на других сайтах.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ой секунды.XAHOK
02.06.2016 09:13+1Т.е. вероятность обычному пользователю Билайна получить спец. страницу 0.03%.
К сожалению, все не так просто. Цифра 0.03% относиться к среднепотолочному пользователю билайна. Но в реальности, эти спамсети относятся к одному региону (территориально) и уже внутри этого региона вероятность увеличивается многократно, вплоть до тех же 30%. А со временем эти адреса опять станут доверенными, т.к. множество нормальных человек будет заходить с них. Именно этот фактор и используют ботоводы, т.к. мало кто захочет терять мобильных пользователей, особенно в последние годы.
а так же снизим задержку автоматического перехода со спец. страницы на запрощенную с 3х до 1ой секунды.
Еще стоит сделать возможность ее кастомизации владельцем сайта. В этом случае вероятность отказа посетителя значительно снизится.shagimuratov
02.06.2016 09:50Еще стоит сделать возможность ее кастомизации владельцем сайта. В этом случае вероятность отказа посетителя значительно снизится.
Спасибо за идею.
VIP883
02.06.2016 18:57А на joomla только для версии 1,5 —? а то на сайте не понятно, в помощи инструкция только для 1,5 — уточнений по другим версиям пока не нашел? Просто 1,5 уж больно старая… планируется ли поддержка других версий…
shasoft
А как IP попадает в этот список спам ботов? Получается что от начала работы и до времени попадания в этот список бот сможет легко зайти на сайт и наспамить. А если он через VNP работает, то IP VPN попадет в список и все, кто через этот VPN работают, сразу станут ботами?
shagimuratov
База адресов формируется по обратной связи от веб-сайтов подключенных CleanTalk. К примеру, если IP проявил спам-активность на нескольких сайтах в течении N-ого количества времени, то он будет в БД.
Да, если IP используется как прокси/VPN на группу пользователей, то он тоже будет в БД. Постетитель с этим адресом получит спец. страницу. Спам-бот с большой вероятностью на ней застранет, а реальный посетитель пройдет дальше.
shasoft
Спам активность определяется по интервал времени к количеству сайтов (т.е. если один IP засветился на нескольких сайтах в течении небольшого промежутка времени => спам-бот)? Или сайту нужно через API указывать что такой то IP спамит?
AleksandrRazoR
Спам активность посчитается и в том и в другом случае, но для попадания в базу черных списков нужна информация с нескольких сайтов.