Защита и лицензирование софта. CAPTCHA — защита от автоматической регистрации

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

А если серьезно, защита от автоматической регистрации называется CAPTCHA (от англ. «Completely Automated Public Turing test to tell Computers and Humans Apart» и представляет собой полностью автоматизированный публичный тест Тьюринга для различения компьютеров и людей) — торговая марка Университет Карнеги — Меллона, компьютерный тест, используемый для того чтобы определить, человек ли использует систему. Термин появился в 2000 году.

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

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

Существуют программы, распознающие конкретные реализации CAPTCHA, к примеру, PWNtcha. Кроме того, существует возможность подключать модули из программ распознавания текста общего назначения (например Fine Reader) в программы сторонних разработчиков для распознавания картинок CAPTCHA.

Ручное распознавание

Есть еще способ «ручного распознавания», использующий людей и ресурс сайтов с большим трафиком, например, порносайтов. Робот скачивает CAPTCHA с интернет-сервиса и показывает его пользователю порносайта, с просьбой ввести код, который он видит на картинке. Взамен пользователь получает доступ к ресурсу, а робот узнает код, изображенный на картинке («метод леммингов»). Вариантом этого метода является сервис Captcha Exchange Server, запущенный в марте 2007 и направленный на обход картинок CAPTCHA, используемых файлообменниками. Принцип работы сервиса основан на системе баллов, которые пользователь может заработать, распознав картинки для других пользователей, и позже потратить, запустив программу автоматического скачивания с файлообменников, при этом картинки будут распознаны другими пользователями сервиса. Таким образом пользователь может оптимизировать затраты своего времени и денег, набирая баллы, когда он все равно находится у компьютера, и тратя их, когда ему более удобно скачивать (например в случае, если ночью доступ в интернет обходится дешевле).

Несмотря на уязвимости, это не означает, что любая CAPTCHA-защита бессмысленна. Тут наблюдается извечный принцип соревнования оружия и защиты.

Я уже писал обзорный пост возможностей, . Писал другую статью, о (сайтов и интернет-магазинов) на 1С-Битрикс. Этот пост будет из той же серии, об инструментах безопасности, которые доступны в Битриксе сразу «из коробки». Перечислю их все, скажу какой инструмент в какой редакции Битрикса доступен, кратко и не очень расскажу о назначении каждого.

Знаю по опыту работы с клиентами, что вопрос безопасности далеко не последний, который их интересует. Правда, клиенты обычно не разбирается в деталях и просто боятся хакеров, взлома сайта или что сайт сломается. Но в целом в своих опасениях правы.

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

Сначала выводы

Статья получилось большой, да и тематика скучновата. Поэтому я выводы решил написать в самом начале, чтобы увеличить шансы, что вы их прочтете. Так вот, глядя на объем этого поста, может показаться, что во всем разнообразии инструментов безопасности Битрикса легко запутаться. Но это не так. Все они достаточно простые.

Для рядового пользователя, который не слишком разбирается в технических деталях разработки сайтов, достаточно знать, где смотреть отчет по текущей безопасности сайта, уметь запускать сканер безопасности и монитор качества (и то и другое делается в один клик). Есть места, где можно посмотреть единые сводки - просто и понятно. Таким образом, не надо быть спецом по безопасности, чтобы мониторить безопасность в Битриксе так же как не нужно быть экспертом по веб-аналитике, чтобы смотреть посещаемость своего сайта в Лайвинтернете или Яндекс.Метрике.

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

Поехали.

Проактивная защита против взлома сайта

В битриксе есть целый ряд технических инструментов и организационных мер в безопасности, которые объединены под названием «Проактивная защита».

Все инструменты, перечисленные в этом разделе, доступны начиная с редакции 1С-Битрикс «Стандарт» и выше (в редакции «Старт» их нет). Для некоторых требуется модуль «Веб-аналитика», об этом говорится отдельно.

Проактивный фильтр (Web Application Firewall)

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

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

Сканер безопасности веб-сайта

