Sign in to follow this  
Followers 0
ttatyana940210

Защита сайта от спама: как и с кем бороться

3 posts in this topic

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

В теме постараемся рассмотреть, как защититься от спама в обратной связи, от кого именно нужно защищаться, и как реализовать защиту на любой CMS (Джумла, Битрикс, Вордпресс и пр.)

Таинственная база ресурсов

Первый вопрос, с которого стоило бы начать: откуда боты или линкбилдеры (о них немного позже) вообще узнают о том, что ваш сайт можно подвергать спаммерской атаке. Все очень просто – специальные программы собирают сайты, соответствующие определенным критериям. Затем эти сайты парсятся в базу, которая также доступна в интернете.

Как правило, схема довольно проста. Если однажды боту удалось поставить линк на сайте с движком Джумла. После этого он делает вывод о том, что все сайты на этом же движке можно включать в базу. Для поиска ресурсов можно использовать те же поисковые системы, вводя часть доменного имени, который нужен. Это может быть и Битрикс, и Вордпресс. Выбирая разные ключевые запросы при поиске сайтов определенной тематики, игнорируется ограничение поисков на максимальное количество схожих запросов.

Более того, такие программы умеют добавлять в базу даже тематические сайты на том или ином движке (вас не удивляет постоянное попадание в тематику сайта ботовских комментариев?). Конечно, такие программы и базы не помогут создать массовую атаку из одного источника, но они как минимум дают несколько десятков тысяч ссылок и помогают точечно воздействовать на выбранные ресурсы.

Как избежать попадания в базу? Самый простой и очевидный способ – это избавиться от фудпринтов на сайте. Как ищется ресурс на необходимом движке- по запросу wp-login.php и ему подобных. Потратьте несколько минут на установку плагина, который поможет сделать красивые урлы и избавиться от фудпринтов. Конечно, это не дает 100% защиту от спама, но существенно снизит риск атаки на ваш ресурс.

Помимо установки плагина, нужно поработать руками – всегда убирайте с футера никому не нужные отсылки powered by Wordpress/Joomla/Drupal и пр. По ним сайты с определенным движком тоже очень легко пробиваются по поиску. Если нужно оставить упоминание о CMS, вместо текста используйте изображение – его пока еще поисковики читать не научились.

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

Кто такие линкбилдеры?

Если со стороны веб-разработчиков классического формата весь спам воспринимается тотальным злом, то в мире самого спама он делится на качественный и не качественный. Стандартный и относительно дешевый crawling ботами – это стрельба из пушки по воробьям. У такого IP есть больше шансов получить бан, чем действительно «попасть в цель» со своим комментарием или линком.

Качественный спам делается более «изысканно». Этим должны заниматься линкбилдеры. Они оставляют только тематические комментарии. Хоть их продуктивность гораздо ниже обычных программ – до 50 ссылок в день, но работают они более точечно и дают результат лучше.

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

Идеально, если этим будет заниматься человек – линкбилдеры часто придумывают все новые способы обхода модерации и другой защиты. Чтобы облегчить задачу модератору, можно добавить несколько дополнительных правил (настраиваются в зависимости от особенностей движка сайта). Например, вы сможете отправлять на модерацию только комментарии и сообщения, содержащие ссылки или проверять только тех пользователей, которые недавно создали аккаунт и написали до 5 сообщений.

Чтобы не допустить спаммера на сайт в принципе, можно поставить блокер еще на этапе регистрации. Линкбилдеры часто заводят аккаунты с временных ящиков. Образцово-показательным в этом плане является сервис mailinator. С его помощью можно привязать почтовый ящик к любому домену, который не пробивается через поиск. Более того, вы сможете зарегистрировать бесплатный домен и просто привязать к нему выдуманный ящик. Такая почта действует стабильно до тех пор, пока сам домен или ящик не попадет в спам-базы.

Как выявлять одноразовые электронные адреса почты? Очень просто – проверить MX Record такой почты. Хоть он и не ссылается на Mailinator напрямую, но при любом запросе редиректит с несуществующего домена сразу на ресурс. Очень легко проверить принадлежность такой почты при помощи обработки GET-запросов. Проверки можно запускать через JS.

Лайфхак: если фиксируете попытку спама, лучше не выводить предупредительное сообщение о подозрении в линкбилдерстве. Лучше перевести на 500 страницу или выводить стандартную заглушку о проведении технических работ и пр. Это хотя бы на время отобъет у спамера охоту заводить новый ящик или менять прокси сервер.

Спамерские программы

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

