Как защитить WordPress от взлома? Безопасность ВордПресс. Безопасность WordPress на этапе установки. – Включение функции автоматического обновления

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

1. Перед инсталляцией;
2. После инсталляции;
3. Периодические проверки и обновления.

1. Перед инсталляцией

1.1. Удаляем все ненужные файлы:
readme.html, license.txt, hello.php, ненужные темы и плагины.

1.2. Правильно отредактируем wp-config.php файл:

define("DB_NAME", "wpdb"); // Вместо "wpdb" нужно придумать сильное имя, например, wp433Fd6HW
define("DB_USER", "wpuser"); // Например, UserFB56SKl
define("DB_PASSWORD", "strongpassword"); // Тут должен быть сильный пароль, например, ‘FE876!8e#fh#9fDfds9f’
define("DB_HOST", "localhost"); // В 99% случаях это значение не нужно менять
define("DB_CHARSET", "utf8"); define("DB_COLLATE", "");

Меняем секретный ключ с дефолтного:

define("AUTH_KEY", "izmenite eto na unikalnuyu frazu");
define("SECURE_AUTH_KEY", "izmenite eto na unikalnuyu frazu");
define("LOGGED_IN_KEY", "izmenite eto na unikalnuyu frazu");
define("NONCE_KEY", "izmenite eto na unikalnuyu frazu");

на сгенерированный, с помощью сервиса