Это сервис, который позволяет проверить сайт на безопасность, выявить возможные уязвимости в программной части и определить неверные настройки безопасности CMS, PHP, сервера.

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

Пож​алуйста, если что-то обнаружится, не надо сразу спускать на программистов всех собак. Сканер зачастую излишне привередлив.

Отличный инструмент, чтобы проверить, все ли порядке с безопасностью на вашем проекте. Аналогичная проверка, простейший аудит безопасности сайта и отчет с рекомендациями от специалистов в этой области будут стоить от 10-15 т.р. и выше.

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

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

Еще сканер умеет искать потенциальные уязвимости в PHP-коде проекта. Кому интересно как это реализовано, можно подробнее прочитать в блоге Битрикса .

Проверка на безопасность кода PHP на сайте.

Для большинства пользователей, которым технические детали не слишком важны, скажу главное - это инструмент для разработчика, который, вполне может что-то забыть предусмотреть в плане безопасности веб-проекта или просто не знать. Этот инструмент позволяет выявлять возможные проблемы, показывает их чтобы можно было устранить. А вот чтобы разработчик не забыл им воспользоваться, да и не упустил из вида массу других мелочей, относящихся не только к безопасности, в 1С-Битрикс присутствует «Монитор качества» , о нем тоже будет сказано в этой статье.

Кроме результатов проверки сайта на уязвимости, даются конкретные рекомендации по устранению. Особенно важные моменты в отчете выделяются красным цветом и обозначены специальным значком.

Веб-антивирус. Защищает сайт от вирусов.

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

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

В зависимости от настроек, которые будут в нем выставлены, Веб-антивирус, может либо только информировать администратора сайта о подозрении на наличие вируса, либо автоматически выявлять в HTML коде сайта опасные участки и «выпиливать» подозрительные iframe и javascript. Есть возможность добавлять исключения, чтобы антивирус перестал срабатывать на безопасные, но подозрительные (по его мнению) части кода.

Проще говоря, веб-антивирус делает большое доброе дело - блокирует распространение вируса вашим интернет-магазином.

Что это значит на практике? Это значит что ваши посетители не получат от своего антивируса или браузера предупреждение что вашему сайту нельзя доверять. И это хорошо!

Сколько раз вы сами сталкивались с тревожным сообщением «Этот сайт угрожает безопасности вашего компьютера» или «У этого сайта проблемы с безопасностью». Кроме того, поисковые системы не исключат ваш сайт из выдачи за распространение вирусов. А именно так бывает, если сайт долгое время заражен.

Стоп-лист . Забанить мерзавцев!

Иногда хочется заблокировать (забанить) некоторых пользователей или ботов, чтобы запретить доступ к сайту. Это бывает полезно, если пользователи делают тестовые заказы с непонятной целью, систематически пишут неадекватные комменты, спамят рекламой или создают излишнюю активность. Для таких случаев в 1С-Битрикс предусмотрен «Стоп-лист».

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

