Панель администратора — это командный центр сайта, через который можно получить доступ к файловой системе, базе данных, резервным копиям, т.е. практически ко всему сайту. Получив полный доступ к сайту, хакер может разместить вредоносный код, украсть конфиденциальные данные, контент сайта или полностью уничтожить его. Поэтому получение доступа к панели администратора сайта является, пожалуй, самым приоритетным в атаке хакера.
Владельцы сайта обычно не догадываются о том, насколько уязвима панель администратора, и насколько легко хакер может получить к ней доступ.
Перечислим наиболее популярные варианты взлома панели администратора и способа защиты от них:
- Подбор пароля
- Воровство пароля
- Поднятие прав пользователя до уровня администратора
- Добавление нового администратора непосредственно в базу данных
Подбор пароля
Пароль подбирают автоматизированными средствами. Существуют целые комплексы для перебора пароля, производительность которых сотни тысяч комбинаций в секунду. Перебор осуществляется по словарю, в котором миллионы паролей. Данный процесс называется «брутфорс». Если пароль на панель администратора «hello1234» или «qwe123», он будет подобран за несколько секунд. Подбор пароля популярен на всех популярных системах управления контентом: wordpress, joomla, bitrix, drupal и др.
От подбора пароля защищают следующие варианты:
- Ограничение доступа к панели администратора по IP адресу или кодовому слову
- Изменение URL панели администратора
- Установка плагина, ограничивающего кол-во попыток ввода неправильного пароля (он может блокировать доступ в панель администратора, может блокировать IP, извещать администратора о попытке подбора пароля ит.п.)
- Установка сложного пароля, состоящего из случайного набора цифр, букв и спецсимволов. Пример хорошего пароля «ha%45afJHXs2»
Воровство пароля
Вторым способом получения доступа к панели администратора является воровство пароля. Здесь вариантов очень много:
- Получение данных администратора через уязвимость (SQL иньекцию) на сайте
- Заражение компьютера администратора сайта трояном, который крадет пароли из хранилища паролей браузера
- Наличие трояна-кейлоггера на компьютере администратора сайта, который отсылает хакеру вводимые пользователем пароли
- Наличие трояна, который ворует пароли от FTP, а через FTP доступ хакер получает доступ к сайту и далее, при необходимости, к панели администратора.
- Воровство cookie браузера с сохраненным хэшом пароля, который затем расшифровывается методом перебора по словарю
- Использование фишинг-схем, когда администратору приходят письмо якобы с его сайта (например, извещение о необходимости сменить пароль), со ссылкой на подставную панель. Не подозревая подставу, администратор вводит текущие логин и пароль, и эти данные отсылаются хакеру
- Получения дампа базы данных с паролем или хэшом пароля администратора
От воровства пароля защищают следующие варианты:
- Наличие коммерческого антивирусного программного обеспечения и регулярное полное сканирование операционной системы
- Грамотная работа с данными от сайта: не хранить пароли в программах (браузере, ftp клиенте)
- Регулярное обновление CMS, внимание к вопросам безопасности сайта, наличию уязвимостей
- Внимательность и осведомленность администратора
Поднятие прав пользователя до уровня администратора
Многие современные системы управления сайтом позволяют создать пользователей с различными уровнями доступа: администратор, суперпользователь, редактор, модератор, гость и т.п. Часть этих CMS, особенно старые версии, имеют уязвимости, позволяющие при определенных условиях простому зарегистрированному пользователю или редактору получить администраторские полномочия и полный доступ к сайту.
Защититься от этого достаточно просто:
- Следить за обновлениями CMS и регулярно их устанавливать
- Вести грамотную пользовательскую политику. Например, если на сайте нет регистрации пользователей, сразу отключить ее в панели администратора, т.к. отсутствие ссылки в пользовательской части сайта еще не означает, что регистрация не возможна.
- Не давать лишних прав тем пользовательским группам, которым они по роду деятельности не нужны.
Добавление нового администратора непосредственно в базу данных
Данный способ взлома технически реализовать достаточно просто. Хакер получает доступ к базе данных сайта и добавляет в нее нового пользователя с правами администратора. Есть следующие варианты получения доступа хакера к базе данных:
- Через уязвимость сайта (SQL иньекцию или RFI)
- Подключение к базе данных с соседнего сайта, размещенного на том же shared-хостинге (для этого достаточно узнать данные для подключения к БД, например, из wp-config.php или configuration.php).
Защититься от добавления нового администратора в базу данных можно следующими способами:
- Запретить чтение файла с данными для подключения к базе данных всем, кроме владельца
- Изменить стандартные имена таблиц базы данных
- Установить обновления, закрывающие уязвимости в CMS
Надежная защита
Как вы можете видеть, существует большое количество способов получения доступа к панели администратора и защиты от них. Тем не менее есть один действенный метод, который позволяет в большинстве случаев защитить панель администратора, не прибегая к сложным операциям.
Достаточно лишь ограничить доступ в панель администратора по IP адресу, кодовому слову или поставить авторизацию средствами веб-сервера. Только пользователь с IP адресом, находящимся в разрешенном диапазоне (зная еще один пароль или имея специальную настройку браузера), сможет получить доступ к системе. При этом даже если хакер знает пароль или добавил нового администратора в базу, он не сможет воспользоваться этими данными, так как веб-сервер запретит доступ к скриптам панели администратора.
Несмотря на простой и доступный способ защиты панели администратора, не стоит игнорировать все остальные, описанные выше. Помните, что только комплексная защита является эффективной.