define("AUTH_KEY", "M.uFL(RBw5UkRw%P&+>E*jJZBikz3-OV7sO*-_g*{9z,PnM,T&LPAE");
define("NONCE_KEY", "d2A~8NBb%2?+6`z}?nWoD0`f]-.gUOC);

Делаем таблицы более защищенными:

$table_prefix = "wp_4i32aK_"; // Используйте только буквы, числа и символы подчерка, чтобы сделать свой table_prefix уникальным. По крайней мере, это защитит Вас от части public эксплоитов.

1.3. Создаём пользователя и базу данных для блога в консоле MySQL:
Сначала, заходим под root’ом и создаем базу данных для блога:

$ mysql -u root
mysql> CREATE database wpdb;

$ mysql -u root
mysql> CREATE database wp433Fd6HW;
Query OK, 1 row affected (0.00 sec)

Затем создаём пользователя: этот аккаунт будет иметь доступ только в базе данных WordPress. Также мы можем быть уверены, что пользователь используется только с локального сервера, а не удаленно.

mysql>
-> ON wpdb.*
-> TO "wpuser"@"localhost"
-> IDENTIFIED BY "strongpassword"; Query OK, 0 rows affected (0.01 sec)

В нашем примере это будет выглядеть так:

mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
-> ON wp433Fd6HW.*
-> TO "UserFB56SKl"@"localhost"
-> IDENTIFIED BY "FE876!8e#fh#9fDfds9f";
Query OK, 0 rows affected (0.01 sec)

1.4. Уберите блок meta из кода Вашей темы
В стандартной теме кусок кода, отвечающего за вывод блока meta:

  • Meta





    • Valid XHTML

    • XFN

    • ">WordPress



  • 2. После инсталляции

    2.1. Меняем пароль Администратора по умолчанию
    Поменяйте сгенерированный на этапе установки пароль Администратора

    2.2. Удаляем версию WordPress

    remove_action ("wp_head", "wp_generator");

    В файле header.php в папке с Вашей темой удаляем строку:

    " />

    Для WordPress версии 2.8.4 находим имплементацию функции get_the_generator($type) и изменяем ее:

    function get_the_generator($type) {
    $gen = "";
    return apply_filters("get_the_generator_{$type}", $gen, $type);
    }

    2.3. Пустой index.php
    Поместите в папки wp-includes/, wp-content/, /plugins/ пустой файл index.php

    2.4. Меняем имя пользователя Admin на нечто более неочевидное
    Изменяем имя через MySQL консоль:

    wp $ mysql -u UserFB56SKl –p
    mysql> use wp;
    UPDATE wp_users SET user_login="adm" where user_login="admin";

    В нашем примере это будет выглядеть так:

    wp $ mysql -u wpuser –p
    mysql> use wp433Fd6HW;
    UPDATE wp_4i32aK_users SET user_login="adm234Df" where user_login="admin";
    Query OK, 1 row affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0

    Или, если не хотите копаться с запросами, можно сделать следующее:

    1. Cоздайте новый аккаунт. Имя пользователя должно быть уникальным;
    2. Назначьте новому пользователю роль Администратора;
    3. Перелогинтесть как новый Администратор;
    4. Удалите учетку старого Администратора.

    2.5. Создаём новые роли пользователей
    Для этого необходимо сначала установить на Ваш блог плагин . Этот плагин даст Вам возможность скрупулезно и точечно устанавливать права пользователей. После активации плагина Вам, для начала нужно создать пользователя для себя. Удалите все права пользователя и затем внимательно выберите только те права, которые понадобятся Вам для ежедневной активности (писать посты, модерировать комментарии и тд). Удостоверьтесь, что только админский аккаунт имеет привилегии для активации / дезактивации плагинов, загрузки файлов, управлении опциями, переключении тем, импорт и тд.
    Если в Вашем блог будет многопользовательским, то необходимо подумать о том, какие права действительно нужны пользователям и создать на основе этого свои собственные роли.
    При создании ролей будьте осторожны, раздавая пользователям такие права как: аплоад файлов, доступ к редактированию исходного кода плагинов, активации плагинов, редактировании файлов / постов / страниц, импорт, нефильтрованный HTML, так как эти роли дают пользователям большие полномочия.

    2.6. Ограничиваем доступ к папкам wp-content и wp-includes
    С помощь файла.htaccess и специальных правил, мы запретим всё, кроме запросов на картинки, CSS и JavaScript. Файлы.htaccess необходимо положить с соответствующие директории.

    Order Allow, Deny
    Deny from all

    Allow from all

    Вы также можете добавить специфические PHP файлы для определенных шаблонов и плагинов.

    2.7. Прячем директорию wp-content
    Начиная с версии WordPress 2.6, появилась возможность переместить директорию wp-content.
    Меняем в wp-settings.php строчки:

    define("WP_CONTENT_DIR",$_SERVER["DOCUMENT_ROOT"]."/blog/wp-content");
    define("WP_CONTENT_URL","http://domain.ru/blog/wp-content");

    И, чтобы не было проблем с плагинами:

    define("WP_PLUGIN_DIR",$_SERVER["DOCUMENT_ROOT"]."/blog/wp-content/plugins");
    define("WP_PLUGIN_URL","http://domain.ru/blog/wp-conten/plugins");

    2.8. Ограничиваем доступ к папке wp-admin
    Если у Вас статический IP
    Этот шаг легко осуществим для однопользовательского блога, но может принести настоящую головную боль для многопользовательского варианта. Этот трюк подходит только, если у Вас статический IP. Файл.htaccess для директории wp-admin должен содержать следующие правила:

    AuthUserFile /dev/null
    AuthGroupFile /dev/null
    AuthName "Example Access Control"
    AuthType Basic

    order deny,allow
    deny from all
    allow from a.b.c.d. #Ваш статический IP

    Положите файл в директорию wp-admin и попробуйте зайти в эту папку через прокси. Если всё работает правильно, в доступе будет отказано. После этого попробуйте зайти со своего IP.

    Ограничиваем доступ по паролю
    Более предпочтительным может оказаться доступ к папке wp-admin по паролю. А это означает, что Вы можете заходить в админскую панель, откуда угодно. Также это вариант, если у Вас динамический IP.
    Файл.htaccess для директории wp-admin должен содержать следующие правила:

    #Файл.htpasswd находиться за пределами root директории Вашего блога

    ErrorDocument 401 default
    AuthUserFile /srv/www/user1/.htpasswd
    AuthType Basic
    AuthName "WordPress Dashboard"

    require user adminuser #Создайте секъюрный username


    require valid-user

    Сгенерируйте пароль командой:

    $ htpasswd -cm .htpasswd adminuser

    Или для генерации пароля воспользуйтесь сервисом . Вот пример для user: admin , password: test

    admin:$apr1$t3qLL...$uUmj9Wm/WbJk7YNza6ncM/

    Файл.htpasswd лучше расположить директорией выше корня блога.

    2.9. Файл wp-config.php
    Вариант первый: для защиты Ваших данных необходимо перебросить на папку выше, WordPress автоматически проверит директорию выше если не найдет у себя в корне wp-config.php.
    Если по каким-то причинам Вы не можете проделать того, что описано выше, то существует еще один вариант. А именно – защитить Ваш wp-config.php с помощью.htaccess:

    # protect wpconfig.php

    Order deny,allow
    deny from all

    2.10. Устанавливаем правильные права на файлы и папки
    Основное правило:

    1. Для файлов - 644
    2. Для папок - 755

    Из шелла эти операции можно проделать с помощью:

    cd
    find (your path) -type d -exec chmod 755 ‘{}’ \
    find (your path) -type f -exec chmod 644 ‘{}’ \

    2.11. SSL для админов
    Если Ваш сервер поддерживает SSL, то лучше сделать доступ в админку защищенной. Для этого в файле wp-config.php уберите комментарии в строчке:

    define(’FORCE_SSL_ADMIN’, true);

    2.12. Удалите вывод логов WordPress
    В файле functions.php в папке с Вашей темой добавляем строку:

    add_filter("login_errors",create_function("$a", "return null;"));

    2.13. Запрещаем индексации с помощью Robots.txt
    Проверить правильность можно по адресу

    2.14. Плагины для Вашей безопасности
    Login LockDown - Устанавливаем количество ложных логинов
    Для этого есть два решения в виде плагинов and . После того, как плагин активирован, он записывает все попытки залогиниться. Плагин позволяет запретить посетителю логиниться определенное время, после того как посетитель несколько раз неправильно ввёл пароль.

    Belavir – Следим за изменениями в ключевых php файлах

    WPIDS – Определяем признаки внедрения

    WordPress Online Security Scanner – Сканируем блог на уязвимости

    Akismit – Противоборство СПИДу СПАМу

    SpamBam – Определяем валидный ли браузер пользует клиент

    3. Периодические проверки и обновления

    3.1. Следите за обновлением WordPress
    3.2. Следите за обновлением плагинов
    3.3. Следите за обновлениями безопасности

    3.4. Проверяйте код темы и плагинов, которые Вы хотите добавить, на «дырявость»
    3.5. Боритесь со спамом
    3.6. Регулярно делайте полный backup базы данных Вашего блога
    3.7. Читайте девелоперские блоги
    Небольшой список:

    Сегодня взлом WordPress представляет собой довольно опасную распространенную проблему. Мне кажется, что из 10 блогеров примерно 6 подвергаются либо взлому их сайта, либо заражаются вредоносным ПО.

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

    После того, как разберетесь с паролями в cpanel, пришло время изменить пароль на вход в WordPress. Опять же, я рекомендую вам использовать уже что-то новое, уникальное. Кстати, чтобы не забыть пароли и хранить их в надежном месте, я рекомендую использовать менеджер паролей Касперского — Kaspersky Password Manager , он мне сильно упростил жизнь т.к. сам автозаполняет формы авторизации на сайта и в программах и шифрует всю базу паролей. Считаю, что не зря потратил на него 900 рублей 😉

    Создаем резервную копию всего блога на WordPress

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

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

    Устанавливаем плагины безопасности

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

    1. WP Security Scanner

    Это облегченный сканер от Website Defender. Установите его и просто пройдите по этапам. Здесь есть опция, позволяющая вам переименовать приставку таблиц в базе данных. Измените ее на что-то, что будет сложно угадать. Обычно WordPress устанавливается с приставкой wp_. Это облегчает хакерам задачу по выявлению слабых баз данных, посредством которых можно реализовать проникновение.

    Better WP Security включает в себя лучшие функции безопасности WordPress. Этот плагин способен предложить вам практически все необходимое, и он должен быть плагином №1 у каждого блогера. Спросите «почему?». Да потому что посредством всего одного клика вы сможете активировать многие необходимые функции безопасности системы для продвинутых пользователей, плагин сам создаст и модернизирует.htaccess таким образом, чтобы повысить безопасность вашего блога. Вам не придется вручную создавать.htaccess и заботиться о кодах. Позвольте плагину сделать все за вас.

    После установки и активации плагина, нам нужно будет сделать еще кое-что. Прежде всего, вам нужно будет в один клик включить «secure from basic attack», и посмотреть, сколько зеленых и синих пунктов вам будет отображено. Оба цвета сообщают, что все ок! Зеленый цвет отвечает за отличную защиту, а синий как бы говорит вам, что вы можете сделать этот пункт зеленым, но тогда не будут работать некоторые плагины и поэтому можно оставить все на своем месте. Красный же цвет говорит об опасности.

    Теперь кликните по вкладке «hide backend» и включите эту опцию. Функция «hide backend» изменяет URL, по которой вы можете осуществить доступ к внутреннему интерфейсу WordPress.

    Если вы только что установили свежую версию WordPress, то я рекомендую вам кликнуть по вкладке «Content Directory», и изменить название директории. Это прибавит еще один уровень безопасности. Но делать это стоит только если ваш блог абсолютно новый! Помните, что если вы измените директорию на уже работающем блоге, то большинство ссылок перестанет работать.

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

    Скачиваем.htaccess и robots.txt

    Вердикт

    Я даже не знаю, радоваться мне или горевать по поводу того, что мои блоги взламывают и подвергают заражению. Иногда я думаю, что если бы мой блог не был взломан, то я бы и не задался идеей написать подобную статью, и тогда мои читатели бы не узнали о моем опыте, ведь все, что я пишу – это мой личный опыт и пройденные этапы в жизни и нашем общем деле. Как я уже говорил ранее, не существует полноценного гарантированного способа защитить ваш блог, но если предпринимать хоть какие-нибудь шаги для его защиты – у вас все получится. У вас уйдет не больше пары часов на то, чтобы поделать все, что описано в этой статье, и в дальнейшем это принесет вам огромную выгоду! Теперь идите, и защищайте свой блог от злодеев!

    WordPress является, несомненно, самым популярным CMS и из-за его популярности, хакеры, как правило, нацелены на такие блоги. Плагины безопасности WordPress помогут Вам повысить уровень безопасности своего веб-сайта .

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

    Основные функции

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

    У меня на сайте стоит именно этот плагин.

    All in one WP security and Firewall

    All in one WP security and Firewall является наиболее полным плагин WordPress безопасности. Этот плагин защищает свой сайт, проверяя уязвимости и реализации новейших методов и мер безопасности.

    Основные функции

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

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

    Основные функции

    • Мониторинг блога от роботов, которые пытаются влиять на ваш сайт и постоянно сканирует ваш блог.
    • Есть возможность восстановления файлов ядра вашего блога WordPress. Эта функция доступна в свободной и премиум версиях.
    • Сканирует сообщения, комментарии и вредоносные URL-адреса.

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

    Еще один популярный плагин, чтобы обеспечить свой сайт WordPress является BulletProof Security. Этот плагин позволяет защитить папку WP-админ вашего сайта WordPress. Этот плагин обеспечивает ваш сайт от RFI, CRLF, XSS, внедрения кода и hackings SQL инъекций.

    Основные функции

    • Плагин использует.htaccess защиту безопасности, которая защищает много файлов WordPress включая WP-cofig.php, php.ini и т.д.
    • Обеспечивается функция записи числа попыток входа. Если кто-то пытается войти в свой админ-панели, он ведет учет всех попыток входа и пользователя, которые пытаются получить доступ к сайту.
    • Он также предоставляет некоторую информацию для ваших посетителей, когда ваш сайт находится в режиме обслуживания.
    • Он также предупреждает вас о вредоносной активности, происходящей с вашего сайта.

    Google Authenticator

    Google Authenticator является одним из самых популярных плагинов безопасности для WordPress. Он предлагает вам двухступенчатую аутентификацию с помощью Google Authenticator приложение для iPhone, Blackberry и Android. Вам понадобится смартфон или любое другое устройство, чтобы использовать Google Authenticator приложение, потому что этот плагин приложение работает на приборной панели и смартфоном одновременно.

    Основные функции

    • Включена 2-ступенчатая аутентификация.
    • Создается новый секретный ключ каждый раз, чтобы избежать рисков.
    • Позволяет вам задать любое имя, которое будет отображаться в Google Authenticator приложении.

    После того, как вы установили и настроили этот плагин на свой блог WordPress, вы можете установить QR-код с помощью секретного ключа. Затем надо скачать Google Authenticator приложение на свой смартфон или любое другое устройство и ввести QR код. После того, как вы введете QP код, смартфон свяжет свой блог WordPress с помощью мобильного приложения.

    При входе в вашу админпанель необходимо будет открыть Google Authenticator приложение в смартфоне. Оно будет генерировать код, который вы должны ввести в соответствующем поле Google Authenticator в приборной панели при попытке войти.

    Sucuri Security – очень популярный плагин безопасности, который предлагает вам мониторинг сайта, удаление вредоносных программ, и многие другие услуги для вашего сайта WordPress. Плагин обнаруживает большое количество вредоносных программ, спама, черные списки и многие другие вопросы безопасности.

    Основные функции

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

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

    Возможно Вам будет это интересно
    2016-03-21T13:33:08+00:00 Надежда WordPress безопасность веб сайта,плагины безопасности

    WordPress является, несомненно, самым популярным CMS и из-за его популярности, хакеры, как правило, нацелены на такие блоги. Плагины безопасности WordPress помогут Вам повысить уровень безопасности своего веб-сайта. Здравствуйте, уважаемый читатель. В статье Безопасность сайта за 7 шагов я рассказывала о том как лично, то есть своими руками можно позаботиться о безопасности своего...

    Надежда Трофимова [email protected] Administrator Блог сайт

    Возможно Вас также заинтересует:

    Как убрать /category/ из url wordpress

    Как убрать category из url wordpress и зачем это надо? Как этот префикс мешает продвижению сайта.

    Как отключить и включить редактор файлов в консоли wordpress

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

    Перед прочтением данной статьи вы должны четко понимать, что 100% гарантии безопасности вашего сайта (не зависимо от CMS) не может дать никто. Дело лишь за тем, сколько стоит информация на сайте. И если она стоит миллионы, для защиты сайта понадобится опытная команда программистов, а если несколько тысяч долларов, то следующие советы помогут здорово улучшить безопасность вашего Wordpress-сайта.

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

    Как защитить Wordpress от взлома?

    1. Обновляйте движок

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

    2. Не используйте подозрительные плагины

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

    3. Используйте надежный хостинг

    Если смотреть на безопасность сайта в целом, то ее можно обозначить как связку CMS и ПО, которое установлено на сервере Вашего хостинг-провайдера. Да-да-да, именно это ПО тоже имеет дыры и его нужно постоянно обновлять. К сожалению не все хостеры делают это. Также, при DDOS-атаках на сайты, которые находятся на том же сервере, что и Ваш сайт, у плохого хостера будет долгое время недоступен и Ваш ресурс тоже. В общем выбирайте качественную хостинг-компанию, с хорошими отзывами и большим количеством клиентов. На нашем сайте есть рейтинги, которые составлены под конкретные задачи сайта, найти их можно в .

    4. Установите надежные логин и пароль

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

    5. Ограничьте количество попыток входа

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

    6. Используйте надежные темы

    Перед установкой темы обязательно посмотрите кто ее сделал, старайтесь чтобы это была известная и опытная команда. Также следует запретить редактирование файлов вашей темы из админ-панели. Это поможет в том случае, хакер получит доступ к админке. Чтобы это сделать в файле wp-config.php добавляем следующее:

    define("DISALLOW_FILE_EDIT", true);

    7. Измените ключи шифрования

    Следует поменять ключи шифрования, т.к. стандартные могут быть известны взломщикам. Для этого переходим на специальный сервис на официальном сайте Wordpress и в свой wp-config.php вставляем значения указанных там переменных. Или же придумайте сами, любые сочетания букв.

    8. Установите компоненты защиты

    Используйте следующие компоненты, которые помогут улучшить безопасность сайта на Wordpress:

    • Better WP Security - один из самых популярных плагинов по безопасности с мощным функционалом
    • WP Security Scan - проверяет множество параметров безопасности вашего сайта
    • WP Antivirus - постоянно сканирует файлы сайта на наличие взлома, и при обнаружении присылает сообщение на имейл
    • WP File Monitor - аналогичен предыдущему плагину
    • Securi Scanner - сканер сайта на наличие взлома и уязвимостей.

    9. Измените префикс базы данных

    Когда хакер хочет сделать SQL-инъекцию, то он уже знает, что в стандартном варианте Wordpress использует префикс wp_, поэтому желательно его изменить. Сделать это можно или с помощью плагина (легкий путь, но не всегда плагины корректно работают) или через PhpMyAdmin (чуть сложнее сделать, поэтому мы создали универсальную инструкцию).

    10. Перенесите wp-config.php

    Следует вынести этот файл за пределы папки public_html (или ее аналога, в которой установлен Wordpress), например поднять на один уровень вверх. О том как это сделать можно прочитать .

    11. Заблокируйте админ-панель для чужих

    Сделайте так, чтобы пользоваться вашей админ-панелью могли только вы. Для этого блокируется доступ к папке wp-admin для всех, у кого IP-адрес отличается от вашего. Чтобы так сделать нужно добавить в эту папку файл.htaccess и добавить в него:

    order deny,allow
    allow from xxx.xx.xxx.xx
    deny from all

    где "xxx.xx.xxx.xx" - это IP-адрес, с которого можно зайти в админ-панель.

    12. Установите нужные права на папки

    В классическом варианте нужно установить на все папки - 755, на все файлы - 644. Иногда на папку wp-content ставят права 777, но лучше - 755 (хотя это как правило запрещает добавлять контент для сторонних пользователей).

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

    Из статьи вы узнаете:

    1. Используйте хороший логин.

    Защита сайта на WordPress начинается с элементарного — создания хорошего логина. Устанавливая WordPress, пользователи часто используют логин, который программа установки предлагает по умолчанию, а именно – admin . Это то, что проверяют боты, ищущие дыры в безопасности вашего сайта, в первую очередь. Используя этот логин, вы уже предоставляете половину необходимой информации для хакеров, и им остается только подобрать пароль.

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

    Шаг 1 – Создание нового пользователя

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

    В главном меню слева выберите Пользователи >> Добавить нового .

    Введите всю необходимую информацию для нового пользователя, определив его роль как «Администратор» и нажмите «Добавить нового пользователя» .

    Шаг 2 – Удаление пользователя admin

    После этого выйдите из системы управления, войдите под новой учетной записью и удалите пользователя admin из системы одним из способов:

    Способ 1 – В главном меню слева выберите Пользователи >> Все пользователи . Наведите на имя пользователя admin , и вы увидите функцию «Удалить» .

    Способ 2 — В главном меню слева выберите Пользователи >> Все пользователи . Найдите пользователя admin , отметьте его галочкой и из выпадающего меню «Действия» выберите «Удалить» . После этого нажмите на опцию «Применить» под списком пользователей. Эта опция удобна, если вам необходимо удалить сразу несколько пользователей.

    Так же вы можете изменить имя пользователя admin через запрос к базе данных:
    UPDATE wp_users SET user_login = ‘новый_логин’ WHERE user_login = ‘admin’;

    У данного способа есть минус: автор для постов, написанных пользователем admin , не будет изменен. Для того, чтобы это исправить, необходимо сделать еще один запрос к базе данных:
    UPDATE wp_posts SET post_author = ‘новый_логин’ WHERE post_author = ‘admin’;

    2. Используйте сложный и уникальный пароль.

    Защита админки WordPress, конечно, невозможна без сложного хорошего пароля. Важно, чтобы он был уникальным и включал в себя цифры, буквы разных регистров, знаки пунктуации, символы и прочее. Пароли типа: pass, 1q2w3e4r5t6y, 87654321, qwerty, abc123, 111111, 1234, дата вашего рождения и т.д. – не являются надежными, но многие пользователи продолжают их использовать. Пример хорошего пароля: pcVaOF8r39. Конечно, вам сложно будет запомнить такой пароль, но для этого существует ряд программ, которые хранят и генерируют пароли, а также могут быть интегрированы в интерфейс вашего браузера (например, Password Agent, KeyPass, Roboform и т.д.)

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

    Не забывайте регулярно обновлять свои пароли.

    3. Обновляйте версию WordPress.

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

    4. Скрывайте версию WordPress.

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

    С помощью файла functions.php можно запретить вывод информации о версии вашей платформы. Для этого вам необходимо открыть файл functions.php , расположенный в корневой папке текущей темы вашего веб-сайта (wp-content/themes/текущая_тема_wordpress) , и добавить следующий код:
    remove_action(‘wp_head’, ‘wp_generator’);

    Или же можно добавить следующий код в файл functions.php :

    /* Hide WP version strings from scripts and styles
    * @return {string} $src
    * @filter script_loader_src
    * @filter style_loader_src
    */
    function fjarrett_remove_wp_version_strings($src) {
    global $wp_version;
    parse_str(parse_url($src, PHP_URL_QUERY), $query);
    if (!empty($query[‘ver’]) && $query[‘ver’] === $wp_version) {
    $src = remove_query_arg(‘ver’, $src);
    }
    return $src;
    }
    add_filter(‘script_loader_src’, ‘fjarrett_remove_wp_version_strings’);
    add_filter(‘style_loader_src’, ‘fjarrett_remove_wp_version_strings’);

    /* Hide WP version strings from generator meta tag */
    function wpmudev_remove_version() {
    return »;
    }
    add_filter(‘the_generator’, ‘wpmudev_remove_version’);

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

    ” />

    5. Скачивайте темы и плагины с надежных ресурсов.

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

    6. Не храните ненужные файлы.

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

    7. Регулярно проверяйте свой локальный компьютер на наличие вирусов.

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

    8. Делайте резервные копии сайта.

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

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

    9. Используйте защищенное соединение.

    Если вы предпочитаете загружать ваши файлы с помощью FTP-клиента, используйте защищенный протокол соединения к серверу SFTP.

    10. Создайте.htaccess файл.

    Код, который блокирует доступ к директории /wp-content:

    Order deny,allow
    Deny from all

    Allow from all

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

    Код, защищающий от хотлинкинга:

    RewriteEngine On
    RewriteCond %{HTTP_REFERER} !^http://(.+\.)?yourdomain\.com/
    RewriteCond %{HTTP_REFERER} !^$
    RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]

    Хотлинкинг – это вставка изображения с вашего сервера на чужой сайт\блог. Трафик же при этом идет непосредственно на ваш сервер.

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

    11. Измените префикс таблиц базы данных.

    Защита WordPress от хакеров также усилится, если убрать первоначальный префикс wp_ — это усложнит поиск для злоумышленников. Рассмотрим несколько способов:

    Способ 1 – Подходит для новых установок через Softaculous
    Если ваш хостинг-провайдер предоставляет вам возможность использования скрипта Softaculous для установки WordPress, то изменить префикс вы можете во время первоначальной установки: в секции Advanced Options вам необходимо будет внести требуемые изменения.

    Способ 2 – Для уже работающих сайтов и свежих установок WordPress
    Если ваш WordPress давно установлен и сайт работает, то вы можете поменять префикс с помощью программы phpMyAdmin.

    Выберите необходимую базу данных из списка и сделайте следующий запрос к базе данных:

    RENAME table `wp_commentmeta` TO `newprefix_commentmeta`;
    RENAME table `wp_comments` TO `newprefix_comments`;
    RENAME table `wp_links` TO `newprefix_links`;
    RENAME table `wp_options` TO `newprefix_options`;
    RENAME table `wp_postmeta` TO `newprefix_postmeta`;
    RENAME table `wp_posts` TO `newprefix_posts`;
    RENAME table `wp_terms` TO `newprefix_terms`;
    RENAME table `wp_term_relationships` TO `newprefix_term_relationships`;
    RENAME table `wp_term_taxonomy` TO `newprefix_term_taxonomy`;
    RENAME table `wp_usermeta` TO `newprefix_usermeta`;
    RENAME table `wp_users` TO `newprefix_users`;

    где «newprefix_» необходимо заменить на новый префикс, который вы хотите использовать вместо префикса «wp_» .

    После этого вы увидите новый префикс в таблицах базы данных:

    Чтобы убедиться, что все изменения прошли успешно и префикс wp_ больше не используется в таблице _options и _usermeta , вам необходимо будет сделать еще один запрос к базе данных:

    SELECT * FROM `newprefix_options` WHERE `option_name` LIKE ‘%wp_%’

    SELECT * FROM `newprefix_usermeta` WHERE `meta_key` LIKE ‘%wp_%’

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

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

    После этого не забудьте также внести изменения префикса в wp-config.php файле:

    Вы также можете использовать специальные плагины для изменения префикса базы данных: Change DB prefix или Change table prefix.

    12. Ограничивайте количество попыток доступа.

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

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

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

    Чтобы убрать вывод этого сообщения, необходимо открыть файл functions.php , расположенный в папке текущей темы вашего веб-сайта (wp-content/themes/текущая_тема_WordPress) и добавить такой код:
    add_filter(‘login_errors’,create_function(‘$a’, «return null;»));

    13. Удалите readme.html и license.txt.

    Файлы readme.html и license.txt присутствуют в корневой папке любой установки WordPress. Вам эти файлы ни к чему, а хакерам они могут облечить их злодеяния. Например, чтобы выяснить текущую версию вашего WordPress и много чего другого полезного для взлома веб-сайта. Рекомендуем удалить их сразу же после установки WordPress.

    14. Используйте SSL-сертификат.

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

    Прежде всего вам необходимо будет и установить его для вашего доменного имени.

    После этого вы сможете установить обязательное использование SSL-протокола при входе в панель управления вашим сайтом. Для этого откройте wp-config.php файл, расположенный в корневой папке вашего веб-сайта, и добавьте следующую строку:
    define(‘FORCE_SSL_ADMIN’, true);

    15. Измените файл wp-config.php.

    Добавив такой код в wp-config.php файл, вы так же сможете укрепить защиту вашего веб-сайта:

    Ограничение на изменения темы и плагинов:
    define(‘DISALLOW_FILE_EDIT’, true);

    Отключение возможности установки и удаления плагинов:
    define(‘DISALLOW_FILE_MODS’, true);

    Добавление salt-ключей или так называемых ключей безопасности: сначала необходимо будет найти такие строки в wp-config.php файле:

    Вы увидите, что ключи уже установлены и их можно поменять. Либо вы увидите строки такого типа: ‘put your unique phrase here’, что говорит о том, что ключи пока не установлены:
    /**#@+
    * Authentication Unique Keys and Salts.
    *
    * Change these to different unique phrases!
    * You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
    * You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
    *
    * @since 2.6.0
    */
    define(‘AUTH_KEY’, ‘put your unique phrase here’);
    define(‘SECURE_AUTH_KEY’, ‘put your unique phrase here’);
    define(‘LOGGED_IN_KEY’, ‘put your unique phrase here’);
    define(‘NONCE_KEY’, ‘put your unique phrase here’);
    define(‘AUTH_SALT’, ‘put your unique phrase here’);
    define(‘SECURE_AUTH_SALT’, ‘put your unique phrase here’);
    define(‘LOGGED_IN_SALT’, ‘put your unique phrase here’);
    define(‘NONCE_SALT’, ‘put your unique phrase here’);

    О некоторых плагинах хочется упомянуть отдельно:

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

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

    Этот плагин позволяет обезопасить пользовательские аккаунты и логины, базы данных и файловую систему, предотвратить брутфорс атаки (атаки, связанные с подбором пароля), сканировать сайт и прочее.

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

    • Сергей Савенков

      какой то “куцый” обзор… как будто спешили куда то