ENG    РУС

Все статьи »

Как защитить панель администратора wordpress, joomla, bitrix, drupal.

Закажите лечение сайта и защиту от взлома у специалистов

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

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

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

Защита по IP

Для защиты панели администратора по IP нужно закрыть доступ к скриптам панели администратора всем, кроме тех, у кого IP адрес совпадает с указанным. Для этого нужно в каталоге админки создать .htaccess со следующим содержимым

 Order deny,allow
Deny from all
Allow from 1.2.3.4

Где 1.2.3.4 — это разрешенный IP адрес администратора сайта. Посмотреть свой IP адрес можно на сайте http://myip.ru/

Для Wordpress файл создается в каталоге /wp-admin/.htaccess, для Joomla — в /administrator/.htaccess, для 1С-Битрикс — в /bitrix/admin/.htaccess. Для DLE нужно закрыть доступ к файлу admin.php:

 <Files "admin.php">
Order deny,allow
Deny from all
Allow from 1.2.3.4
</Files>

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

Если IP адресов несколько, то каждый можно указывать на отдельной строке

 Order deny,allow
Deny from all
Allow from 1.2.3.4
Allow from 1.2.3.5
Allow from 1.2.3.9

Если IP адреса динамические и меняются в рамках подсети, то можно указать диапазоны

Order deny,allow
Deny from all
Allow from 1.2.3.

Внимание! Точка в конце обязательна.

Если IP адрес динамический и меняется в широком диапазоне, то попробуйте варианты защиты панели администратора, которые приведены ниже.

Защита панели администратора с помощью двойной авторизации

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

Как технически реализовать данную авторизацию можно посмотреть в статье про защиту файлов и директорий с помощью авторизации

Авторизация по кодовому слову

Данный метод основан на разрешении доступа к каталогу со скриптами или файлу на основе фрагмента, который содержится в поле User Agent браузера (что такое User Agent).

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

Автору известны пока только два User Agent Spoofer плагина для FireFox и Chrome, поэтому описанный способ авторизации имеет смысл реализовывать, если вы пользуетесь этими браузерами.

Инструкция для пользователя Chrome

Шаг 1 — качаем и устанавливаем плагин User Agent Switcher для Chrome по ссылке

После установки на панели плагинов должна появится иконка с маской.

Шаг 2 — Открываем настройку плагина (клик по иконке (1) и в выпадающем меню клик по Настройки (2))

Шаг 3 — Задаем новую строку User Agent для вашего браузера. Добавляем ее к существующему.
В поле 1 вводим «My auth user agent»
В поле 2 вводим свой секретный код (любая последовательность символов, ваша собственная!)
В поле 3 вводим группу (папку) для хранения данной настройки, например, «AUTH»
В поле 4 выбираем Append (добавить)
В поле 5 выбираем идентификатор, который будет выводится на иконке, например, «ADM»
Нажимаем «Add» (6)

Шаг 4 — Проверяем введенные данные

Шаг 5 — Возвращаемся в окно браузера, выбираем новый User Agent (клик по иконке (1), клик по AUTH (2), клик по «my auth user agent» (3))

Шаг 6 — Проверяем, что иконка изменилась, теперь на ней буквы «ADM»

Шаг 7 — Идем на сайт http://whatsmyuseragent.com/ (или любой другой, который показывает ваш User Agent) и смотрим, что он выводит. Если вы все сделали правильно, то увидите в конце длинной строки ваше кодовое слово. Если это так, то браузер настроен. Теперь переходим к настройке сайта.

Шаг 8 — Создаем в каталоге панели администратора следующий файл .htaccess

SetEnvIfNoCase User-Agent .*secret123450code.* admins
 Order deny,allow
Deny from all
Allow from env=admins

Вместо «secret123450code» вставьте свое кодовое слово.

Примечание:

Для Wordpress файл создается в каталоге /wp-admin/.htaccess, для Joomla — в /administrator/.htaccess, для 1С-Битрикс — в /bitrix/admin/.htaccess. Для DLE нужно закрыть доступ к файлу admin.php:

SetEnvIfNoCase User-Agent .*secret123450code.* admins
<Files "admin.php">
Order deny,allow
Deny from all
Allow from env=admins
</Files>

Теперь попробуйте открыть админку сайта. При выбранном User Agent с кодовым словом панель администратора должна открываться как ранее. Если вы переключите User Agent на оригинальный (Chrome->Default), то будет возвращаться страница 403 Forbidden (Доступ запрещен).

Инструкция для пользователя Firefox

Принцип тот же, что и для Chrome, только плагин используется для браузера Firefox.

Шаг 1 — скачиваем и устанавливаем плагин для Firefox

Шаг 2 — Заходим в настройки плагинов, выбираем User Agent Switcher (1), нажимаем New (Новый) и добавляем название (оно же "описание") User Agent (2) и свое секретное слово через пробел после основной строки User Agent (3).

Шаг 3 — Выбираем в меню Firefox новый User Agent

Шаг 4 — Идем на сайт http://whatsmyuseragent.com/ (или любой другой, который показывает ваш User Agent) и смотрим, что он выводит. Если вы все сделали правильно, то увидите в конце длинной строки ваше кодовое слово. Если это так, то браузер настроен. Теперь переходим к настройке сайта (см Шаг 8 инструкции для браузера Chrome).

Примечание: совершенно не обязательно постоянно переключаться между User Agent по-умолчанию и вашим (с кодовым словом). Все сайты должны работать с новой строкой User Agent как раньше, поскольку вы не изменяли старую строку, а только добавили к ней еще одно слово.

---

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

Посмотреть другие статьи.

Закажите лечение сайта и защиту от взлома у специалистов

Обсуждаем!