Обычно при словах «Безопасность сайта» на ум приходит «Защита от DDoS», но DDoS-атака — это далеко не самое большое зло, которое может случиться с вашим сайтом. DDoS-атака обычно только блокирует работу сайта (приводит к потерям только на время проведения атаки, в случае большой длительности влияет только на пессимизацию сайта в поиске Яндекса). Взломы сайта приводят обычно как к более тяжелым санкциям со стороны поисковых систем (пессимизация в результатах поисковой выдачи) и браузеров (попадание в «черные списки»), так и к более сложной ликвидации последствий (проверка сайта на вирусы, восстановление из резервной копии, удаление из «черных списков» поисковиков, браузеров, почтовых сервисов в случае рассылки спама).
Давайте рассмотрим некоторые наиболее используемые пути взлома сайта и методы борьбы с ними.
Перебор паролей
Перебор пароля, содержащего только английские буквы и цифры, даже в случае 6 символов и 10 попыток в секунду займет 180 лет (каждый день по 864000 попыток). Ситуация облегчается за счет использования словарей с наиболее часто используемыми паролями — словами английского языка и их сочетаниями. Словари содержат несколько миллионов комбинаций, и в этом случае перебор словаря для 1 пользователя со стандартным именем (например, admin, или адрес_сайта, или user) займет всего несколько дней.
Подкованный читатель возразит, что уже после 3 или 5 неудачных попыток ввода пароля злоумышленник будет заблокирован. Но современные средства атаки не осуществляют более 2 неудачных попыток ввода пароля с 1 IP адреса в течение суток, а ботнеты на сотни тысяч машин (IP адресов) уже широко распространены. Успешная блокировка только по внешним признакам может привести к ложному срабатыванию: и легитимный пользователь после неверного ввода пароля может быть отключен от административной панели сайта.
Закрытие доступа к сайту через Basic Authorization (.htaccess) увеличивает сложность взлома (нужно подобрать уже два пароля), но не является очень надежной защитой. Только при длине пароля от 8 символов, не включающем слова английского языка и содержащем, по крайней мере, 1 цифру можно рассчитывать на относительную безопасность сайта (при соблюдении профилактики безопасности).
Что делать: использовать двухфакторную авторизацию (например, при помощи sms) или запретить доступ к административному разделу сайта только с определенных IP адресов. Последнее можно сделать как у большинства хостинг-провайдеров, так и в настройках сайта в Айри.
Кража авторизационных данных
Методы кражи через XSS-уязвимости сайта (когда на странице сайта выполнялся код в браузере, который отправлял cookie пользователя на сторонние сервисы) отходят в прошлое: разработчики становятся опытнее, использование автоматизированных систем при создании сайта позволяет, по умолчанию, блокировать такие уязвимости. Но использование сторонних виджетов вполне может быть очередной дырой в безопасности: они могут достаточно «вольно» обращаться с чувствительными данными и отправлять их на собственные серверы.
Целевая атака, использующая конкретные уязвимости отдельного сайта и методы социальной инженерии в отношении администраторов, стоит достаточно дорого. Если ваш бизнес на зарабатывает миллионы рублей в день, то такая атака, скорее всего, не будет на вас заказана.
Другой опасностью является авторизация на сайте по незащищенному протоколу HTTP. В этом случае все данные доступа — включая Basic Authorization(htaccess) и логин/пароль к административному разделу — могут быть перехвачены на промежуточных узлах (например, публичных WiFi сетях). Использование HTTPS для доступа к сайту под администратором максимально защищает от такого рода угроз. SSL-сертификат и подключение по протоколу HTTPS доступно для всех платных тарифных планов в Айри.
Загрузка вируса на сайт
Более 90% взломов осуществляются сейчас автоматически: сайт проверяется на несколько десятков тысяч актуальных угроз роботом. В случае успеха на сайт загружается вредоносный код (бекдор), через который уже на сайт может быть установлены другая «полезная» нагрузка: рассылка спама, кража личных данных пользователей, DDoS-активность или такое же сканирование.
Все вредоносное содержимое, автоматически загружаемое на сайт, можно детектировать на этапе загрузки и там же блокировать. К сожалению, разделить вредоносное и полезное содержимое не всегда возможно, и требуется авторизация администратора, чтобы выполнить это разделение. Таким образом, дополнительная защита при загрузке потенциально вредоносных файлов возможна, и настраивается через дополнительные доступы для администратора.
Обычно дополнительные доступы работают на уровне Basic Authorization, поэтому требуется доступ к сайту по протоколу HTTPS, чтобы вся схема работала безупречно. В Айри в настройках безопасности сайта есть специальная опция «Защита от взлома», которая реализует такой механизм и гарантирует блокировку всех вредоносных запросов, приводящих к взлому сайта.
Сканирование сайта
Сканирование сайта внешними роботами, в большинстве случаев, не представляет большой опасности. В редких случаях, когда сканирование угрожает нормальной работе сайта (например, слишком нагружает хостинг) оно может быть ограничено (через блокировку DDoS, если включена Продвинутая защита Айри) или блокировку запросов с отдельных IP адресов (вкладка DNS в настройках Айри). Это также поможет в случае индексации сайта со стороны конкурентов.
В остальных случаях роботы получают закэшированные страницы сайта и никак не взаимодействуют с хостингом (если включена SEO-доступность или 100% доступность в настройках сайта в Айри). Частота индексации
Для дополнительной защиты можно включить блокировку роботов-шпионов (которые представляются легитимными, например, поисковыми роботами, но таковыми не являются) в настройках безопасности Айри.
Указанный список угроз взлома сайта и мер защиты не является исчерпывающим, и для профилактики безопасности сайта также необходимо регулярно менять пароли: чтобы свести риск взлома к минимуму. В случае достаточно частой смены паролей (раз в квартал или раз в год) у злоумышленника не остается времени на перебор паролей или использование «утекших» авторизационных данных.