Гораздо сложнее защитить сайт от массовой целенаправленной атаки. Допустим, спамеру нужно создать сразу несколько аккаунтов на вашем ресурсе. Для этого нужно использовать несколько проверенных (и относительно новых) способов защиты сайта от спама.

  1. Не убирайте капчу. Последние пять лет интернет говорит о том, что защитить сайт от спама при помощи капчи нереально. И это правда. Но убирать ее нельзя ни в коем случае. Бедные индийские студенты решают задачки из капчи и собирают пазлы за полминуты. Если вы уберете ее – то спамеру не нужно будет тратить и этого времени (и нет, здесь речь не о жалости к индусам). Капча хоть и не становится защитой на 100%, но она поможет выиграть время и существенно усложнит жизнь спамеру. Также вы можете несколько усложнить капчу – например, в PlayThru нужно выполнить относительно сложные задания, на которые уходит много времени.2.jpg.1b8863792866188697d3e9d4ba17cd58.jpg
  2. Второй момент – скрытые поля в регистрационной форме. Такой способ был придуман давно, многие бот-программы уже научились его успешно обходит. Но к радости веб-мастеров, «умных» ботов еще меньшинство. Форма регистрации может содержать пустое поле с display:none. Если робот заполняет форму автоматом, то вы получите это поле заполненным и сможете автоматически отправлять IP в спам. Есть и другие вариации использования скрытых полей.3.thumb.png.ebc5106f0d9be0140f9102d5540732d2.png
  3. Проверка по телефону. Для крупных ресурсов есть смысл активации проверки подлинности аккаунта через мобильный телефон. Но не все сайты поддерживают такую возможность, поэтому есть смысл воспринимать метод исключительно как дополнительный.
  4. Кастомизация регистрационных полей. Защитить сайт от бот-спама поможет ваша фантазия и изобретательность. Любой бот легко считывает поля под названием email или username, вводя правильные для валидации поля данные. Но если вы назовете поле несколько иначе или специально поменять местами выводимые на фронте названия полей? Можно поиграться с динамическими атрибутами (но в таком случае нужно будет добавить ключ шифрования для скрытого инпута, чтобы сервер мог нормально обрабатывать динамические атрибуты).

Защита от спама формы авторизации

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

3.gif.8a02b1acf017bab91c0d1d772ecc40c7.gif

Зачем нужно усложнять защитой от спама авторизационные страницы? Мы же проверили пользователя при авторизации и не пропускаем спам-комментарии. Ответ прост – чтобы защитить кражу аккаунта. Особенно это актуально на ресурсах, где пользователям доступны какие-либо привилегии от программы лояльности или на страницах которых содержатся личные данные.

1.thumb.jpg.b27be9567203b8d805b313d03d85c61b.jpg

Даже самый сложный пароль, увы, не защитит от грязного брута. Базы с почтой и паролем скупаются за копейки. Напоминайте своим пользователям о том, что для вашего ресурса лучше создавать отдельный пароль: базы данных сливаются через пробелы в SQL с различных форумов и пр. Удобно иметь одни и те же credentials на всех ресурсах, но это очень опасно.

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

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

Итог. Защитить сайт от спама можно, но для этого придется продумать сразу несколько способов защиты. Подумайте хотя бы о минимальной капче, модерации и работе с фудпринтами. Далее можно будет проработать формы через JS и скрытые поля. Высший пилотаж – использование ключей шифрования или телефонной аутентификации. Ориентируйтесь на масштабы вашего ресурса, и выбирайте оптимальные способы защиты. Делайте скидку на то, что не все методы будут применимы для вас. Например, не все пользователи увидят капчу на Flash, некоторые браузеры показывают скрытые поля и пр.

Мы попытались обозначить все базовые и универсальные для любого движка сайта способы защиты. Конечно, они не гарантируют 100% закрытость сайта, но даже минимальная защита от спама лучше, чем ее отсутствие.

 

1

Share this post


Link to post
Share on other sites

Я заметила что некоторые плагины, которые использовала раньше для защиты сайта от спама уже не работают и пришлось менять на новую защиту. Видимо спамеры стали более изощренные и стали совсем другие методы использовать. Так как спамеры не сидят на месте и развиваются в этом плане, то и владельцам сайтов нужен прогресс. Я для блога на вордпресс нашла 5 плагинов, устанавливала по очереди пока не нашла того, который на конкретный момент помог бороться со спамерами. Работают они по разному принципу, раз 4 остальные спам так и не могли остановить.

0

Share this post


Link to post
Share on other sites

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

Понимаю что спам вообще плохо, но иногда просто никаких других решений уже и нет.

Также смущает вопрос, работает ли спам рассылка или нет? Все говорят,  нет, и все пользуются. Где правда?

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0