Защита WordPress – 12 Советов, чтобы защитить ваш сайт

Защита WordPress – 12 Советов, чтобы защитить ваш сайт

Введение

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

Оглавление

Что вам понадобится

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

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

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

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

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

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

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

admin защита wordpress

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

  1. Войдите в панель управления WordPress
  2. Найдите раздел Пользователи и нажмите кнопку Добавить нового.wordpress добавить нового
  3. Создайте нового пользователя и назначьте ему права Администратораwordpress добавить нового 2
  4. Перезайдите в WordPress с вашими новыми данными.
  5. Вернитесь в раздел Пользователи и удалите стандартную учетную запись Admin.wordpress удалить

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

wordpress backup

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

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

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

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

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

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

define( 'DISALLOW_FILE_EDIT', true );

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

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

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

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

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

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

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

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

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

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

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

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

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

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

<Files *.php>
deny from all
</Files>

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

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

<files wp-config.php>
order allow,deny
deny from all
</files>

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

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

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

ВАЖНО! Главное это безопасность! Перед началом, удостоверьтесь, что сделали бэкап вашей базы данных MySQL.

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

Найдите ваш файл wp-config.php используя FTP клиент или Файловый менеджер найдите строку со значением $table_prefix.защита wordpress wp config изменение префикса таблиц

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

Author
Автор

Elena B.

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