Зачем защищать панель администратора от взлома в wordpress, joomla, drupal, bitrix и других cms

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

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

Перечислим наиболее популярные варианты взлома панели администратора и способа защиты от них:

  1. Подбор пароля
  2. Воровство пароля
  3. Поднятие прав пользователя до уровня администратора
  4. Добавление нового администратора непосредственно в базу данных

Подбор пароля

Пароль подбирают автоматизированными средствами. Существуют целые комплексы для перебора пароля, производительность которых сотни тысяч комбинаций в секунду. Перебор осуществляется по словарю, в котором миллионы паролей. Данный процесс называется «брутфорс». Если пароль на панель администратора «hello1234» или «qwe123», он будет подобран за несколько секунд. Подбор пароля популярен на всех популярных системах управления контентом: wordpress, joomla, bitrix, drupal и др.

От подбора пароля защищают следующие варианты:

  1. Ограничение доступа к панели администратора по IP адресу или кодовому слову
  2. Изменение URL панели администратора
  3. Установка плагина, ограничивающего кол-во попыток ввода неправильного пароля (он может блокировать доступ в панель администратора, может блокировать IP, извещать администратора о попытке подбора пароля ит.п.)
  4. Установка сложного пароля, состоящего из случайного набора цифр, букв и спецсимволов. Пример хорошего пароля «ha%45afJHXs2»

Воровство пароля

Вторым способом получения доступа к панели администратора является воровство пароля. Здесь вариантов очень много:

  1. Получение данных администратора через уязвимость (SQL иньекцию) на сайте
  2. Заражение компьютера администратора сайта трояном, который крадет пароли из хранилища паролей браузера
  3. Наличие трояна-кейлоггера на компьютере администратора сайта, который отсылает хакеру вводимые пользователем пароли
  4. Наличие трояна, который ворует пароли от FTP, а через FTP доступ хакер получает доступ к сайту и далее, при необходимости, к панели администратора.
  5. Воровство cookie браузера с сохраненным хэшом пароля, который затем расшифровывается методом перебора по словарю
  6. Использование фишинг-схем, когда администратору приходят письмо якобы с его сайта (например, извещение о необходимости сменить пароль), со ссылкой на подставную панель. Не подозревая подставу, администратор вводит текущие логин и пароль, и эти данные отсылаются хакеру
  7. Получения дампа базы данных с паролем или хэшом пароля администратора

От воровства пароля защищают следующие варианты:

  1. Наличие коммерческого антивирусного программного обеспечения и регулярное полное сканирование операционной системы
  2. Грамотная работа с данными от сайта: не хранить пароли в программах (браузере, ftp клиенте)
  3. Регулярное обновление CMS, внимание к вопросам безопасности сайта, наличию уязвимостей
  4. Внимательность и осведомленность администратора

 

Поднятие прав пользователя до уровня администратора

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

Защититься от этого достаточно просто:

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

 

Добавление нового администратора непосредственно в базу данных

Данный способ взлома технически реализовать достаточно просто. Хакер получает доступ к базе данных сайта и добавляет в нее нового пользователя с правами администратора. Есть следующие варианты получения доступа хакера к базе данных:

  1. Через уязвимость сайта (SQL иньекцию или RFI)
  2. Подключение к базе данных с соседнего сайта, размещенного на том же shared-хостинге (для этого достаточно узнать данные для подключения к БД, например, из wp-config.php или configuration.php).

Защититься от добавления нового администратора в базу данных можно следующими способами:

  1. Запретить чтение файла с данными для подключения к базе данных всем, кроме владельца
  2. Изменить стандартные имена таблиц базы данных
  3. Установить обновления, закрывающие уязвимости в CMS

Надежная защита

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

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

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