У стоп-листа есть несколько полезных возможностей:

  • Чтобы не забыть разбанить пользователя, а это бывает полезным, поскольку у многих IP-адреса динамические и надолго за одним и тем же юзером не закрепляются, можно выставлять время, в течение которого будет действовать блокировка, после чего снимется автоматически.
  • Можно выводить заблокированным посетителям произвольное сообщение, например «Ваш IP-адрес был заблокирован, в связи с повышенной активностью». Или что на мой взгляд интереснее, перенаправлять на сторонние сайты. К конкурентам, например. Пусть ведут свою деструктивную деятельность у них.
  • Доступ посетителям и ботам можно ограничивать не только по IP-адресу, но и по маске сети и UserAgent`у (при наличии модуля «Веб-аналитика»), что особенно полезно для блокирования нежелательных ботов.

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

Функционал стоп-листа связан с другими инструментами безопасности (например, с «Проактивным фильтром» или «Контролем активности») это дает возможность блокировать нарушителей (в том числе автоматически), которых выявили другие инструменты.

Контроль подозрительной активности на сайте. Кто здесь?

Много хорошо - плохо. Поэтому излишнюю активность на сайте, особенно исходящую от ботов, нужно блокировать. Конечно, вреда особого от нее нет, но и пользы тоже. Например, если ваш сайт размещен на обычном виртуальном хостинге, который легко справляется с 500-700 посетителей в сутки, то попытка выкачать целиком весь ваш сайт, в 10 потоков, используя TeleportPro, вполне может затруднить его работу для других пользователей или привести к сбою. Не говоря уже о том, кому и с какой целью понадобилось выкачивать ваш сайт.

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

В настройках можно выставить ряд параметров: Какую активность считать «излишней», после которой принимать меры, на какое время блокировать источник активности, какое сообщение ему выводить или куда редиректить.

Как видите, штука вполне полезная и найдет применение в работе сайта. Но к сожалению этот инструмент доступен только в редакциях, с модулем «Веб-аналитика» («Эксперт» и «Бизнес»).

Защита административной части

Сердце сайт - административная часть. Это командный центр, откуда ведется управление Скайнетом проектом. Получив доступ к админке, злоумышленник (или просто криворукий сотрудник-экспериментатор) может натворить много бед, которые долго придется разгребать. Чем сложнее пароль, тем сильне хочется сохранить его на рабочем столе в файле «Пароль от сайта.txt », или в браузере, откуда его тоже обычно не составляет труда достать.

Защита административной части по IP-адресу - еще одна линия обороны. Для этого и предназначен этот инструмент. Его использование делает бессмысленными XSS атаки на компьютер администратора / редактора сайта / контент-менеджера. Кража пароля тоже ничего не даст.

Настройка запрета доступа к административной части.

Защита административной части позволяет открыть доступ для управления сайтом только с определенных IP-адресов или диапазонов.

Для удобства настройки, система показывает текущий IP-адрес пользователя. Кроме того, проверяет, не заблокировал ли пользователь доступ самому себе. Но если так получилось, что вы все же оказались заблокированными, например, у вас поменялся IP-адрес и вы не можете войти в админку, вы можете снять ограничение по IP-адресам, создав (по FTP или через панель управления хостингом) специальный файл (с любым содержимым, можно пустой), но по определенному пути и с нужным названием. Путь до файла и его имя задается в настройках модуля «Проактивная защита». Позаботьтесь заранее о том, чтобы в случае блокировки знать какой файл и где нужно создать.

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

Контроль целостности файлов

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

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

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

Защита сессий

Если злоумышленник получает доступ к авторизованной сессии администратора, то сможет получить доступ и к сайту. Чтобы обезопасить сайт от подобного рода взломов, в 1С-Битрикс предусмотрена защита сессий, использование которой делает кражу сессии бессмысленной.

Помимо функционала защиты сессий, имеющегося в настройках групп пользователей, инструмент «Защита сессий» позволяет хранить сессии пользователей в базе данных, что исключает доступ к ним в случае неверных настроек безопасности на виртуальном хостинге. Кроме того, можно задать время жизни идентификатора сессии, чтобы он изменялся через заданные промежутки времени. Тогда даже украденная сессия перестанет быть актуальной через этот промежуток времени. По умолчанию выставлена 1 минута.

Защита от показа сайта во фреймах

Простейший пример - если вы посмотрите на источники переходов на ваш сайт, то увидите, что некоторые ссылки это ваш собственный сайт только с другим адресом. Это и есть открытие во фрейме. Есть сервисы типа snip.ly , которые позволяют ставить ссылки через них, и показывать на стороннем сайте рекламу. Например, если кликнуть по этой ссылке , то вы перейдете в бложик Тёмы Лебедева, где внизу будет моя реклама. При желании к этой рекламе можно будет прикрутить аватарку Тёмы, тогда эффективность будет еще выше.

Чтобы подобные штуки нельзя было провернуть на вашем сайте, в Битриксе есть защита от фреймов.

А вот что об этом пишут сами парни из Битрикса:

Запрет отображения страниц сайта во фреймах других доменов позволяет защитить проект от Clickjacking"a (подсовывание невидимого фрейма с целевого ресурса для получения клика от посетителя), Framesniffing"а и значительно уменьшает вероятность Cross-site scripting атак.

Защита редиректов от фишинга

Фишинг - разновидность интернет-мошенничества.

В Битриксе, как и в любой CMS или сервисе, где необходимо считать клики, есть возможность ставить ссылки через редиректы. Например, в модуле «Реклама». Чтобы злоумышленники не использовали их в своих коварных целях, необходимо включить защиту редиректов.

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

Хосты/домены

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

Панель безопасности

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

Чтобы определить уровень безопасности созданного сайта, достаточно зайти в панель безопасности.

Безопасная авторизация без SSL

Если вам приходится работать с сайтом из разных мест, в том числе через открытые точки Wi-Fi, вы подвергаете безопасности сайт, рискуя, что ваши логин и пароль, через которые вы входите на сайт, будут получены злоумышленниками. Перехват паролей не представляет большой проблемы, если сайт не поддерживает шифрование или вы не используете VPN-соединение.

В Битриксе, есть возможность обезопасить авторизацию без необходимости подключать SSL. Для этого в административной панели, в настройках Главного модуля, нужно включить эту возможность, поставив соответствующую галочку. После этого пароли станут шифроваться по алгоритму RSA с ключом 1024 бит и в таком виде передаются на сервер. Взломать их будет невозможно.

Журнал вторжений

В 1С-Битрикс, все необычные или злонамеренные действия автоматически заносятся в Журнал вторжений. Это дает администратору сайта возможность выявлять попытки атак как сразу, в момент проведения (например, получив соответствующее уведомление на емейл) и блокировать IP-адрес злоумышленникам, так и просматривая события в журнале позже. В журнале в зависимости от основных типов атак делаются соответствующие записи: внедрение SQL, атаки через XSS, попытка внедрения PHP. Журнал вторжений отличный инструмент для администратора сайта, позволяющий проводить профилактику и предупреждать попытки взлома анализируя записи.

Журнал вторжений.

Двухэтапная авторизация и одноразовые пароли

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

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

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

«Брелоки» для генерации одноразовых паролей.

Защита сайта от DDoS

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

Совсем недавно, в 15-й версии в Битриксе появилась новая возможность, быстро подключить защиту от DDoS-атак, предоставляемую сервисом Qrator. Сделать это можно как из админки, так и со специальной страницы на сайте Битрикса (если админка Битрикса у вас на сайте будет недоступна из-за DDos-атаки). В лицензию входит бесплатно 1 защита сайта от ddos в год сроком на 10 дней. Больше уже за деньги. Подобный сервис будет интересен, прежде всего крупным проектам. Но говоря про инструменты безопасности, встроенные в Битрикс, не сказать о нем нельзя.

Важные мелочи

Есть еще мелочи, которые относятся к безопасности, но не такие крутые, как те что я описывал выше. Но поскольку совсем не сказать о них в этой статье нельзя, перечислю их, не вдаваясь в подробности. Всё перечисленное в этом разделе доступно в Битриксе начиная с младшей редакции «Старт».

Политики безопасности сайта для групп пользователей

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

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

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

Журнал событий

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

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

Настройка в Главном модуле параметров журнала событий.

Настройки параметров для журнала событий в инфоблоке.

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

Монитор качества

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

Результаты автоматического тестирования сайта монитором качества.

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

Не стоит сразу звонить разработчику и ругаться если вы прогоните тест, а он покажет много обязательных пунктов которые не выполнены на вашем сайте. Часто на устранение той или иной «недоработки» требуется всего пара минут.

Детальная настройка CAPTCHA

Капча (CAPTCHA) – старый добрый инструмент защиты от действий ботов. У стандартной капчи есть большой минус, они легко решаются в полуавтоматическом режиме. В 1С-Битрикс есть возможность гибко настраивать капчу. Задавать массу параметров в ее отображении, изменять шрифт, определять какие символы будут выводиться в капче, а какие нет. Такая настройка очень удобная. Например, отличный вариант - капча с кириллицей. А чтобы пользователи не путались, какую буквe им нужно написать, английскую или русскую, можно оставить только цифры и буквы алфавита, которых нет в латинице. Часто этого бывает достаточно, чтобы обмануть и ботов и индусов, которые промышляют решением капч.

Настройка параметров отображения капчи.

Защита от автоматических регистраций

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

Защита от подбора пароля

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

Работоспособность сайта

Безопасность сайта это не только защита от хакеров. Это еще и возможность в случае аварии быстро восстановить сайт. Поэтому в данной статье будут рассмотрены, в том числе и эти инструменты.

Все перечисленные в этом разделе возможности, доступны в Битриксе начиная с младшей редакции «Старт».

Резервное копирование

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

Чтобы такого не случалось, продуманные пользователи делают резервные копии и держат их в другом месте, не в той же корзине где лежат все яйца. Не каждый это умеет делать, поэтому в Битриксе возможность резервного копирования реализована очень просто и в разных вариантах. Фактически в пару кликов мышкой. Что именно есть:

Свернуть весь сайт в архив

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

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

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

Автоматическое регулярное резервное копирование

Чтобы сократить ручную работу и человеческий фактор («забыл сделать очередной бакап»), в Битриксе можно настроить автоматическое резервное копирование по расписанию.

Это здорово упрощает жизнь и позволяет иметь актуальные резервные копии. Чтобы бакапы со временем не заняли все место на сервере, можно настроить автоматическое удаление старых копий.

Автоматический backup в «облако»

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

Правило надежного бекапа: «Хранить бекап нужно не на том сервере, где лежит то, что бекапишь».

Чтобы снять с пользователя эту рутину, в Битриксе есть возможность делать резервные копии сразу в облако. Всё то же самое, что описано выше, но после завершения архивации, копия автоматически заливается в облачное хранилище Битрикса или внешнее подключенное к сайту облачное хранилище, например Amazon S3. Плюс для рядового пользователя в том, что облачное хранилище встроено в Битрикс и ничего подключать и настраивать не нужно.

В своем облаке 1С-Битрикс выделяет бесплатно для каждой лицензии определенный объем места под хранение резервных копий:

  • 1 Гб. Для редакции Старт,
  • 2 Гб. Для «Стандарт»,
  • 6 Гб. Для редакции «Эксперт»,
  • 4 Гб. Для «Малого бизнеса»
  • 10 для Бизнес-редакции.

Не слишком много, но этого достаточно чтобы держать в безопасности 1-2 последних резервных копии. При желании бесплатное место в облаке битрикса можно расширить просто докупив его. Или подключить стороннее облако.

Поддержка облачных хранилищ

Напрямую к безопасности это отношения не имеет, но раз уж начал говорить про облачные хранилища, нужно сказать, что облака подключаются без проблем и работают не только для резервного копирования. За это отвечает специальный модуль, доступный во всех редакциях, начиная со «Старт». После подключения облака к Битриксу, можно настроить в нем хранение файлов любых типов. Например, чтобы все видео, загружаемое на сайт, автоматически размещалось в облаке и для пользователя отдавались именно оттуда. Для некоторых задач это полезно, позволяет разгрузить хостинг и ускорить загрузку инфы посетителями.

Инспектор сайтов

Облачный сервис от 1С-Битрикс, который позволяет мониторить несколько простых, но важных параметров на сайтах и интернет-магазинах, которые работают под управлением битрикса:

  • Мониторит работу сайта. Открывается сайт или нет, сколько времени простаивал. Яндекс.Метрика это тоже делает, но этот сервис показывает инфу более детально.
  • Проверяет когда закончится домен и уведомляет по почте. Регистратор тоже уведомляет, но бывают случаи когда лицо ответственное за сайт и тот на кого зарегистрирован домен - разные люди. Тогда ответственный за сайт, может не получить емейла от регистратора домена. Чтобы такого не произошло, его уведомит инспектор сайтов.
  • Срок истечения лицензии 1С-Битрикс. Казалось бы, не слишком важно. На самом деле экономит деньги. Ведь приобретение льготного продления составляет 20% от стоимости лицензии. Главное, успеть его приобрести в течение 30 дней после окончания лицензии. Не успели, в следующий раз придется оплачивать уже 60% от стоимости. Поэтому важно не пропустить нужную дату.
  • Проверять отвечает ли сайта по протоколу https.
  • Срок действия SSL сертификата. Проверит и напомнит, когда придет время продлевать SSL-сертификат.

Проставляем галочки что хотим инспектировать.

Так выглядят результаты инспектирования.

Заключение

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

Все выводы по этой статье я вынес в начало. Повторять их здесь нет смысла. Надеюсь, эта статья помогла вам. Если да, сделайте репост, мне будет приятно:-)


Роберт Басыров

Сложность урока:

4 уровень - сложно, требуется сосредоточится, внимание деталям и точному следованию инструкции.

Недоступно в редакциях:

Ограничений нет

Несколько способов борьбы с автоматической регистрацией ботов.




Добавить в форму регистрации невидимое поле и скрыть его с помощью CSS. Скрывать с учётом того, что особо продвинутые боты обнаруживают display: none . Невидимое поле нужно назвать как-нибудь привлекательно для ботов в контексте содержания сайта: Компания, telefpone. К этому полю можно поставить знак * , - бот решит что без его заполнения не отправится форма.

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

Другой вариант: подменить поле Имя. Для бота будет стандартное, для пользователей - названное вами, а при регистрации менять значения. Алгоритм регистрации не изменится, бот будет по прежнему вводить поле "имя(стандартное)" и не проходить регистрацию.



Защита по IP

Во-первых , есть вероятность отсеять простого человека который:

  • имеет прокси с этим IP,
  • получил динамический IP который есть в базе (очень малая вероятность),
  • человек, случайно попавший в базу.

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


Организационные меры защиты

Возможен такой вариант: пользователь после регистрации попадает в группу Новички с минимальными правами. Он может только заполнить профиль и ответить на форуме. Личные сообщения, постинг ссылок, добавление файлов, открытие новой темы и прочего ему запрещено. Как только он оставит на форуме N сообщений (на выбор администратора), он переходит в группу зарегистрированные пользователи , которая имеет базовые пользовательские права.

Можно создать и группу Активные пользователи , которые будут иметь расширенный набор прав и туда пользователь попадёт после набора M сообщений.

Штатно в Bitrix Framework такое реализовать не получится, нужны некоторые доработки. Пример возможного кода:

//при добавлении сообщения форума, если количество сообщений больше FLS_NUM_POSTS, //то припишем пользователя к специальной группе define("FLS_NUM_POSTS", 50); define("FLS_FORUM_GROUP", 27); AddEventHandler("forum", "onAfterMessageAdd", "FlsOnForumMessageAdd"); function FlsOnForumMessageAdd($ID, $arFields) { $arGroups = CUser::GetUserGroup($arFields["AUTHOR_ID"]); if(!in_array(FLS_FORUM_GROUP, $arGroups)) { $arProfile = CForumUser::GetByUSER_ID($arFields["AUTHOR_ID"]); if(intval($arProfile["NUM_POSTS"]) >= FLS_NUM_POSTS-1) { //добавим в группу $arGroups = FLS_FORUM_GROUP; //запишем новую группу CUser::SetUserGroup($arFields["AUTHOR_ID"], $arGroups); //обновим сессию текущему пользователю if($GLOBALS["USER"]->GetID() == $arFields["AUTHOR_ID"]) CUser::SetUserGroupArray($arGroups); } } }

В качестве организационных мер можно предусмотреть:


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


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

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

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


И я представлю вам один из необходимых плагинов (расширений), а именно средство для защиты сайта от спама . Конкретно, речь пойдет о плагине KeyCAPTCHA .

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

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

Одним из таких средств является (капча). Это аббревиатура от английских слов "Completely Automatic Public Turing Test to Tell Computers and Humans Apart" - в переводе полностью автоматический тест Тьюринга для различения компьютеров и людей. Иными словами, это задача, которую легко решает человек, но которую невозможно (или крайне трудно) научить решать компьютер.

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

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

В настоящее время одним из новых и наиболее трудно обходимых ботами является плагин Он разработан для нескольких наиболее распространенных (CMS), таких как Joomla, Drupal, WordPress и форумных движков vBulletin, SMF, IPB, phpBB и других сайтов на PHP.

Как было сказано, обычно капчи основаны на угадывании искаженных текстовых символов, представ­ленных вдобавок не текстом, а картинкой. В отличие от этого KeyCAPTCHA предлагает посетителю выполнить простое интерактивное задание . Либо по сборке картинки из фрагментов (пазл), либо отыскание парной по тематике картинки.

Выглядит он следующим образом:

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

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

Надежность работы обеспечивается следующими мерами.

  1. Для работы сервиса KeyCAPTCHA используется гео-кластер, в который входят сервера, расположенные в разных дата-центрах Европы. Часть серверов находится в специальных DDoS устойчивых дата-центрах Швейцарии, что обеспечивает надежную работу сервиса в режиме 24x7x365.
  2. KeyCAPTCHA блокирует спамеров, использующих анонимайзеры или анонимные HTTP прокси для рассылки ручного спама.
  3. В браузере посетителя отсутствует информация о правильном решении капчи.
  4. Проверка корректности выполнения задания происходит на сервере KeyCAPTCHA.
  5. Вся передача данных между Вашим веб-сервером, веб-браузером посетителя и сервером KeyCAPTCHA защищается цифровой подписью.
  6. Каждое пришедшее сообщение на сервер KeyCAPTCHA либо на Ваш веб-сервер проходит проверку на корректность цифровой подписи.
  7. При формировании цифровой подписи используется пароль переменной длины (112-165 бит).
  8. KeyCAPTCHA представляет из себя программный код, выполняемый в веб-браузере посетителя, а не статичную картинку, как в обычных капчах.
  9. Получив нашу капчу, ее невозможно передать третьим лицам для выполнения задания, как это делают спамеры, обходя обычные капчи.
  10. Вероятность угадать ответ, расставив подвижные объекты случайным образом, равна 1/30 000 000.
  11. Изображения, используемые в капче, передаются в зашифрованном виде.

KeyCAPTCHA поддерживает два режима работы: Flash и HTML5 . Режим HTML5 обеспечивает работу KeyCAPTCHA в большинстве современных браузерах, таких как Mozilla FireFox, Google Chrome, Safari, а также для работы на iPhone и iPad. Режим Flash разработан для работы в веб-браузерах Internet Explorer и Opera. При загрузке KeyCAPTCHA автоматически определяет режим своей работы в зависимости от браузера посетителя.

Эта капча применительно к Joomla, по заявлению разработчиков (сам не проверял), поддерживает следующие популярные расширения : JComments, yvComment, K2 Comments, JXtened comments, VirtueMart, Community Builder, JomSocial, AlphaRegistration, K2 Registration, DFContact, ALFcontact, Phoca Guestbook, Easybook Reloaded,FlexiContact, JoomlaDonation, ChronoForms, AdsManager, QContacts, Job Board, Mosets Tree, HikaShop, JWHMCS Integrator.

Помимо этого капча для Joomla защищает стандартные формы Joomla: Registration, Contact Us, Reset Password and Remind Username.

Для скачивания плагина и получения возможности работы с ним требуется бесплатная регистрация на сайте https://www.keycaptcha.com/ . Вы задаете, на каких сайтах будете использовать плагин, указываете тип CMS и его версию и получаете ссылку на скачивание и конкретно для вас уникальный персональный секретный ключ и код скрипта . Эти данные вставляете в параметры плагина при его активации.

На этом на сегодня все.

Чтобы не пропустить ничего из публикуемых материалов, вы можете подписаться на одну из RSS лент : Все новости сайта , Новости раздела « Сказки Старого Юзера » или Новости раздела « Мир Андроида ».

Обсуждение этой статьи можно проводить в



Просмотров