Настройка безопасности 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 был безопасен только потому, что он не имеет какого-либо контента который стоит взломать. К сожалению, это не так. Сайты часто взламывают, например для распространения спама. Или ядро и файлы темы заполнены вредоносным кодом, чтобы заразить и взломать компьютеры вашего посетителя сайта. Вполне возможно, что вы только заметили повреждение, когда Google или Yandex уже пометили ваш сайт или удалили его из индекса. Не позволяйте этому случиться, и рассмотрите мои советы для идеального wp-config.php.

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

    Для оптимизации wp-config.php, используются так называемые константы. WordPress имеет много констант, которые могут быть использованы. Но что такое константа? PHP.net описывает константы следующим образом:

    Константа является идентификатором (именем) для простого значения. Как следует из названия, это значение не может изменяться в ходе выполнения скрипта (для магических констант, которые не являются на самом деле, кроме как константы). Константа чувствительна к регистру по умолчанию. По соглашению, постоянные идентификаторы всегда в верхнем регистре.PHP.net

    Константы встроены в функции define(), и выглядят следующим образом: define("NAME_OF_THE_CONSTANT", value);

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

    До работы: пожалуйста, создайте резервную копию wp-config.php

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

    Важно: Всегда делайте обновление WordPress и плагинов

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

    Ситуация в сфере безопасности:

    Специалистов в области безопасности Sucuri в настоящее время предупреждают о недостатка безопасности в популярном плагине Jetpack для WordPress. Вредоносный код может быть реализован с помощью шорткод-встраиваемой-функции. Automattic будут действительно реагировать скоро и выпустят новую версию.

    Как закрыть брешь в безопасности на данный момент:

    Если вы будете использовать , вы не в опасности. Там, большой брандмауэр 6G, который может парировать этот тип атак.

    Подготовка:

    Для всех последующих работ, вам понадобится программа , а также редактор HTML. wp-config.php загружается на рабочий стол, и редактируется в HTML-редакторе, и загружается обратно на сервер.

    1 – Используйте ключи безопасности

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

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

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

    Дополнительная информация:

    2 – принудительное использование HTTPS

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

    Вы не должны бояться крупных затрат, так как .

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

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

    3 – Изменение префикса базы данных

    Приставка базы данных также известна под маркой “префикс таблиц” . Этот префикс используется в качестве расширения каждой таблицы базы данных, порожденного WordPress. Здесь стандарт wp_ . Этот стандарт должен быть изменен на что – то другое. Чем больше загадочными, тем лучше. Не волнуйтесь; Вам не нужно помнить, что вы вводили здесь. Это значение помещается один раз.

    Думая об этом, возможность инъекции SQL снижается вплоть до нуля. Но это возможно. Таким образом, измените значение перед установкой WordPress. Используйте что – то вроде fdf2a7r_ , например.

    Внимание: Если вы измените значение уже существующей установки WordPress, веб-сайт не будет доступен!

    Если вы хотите изменить префикс таблиц существующего сайта WordPress, плагин Acunetix WP Security может помочь вам. Он позволяет изменять значение легко, и все, что вам нужно сделать, это снова войти в систему. Тем не менее, вы все равно должны создать резервную копию заранее .

    4 – Выключить редакторы плагинов и темы

    Изменения в теме или в файлах плагинов, как правило, производится с помощью (S) FTP, так как это гораздо безопаснее. Таким образом, редакторы должны быть выключены. Одной строки в wp-config.php достаточно, чтобы безопасно отключить оба редактора:

    5 – Переместить wp-config.php

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

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

    6 – форсирует использование FTPS

    Если ваш веб-хостинг активировал протокол передачи файлов Secure (FTPS), вы можете принудительно использовать FTPS для передачи файлов. Он будет шифровать связь между посетителем и сервером. Теперь, невозможно получить доступ к данным на сервере с небезопасного протокола . FTP является небезопасным, так как доступ к информации передается на сервер в незашифрованном виде. Таким образом, если это возможно, использовать только безопасное соединение через FTPS. Ваш веб-хостинг может сказать вам, если подключение FTPS возможно.

    Принуждение использование FTPS, это просто:

    7 – принудительное использование SFTP

    Вместо протокола FTPS, некоторые хостеры активировали протокол SFTP для передачи данных. Здесь связь между пользовательской программой FTP и сервером также шифруется. Следующая строка кода позволяет принудительно использовать SFTP:

    8 – Отключение режима отладки

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

    9 – Выключите индикацию ошибок PHP

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

    10 – Включение функции автоматического обновления

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

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

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

    Этот плагин должен быть перемещен в папку /wp-content/mu-plugins/ . Если папка не существует, просто создайте ее. Папка /mu-plugins/ содержит “используемые” плагины. Его содержимое загружается всеми с другими плагинами.

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

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

    Дополнительная информация:

    Вывод

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

    • Перевод

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

    Эта статья сфокусирована на вопросах усиления безопасности WordPress - как административной панели, так и настроек блога, подразумевая все содержимое папки «wp-admin» , которое отображается только после авторизации . Мы сознательно выделили фразу "после авторизации " - вы должны четко осознавать, что только один простой запрос отделяет «злого хакера» и админку всего вашего блога или сайта! А последняя защищена настолько сильно, насколько мощный пароль вы выбрали.

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

    1. Переименуйте папку wordpress.

    Начиная с версии 2.6, стало возможным изменять путь к папке wp-content . К сожалению это до сих пор неприменимо к папке wp-admin . Думающие о безопасности блоггеры смирились с этим и стали надеяться, что это станет возможным в будущих версиях. Пока этого не случилось, предлагаем воспользоваться следующим альтернативным решением проблемы. После распаковки архива с файлами WordPress, вы увидите папку «WordPress» - переименуйте папку (в идеале во что-то непонятное вроде " wordpress_live_Ts6K" ) и после этого настройте соответственным образом файл wp-config.php , который находится в корневой директории.
    Что нам даст это изменение?
    • Во-первых, все файлы WordPress не будут смешаны с другими файлами в корне сайта, таким образом мы повысим ясность корневого уровня.
    • Во-вторых, множество копий WordPress может быть установлено параллельно в папки с разными именами, исключая их взаимодействие, что делает это идеальным для тестирования
    • Третье преимущество напрямую касается безопасности: административная зона (и весь блог в целом) больше не находится в корневой папке и для проведения каких-либо действий по взлому сначала ее нужно будет найти. Это проблемно для людей, но что касается ботов - вопрос времени.

    Несколько установленных версий в root-каталоге - это возможно!

    Примечание: Если системные файлы WordPress больше не в корневой директории, и имя папки инсталяции изменено в соответствии с рекомендациями, описанными выше, блог будет все равно доступен по адресу wp-config.ru . Почему? Зайдите в раздел «Общие настройки (General settings)» вашего блога и введите в поле «WordPress address (URL)» реальный адрес блога на сервере, как показано в примере:

    Адрес блога должен быть красивым и ненавязчивым

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

    2. Усовершенствуйте файл wp-config.php

    Конфигурационный файл WordPress wp-config.php содержит в себе некоторые настройки сайта и информацию для доступа к базе данных. Также там другие настройки, касающиеся безопасности (они представлены в списке ниже). Если таких значений в этом файле нет, или же имеются только установленные по умолчанию, вам необходимо, соответственно, добавить или изменить их:
    • Ключи безопасности: начиная с версии 2.7, в WordPress есть четыре ключа безопасности, которые должны быть правильно установлены. WordPress спасает вас от необходимости выдумывать эти строки самому, автоматически генерируя правильные ключи с точки зрения безопасности. Вам просто нужно вставить ключи в соответствующие строки файла wp-config.php. Эти ключи являются обязательными для обеспечения безопасности вашего блога.
    • Префикс таблицы заново установленного WordPress блога не должен быть стандартным «wp_» Чем больее сложным будет значение префикса, тем менее вероятна возможность несанкционированного доступа к таблицам вашей MySQL базы данных. Плохо: $table_prefix = "wp_"; . Намного лучше: $table_prefix = "wp4FZ52Y_"; Не стоит бояться забыть это значение - вам необходимо ввести его только один раз, больше оно вам не понадобится.
    • Если у вас на сервере доступно SSL шифрование , рекомендуется включить его для защиты административной зоны. Это можно сделать, добавив следующую команду в файл wp-config.php: define("FORCE_SSL_ADMIN", true);
    Также вы можете регулировать другие системные настройки в конфигурационном файле. Четкий и исчерпывающий список доступных настроек доступен на странице Кодекса

    Не пренебрегайте установкой правильных ключей безопасности!

    3. Переместите файл wp-config.php

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

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

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

    # protect wpconfig.php
    Order deny,allow deny from all

    Очень важно убедиться, что файл .htaccess находится в той же директории что и файл wp-config.php .

    5. Удалите учетную запись администратора.

    Во время процесса установки WordPress создает учетную запись администратора с ником «admin» по умолчанию. С одной стороны это вполне логично, с другой - пользователь с известным ником, т.е. ID - 1, обладающий административными правами, является вполне предсказуемой мишенью для хакеров с их программами подбора паролей. Отсюда следует наш совет:
    • Создайте еще одного пользователя с административными правами и вашим ником.
    • Завершите сеанс работы.
    • Залогиньтесь под новым аккаунтом.
    • Удалите учетную запись "admin ".
    Если у вас не новый блог и под учетной записью admin вы уже публиковали посты или комментарии, то из предложенных вариантов в момент удаления, выберите пункт «Связать все записи и ссылки с:» и выберите имя нового пользователя:

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

    6. Выберите сильный пароль.

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

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

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

    7. Защитите папку «wp-admin».

    Следуя пословице «две головы лучше одной», существует способ вдвое усилить защиту административной зоны. Защита регулируется файлом .htaccess , который должен находится в папке «wp-admin» вместе с файлом .htpasswd , который хранит логин и пароль пользователя. После обращения к папке, вам нужно будет ввести логин и пароль, но разница в том, что в этом случае авторизация контролируется на стороне сервера, а не силами самого WordPress.

    Для того чтобы просто и быстро сгенерировать файлы .htaccess и .htpasswd , воспользуйтесь этим сервисом .

    8. Запретите отображение ошибок на странице авторизации.

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

    Несложно догадаться, как быстро сокращается вероятность подбора комбинации логина/пароля, когда система указывает что именно введено неверно. Простая строка кода, поможет решить эту проблему, достаточно добавить её в файл functions.php вашей темы:

    Add_filter("login_errors",create_function("$a", «return null;»));

    Изначальный/измененный вид страницы авторизации.

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

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

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

    То ли качество кода стабилизировалось, то ли владельцы сайтов усилили свою ответственность. Надеюсь, что повлияли оба фактора.

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

    Причины взломов на практике сводятся к двум вещам:

    • заброшенные и неподдерживаемые плагины — вам всегда нужно устанавливать обновления;
    • связанное с паролями и правами — это нужно один раз правильно настроить и придерживаться;

    Каждый сайт подвержен взлому, поэтому единственный способ себя по-настоящему обезопасить — создать бэкап.

    Серьезно.

    Настройте создание бэкапов! Может быть, с помощью плагина, или непосредственно на вашем хостинге..

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

    Как настроить расписание зависит от того, что и насколько часто меняется конкретно на вашем сайте.

    Не включайте лишний код

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

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

    Хорошими вопросами могут быть:

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

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

    Также, недостаточно просто деактивировать неиспользуемые плагины, — лучше всего их полностью удалить. Вместе с неиспользуемыми темами.

    Придерживайтесь простого, но эффективного принципа:

    Меньше кода, меньше проблем.

    Не давайте другим участникам права, превышающие их обязанности

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

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

    Обновляйте сайт и плагины

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

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

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

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

    Такая же «котовасия» происходит с премиум темами, которые включают в себя дополнительные премиум плагины вроде Visual composer, Revolution slider, Layer slider и так далее.

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

    Это частая ситуация, поэтому уделите внимание двум вещам:

    • сделайте дочернюю тему — минутное дело, но помогает в дальнейшем легко обновляться;
    • старайтесь по возможности не править много кода в теме — если это необходимо, может лучше написать дополнительный функционал?

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

    Устанавливайте сильные пароли

    Сильные пароли помогают избежать brute-force атаки, то есть угадывания вашего пароля. Если ваш пароль содержит всего 3-4 символа, и при этом вы используете логин admin , то ваш сайт можно взломать менее чем за 1 минуту! Подумайте об этом.

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

    Конечно, такой пароль не просто придумать, тем более его запомнить и использовать. Здесь вам на помощь придут автоматизированные приложения: 1password , keepass , lastpass . Выберите одно, и предоставьте им заботиться о хранении ваших паролей.

    Пользуйтесь доверенными источниками

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

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

    Потому что код этого плагина никак не проверялся на работоспособность и уязвимость, как это делается командой разработчиков и сообществом на сайте https://wordpress.org/plugins/ , и скорее всего, он может содержать рискованный код даже без всякого умысла со стороны его автора.

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

    Включите антивирус на компьютере

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

    Не вводите пароли в публичных зонах Wi-Fi

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

    Используйте зашифрованный способ передачи. Создайте и настройте SSL сертификаты для вашего сайта, вы будете спокойны, зная что защитили ваш сайт и данные ваших пользователей.

    Защищенные файлы и системные каталоги

    • Правильные права на файлы и каталоги

    Выставьте права 644 на файлы, и 755 на каталоги, то есть запись доступна только для владельца — для вас. Это снижает риск потенциальной угрозы, особенно на виртуальном хостинге.
    Вы можете вручную изменить права через панель управления хостинга, или через ftp клиент.

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

    Для каталогов:

    Find /путь_к_вашей_папке_wordpress/ -type d -exec chmod 755 {} ;

    Для файлов:

    Find /путь_к_вашей_папке_wordpress/ -type f -exec chmod 644 {} ;

    • Защита важных файлов и каталогов- (wp-admin/, wp-config.php, wp-login.php, wp-includes)

    Защита /wp-admin/ .
    По этому адресу открывается консоль управления вашего сайта.

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

    Или вы можете сделать это вручную.
    Для этого вам нужно воспользоваться генератором файла htpasswd , затем скопировать полученный файл на ваш сервер, например, в каталог выше вашей установки wordpress.

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

    AuthName "Wordpress Console" AuthUserFile /путь_к_вашему_файлу/htpasswd AuthGroupFile /dev/null AuthType basic require user имя_пользователя

    Замените требуемые значения.

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

    Если вам нужно ограничить вход по ip адресам, впишите следующие директивы в файл.htacesss:

    Order deny,allow Deny from all Allow from xxx.xxx.xxx.xxx

    Таким образом, сначала вы запрещаете доступ со всех источников, затем открываете доступ только для конкретных ip. Порядок важен.

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

    Перенесите этот файл из вашей корневой папки wordpress в папку на уровень выше. Выставьте права на файл 400 или 440, таким образом будут доступны только права на чтение для вас и для вашего сервера.

    Если вы не можете перенести файл, включите в самый верх.htaccess следующий код, что полностью запретит обращение к wp-config.php:

    Order allow,deny deny from all

    Защита wp-includes/ .

    Чтобы еще больше повысить безопасность WordPress, вы можете ограничить выполнение
    скриптов в папке wp-includes/. Внесите в.htaccess следующий код:

    RewriteEngine On RewriteBase / RewriteRule ^wp-admin/includes/ - RewriteRule !^wp-includes/ - RewriteRule ^wp-includes/[^/]+.php$ - RewriteRule ^wp-includes/js/tinymce/langs/.+.php - RewriteRule ^wp-includes/theme-compat/ -

    Если у вас режим мультисайт, закомментируйте строку

    "RewriteRule ^wp-includes/[^/]+.php$ - "

    Не разрешать поисковым роботам обрабатывать служебные страницы

    Проверьте ваш файл robots.txt.

    User-agent: * Disallow: /feed/ Disallow: /trackback/ Disallow: /wp-admin/ Disallow: /wp-content/ Disallow: /wp-includes/ Disallow: /xmlrpc.php Disallow: /wp-

    Всё это служебные папки wordpress, которые поисковик не должен индексировать.

    Спрячьте версию wordpress от потенциальных хакеров

    Информация о версии находится в заголовке и в RSS фидах:

    Чтобы убрать её оттуда, вам нужно включить следующий код в файл functions.php активной темы:

    Function wp_remove_version() { return ""; } add_filter("the_generator", "wp_remove_version");

    Измените имя администраторского аккаунта

    По умолчанию WordPress создает учетную запись под именем admin , что упрощает возможность взлома с помощью brute-force атаки. Вам обязательно нужно его сменить.

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

    В поле user_login измените значение admin на ваш новый предпочитаемый логин и нажмите Go .

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

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

    1. Сделайте бэкап вашей базы данных через phpmyadmin;
    2. Откройте файл в простом текстовом редакторе и замените префикс «wp_» на значение вашего нового префикса;
    3. Деактивируйте все ваши плагины;
    4. Удалите старую базу данных и импортируйте ту, что с новым префиксом;
    5. Измените настройки базы данных в файле wp-config.php на использование нового префикса;
    6. Активируйте нужные плагины;
    7. Обновите ЧПУ/Постоянные ссылки.

    Включите SSL на сайте

    Если вы получили SSL сертификат, включите поддержку SSL в файле wp-
    config.php:

    Define("FORCE_SSL_LOGIN", true); define("FORCE_SSL_ADMIN", true);

    На этом сайте действует сертификат от Cloudflare, который выдается бесплатно, но требуется подключить и настроить этот сервис.

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

    Если вы заметили в логах вашего сервера активную brute-force атаку, вы можете её предотвратить, ограничив количество попыток входа с помощью плагина Limit Login Attempts .

    Плагин не обновлялся 2 года, но прошел миллион установок, получил хорошие отзывы о работе, в том числе с текущими версиями WordPress.

    Запретите редактирование файлов плагинов и тем в консоли управления

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

    Define("DISALLOW_FILE_EDIT", true);

    Если ваш сайт взломали

    1. Отключите сайт
    2. Сообщите вашему сервис провайдеру, возможно заражены другие сайты
    3. Сделайте бэкап сайта
    4. Измените все пароли в файле wp-config.php
    5. Переустановите WordPress, таким образом файлы движка заменятся свежими копиями
    6. Переустановите темы и плагины заново, чтобы убедиться, что в них не остался вредоносный код
    7. Вы также можете использовать доступные плагины для поиска потенциального вредоносного кода.

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

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

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

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

    Создайте отдельный аккаунт с правами редактора

    Когда вы пишете или редактируете сообщения в блоге, «имя автора» показывается в нижнем левом углу браузера, если навести курсор на имя автора в публикации. Если ваше имя автора совпадает с именем администратора, вы сделали за хакеров половину работы по успешному взлому своего сайта.

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

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

    Не используйте простые пароли

    Запомните простое слово СУД – Сложный, Уникальный, Длинный. Здесь вступают в игру инструменты вроде 1Password или LastPass, которые генерируют пароли установленной вами длины. В зависимости от того, какой уровень защиты вы хотите получить, выбирается длина пароля в знаках (обычно хватит 20 знаков) и включаются такие редко используемые символы, как # или *.

    «123456» — это не пароль. «qwerty» равносильно тому, что вы напишете на банковской карте её пин-код. Даже «starwars» вошел в список 25 самых распространенных паролей 2015 года. Помните, вы не настолько уникальны, как думаете.

    Добавьте двухфакторную аутентификацию

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

    Да, двухфакторная аутентификация доставляет много хлопот. Но теперь это ваш Форт-Нокс. Суть ее для защиты сайта на WordPress заключается, как ясно из названия, в двух формах авторизации. Сегодня это стандарт, повышающий безопасность ваших точек доступа. Вы уже используете двухфакторную авторизацию для Gmail и Paypal (по крайней мере, должны это делать). Так почему бы не добавить в список WordPress?

    Для реализации инструмента есть специальный плагин Google Authenticator. Альтернативный вариант с несколько другим подходом и тем же результатом — Rublon Plugin.

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

    Принцип минимальных привилегий очень простой – давайте доступ только:

    — тем, кому он нужен;

    — тогда, когда он нужен;

    — на тот период времени, который нужен.

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

    Хорошая новость – эти действия не займут у вас много времени.

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

    Для настройки подобного рода безопасности wordpress есть плагин: Google Authenticator . Альтернативой, которая использует несколько иной подход для этой же цели, является плагин

    Скройте файлы wp-config.php и.htaccess

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

    Перейдите в меню «Инструменты => Редактор файлов» для редактирования файла.htaccess. Для повышения уровня безопасности и защиты файла wp-cnofig.php вам нужно добавить такой код в файл.htaccess:

    Он закроет доступ посторонних к файлу wp-config.php. Похожий код можно использовать для защиты самого файла.htaccess: order allow,deny deny from all

    Вы сможете внести эти изменения самостоятельно, здесь нет ничего сложного.

    Используйте для аутентификации ключи безопасности WordPress

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

    Чтобы изменить их в файле wp-config.php, просто получите новый набор ключей здесь — https://api.wordpress.org/secret-key/1.1/salt/ — и добавьте в файл. При обновлении указанной страницы ключи изменяются, так что каждый раз вы будете получать новый набор.

    Отключите редактирование файлов

    Самым простым способом изменить ваши файлы является доступ к пункту меню WordPress «Оформление => Редактор». Чтобы повысить уровень защиты, вам нужно отключить возможность редактирования файлов через консоль. Откройте файл wp-config.php и добавьте строчку

    Define("DISALLOW_FILE_EDIT", true);

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

    Ограничьте число попыток авторизации

    Целью атак методом подбора ключей является форма для авторизации на сайте. Плагин All in One WP Security & Firewall позволяет изменить путь по умолчанию (/wp-admin/) к этой форме ввода. Помимо этого, с помощью специальных плагинов вы можете ограничить число попыток ввода с конкретного IP-адреса.

    Выборочное использование интерфейса XML-RPC

    XML-RPC – это прикладной программный интерфейс (API), который используется повсеместно. К нему обращается огромное число плагинов и тем, поэтому менее подготовленным технически пользователям нужно особенно осторожно экспериментировать с этим инструментом.

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

    Хостинг и безопасность WordPress

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

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

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

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

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

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

    Не забывайте о хостинг-аккаунте

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

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

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

    Будьте в курсе последних обновлений

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

    Недавние исследования показал, что 56% установленных систем WordPress используют устаревшие версии платформы.

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

    Как выбирать безопасные плагины и темы для WordPress

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

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

    Как выбрать правильный плагин для wordpress

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

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

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

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

    Заключение

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

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

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

    Помните, безопасность WordPress не бывает абсолютной.

    Так что сделать жизнь хакеров тяжелой – наша задача, как владельцев сайтов.