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

Защита админки Joomla через файл htaccess

Доступ к административной панели можно ограничить как модулями, так и настройками сервера.

Рассмотрим для начала как сделать это в ISP Managere. Заходим в панель управления сайтом и выбираем в "World Wide Web" пункт "Ограничение доступа":

Ограничение доступа в ISP Manager
Паролирование папки administrator в ISP manager

Выбираем пункт "Создать" и в появившемся окошке указываем полный путь до папки administrator (путь можно посмотреть по фтп, к примеру).

Создание ограничения доступа к директории
Поставить защиту на админку Joomla

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

Создание ограничения доступа к директории в джумле
Защита админки Joomla

Вводим и подтверждаем пароль, нажимаем "Ок" -  теперь админка защищена от посторонних ботов, подбирающих пароли.

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

Basic авторизация для админки джумлы

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

 Создаем в папке administrator файл .htaccess со следующим кодом:

AuthType Basic
AuthName "/"
AuthUserFile "Путь к файлу паролей/.htpasswds/passwd"
require valid-user

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

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

Создать файл паролей не так сложно, достаточно в гугле вбить "htpasswd creator", и нам будет предложено много онлайн-сервисов по генерации ключа.

Не забудьте поместить сгенерированную строку в файл по пути, которому мы прописали в файле .htaccess. И обязательно проверьте работоспособность успешного входа: при неверно прописанных путях даже с корректным вводом пароля будет выдаваться ошибка сервера, и в админку мы не попадем.

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

Digest авторизация для защиты админки джумлы.

На этот раз пароль будет зашифрован браузером в md5 и уже не будет обычного незащищенного текста. В остальном всё схоже с basic вариантом, обязателен лишь параметр AuthName. Ну и изменяется тип авторизации, а так всё остается аналогичным:

        AuthType Digest
        AuthName protected
        AuthUserFile мой путь к файлу .htpasswd
        Require valid-user

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

Защита админки Joomla по айпи

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

Order Deny,Allow
Deny from all
Allow from myip

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

Allow from 192.168.0.1

Allow from 127.0.0.

Allow from 178.133.

В первом случае зайти можно будет с одного адреса, во втором случае с диапазона 127.0.0.1-127.0.0.255, а в последнем варианте с адресов 178.133.0.1-178.133.255.255

На этом о защите админки хватит, а теперь стоит почитать как защитить сайт от вирусов на Joomla 1.5

 

Добавить комментарий