Защита админки Joomla
Анализируя лог-файлы сайтов под моим управлением, я обнаружил нескончаемые попытки подбора административного пароля. Причем попытки наблюдаются даже на проектируемом и не проиндексированном сайте, доменное имя для которого я зарегистрировал несколько недель назад. Возникла необходимость защитить административную часть Joomla от посягательств юных злоумышленников.
К сожалению, форма авторизации CMS Joomla всегда доступна по фиксированному адресу, фиксированным именем администратора и не оснащена каптчей. Это и дает возможность автоматической подборки административного пароля.
Из этих недостатков следуют и методы защиты:
- Назначить другому пользователю административные права, а имя admin удалить. В таком случае злоумышленник не сможет подобрать пароль, ведь пользователя admin в системе больше не будет. Но бесполезная работа с перебором по отношению к вашему сайту все равно не прекратится.
- Установить альтернативный компонент, оснащенный каптчей.
- Установить какое-либо расширение, изменяющее адрес админки.
Посмотрев на доступные средства защиты Joomla, было найдено простое решение – плагин jlsecuremysite, который меняет адрес административной панели управления сайтом, прост в установке и работе.
Плагин jlsecuremysite
jlsecuremysite простой плагин для Joomla 2.5 и 3.0, который добавляет ключ и значение к адресу административной панели управления сайтом. Это позволяет предотвратить несанкционированный доступ посетителей к панели администратора без правильного указания ключа и значения. Например, если настроить плагин на использование key=foo и value=bar, URL-адреса для вашей панели администратора будет: http://www.yourdomain.com/administrator?foo=bar
Примечания:
- Вы должны установить этот ключ и значение после установки плагина и включить плагин сразу же после этой операции.
- KEY должен содержать только буквы: A-Z и a-z.
- VALUE должен содержать только буквы и/или цифры: A-Z, a-z, 0-9.
- После выхода из панели администратора, необходимо повторно ввести панели управления с парой KEY и VALUE, чтобы вновь войти в панель администратора.
- KEY и VALUE в настройках плагина время от времени можно менять.
Скачать плагин jlsecuremysite
Скачать плагин можно на сайте разработчика http://www.jomland.com/free-stuff/secure-my-site или русскую локализацию на моем сайте jlsecuremysite_1.0.1_rus.zip.
Установка плагина jlsecuremysite
Установка плагина осуществляется встроенными средствами. Зайдите в административную панель управления CMS и выберите в меню «Расширения» пункт «Менеджер расширений». Выберите в представленной форме файл дистрибутива jlsecuremysite_1.0.1_rus.zip загруженный ранее на локальный компьютер и нажмите кнопку «Загрузить и установить». Плагин будет установлен в систему.
Настройка плагина jlsecuremysite
В менеджере плагинов выберите jlsecuremysite и перейдите в режим конфигурации. На вкладке «Основные параметры» введите требуемые секретный ключ и его значение. Затем включите плагин, сохраните изменения и выйдите из административной части сайта.
Плагин настроен, теперь админпанель сайта Joomla доступна по адресу, включающему в себя ключ и его значение.
Помощь:
- Если вы включили плагин со значениями по умолчанию, пытайтесь войти по следующей ссылке: http://www.yourdomain.com/administrator?secure_key=secure_value
- Если это не сработало, вам необходимо войти в свой MySQL Admin (например PhpMyAdmin) и выполнить следующий запрос, чтобы отключить плагин:
Замените #__ на префикс ваших таблиц. После этого плагин будет отключен и вы сможете войти как обычно.
Если эта статья показалась вам полезной, пожалуйста, проголосуйте за нее. Это поможет другим быстрее найти эту статью из множества других менее полезных.
( 34 Голосов )
Комментарии
Замените #__ на префикс ваших таблиц а вот это не знаю как и на что заменить. прошу подскажи пож.
На вкладке "Настройки базы данных" есть "Префикс таблиц базы данных" - это то, что вам необходимо.
Пример, там написано asdf_
Тогда вам необходим следующий SQL запрос
UPDATE asdf_extensions SET enabled = 0 WHERE name LIKE '%jlsecure%' AND type='plugin' AND folder='system';
$app->redirect(JURI::base() . '..');
Замените ее на
$app->redirect(JURI::root().'404.html');
где 404.html адрес нужной вам странички
или полный url к ней
$app->redirect('http://yandex.ru/yandsearch?text=%D0%B2%D0%B0%D0%BC%20%D1%81%D1%8E%D0%B4%D0%B0%20%D0%BD%D0%B5%D0%BB%D1%8C%D0%B7%D1%8F&lr=43');
Я бы посоветовал вам отправлять именно на страницу ошибки 404.
С уважением Лёша.4
За подробные статьи о расширениях весьма благодарю - несмотря на относительно небольшое их количество, они отличаются безупречным качеством исполнения.
RSS лента комментариев этой записи