Советы по защите для WordPress. 12 советов по защите вашего сайта

Опубликовано: 2019-07-11

WordPress — одна из самых популярных CMS в мире. Его используют более 18,9% всех интернет-сайтов, а количество установок превысило 76,5 млн. К сожалению, у такой популярности есть и свои минусы. Согласно отчету Sucuri (безопасность и защита веб-сайтов), WordPress является самой взламываемой CMS в мире. Однако, если вы будете следовать лучшим практикам в этом вопросе и примените несколько методов из этого руководства, вы поймете, что защиту WordPress можно легко усилить, выполнив несколько простых шагов.

Что тебе понадобится

Прежде чем мы начнем, проверьте следующее:

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

Содержание

Шаг 1. Поддержание актуальной версии WordPress;
Шаг 2. Использование нестандартных учетных данных для входа;
Шаг 3. Включение двухэтапной аутентификации;
Шаг 4. Отключение отчетов об ошибках PHP;
Шаг 5. Не используйте пустые шаблоны для WordPress;
Шаг 6. Сканирование WordPress на наличие вредоносных программ;
Шаг 7. Перенос вашего сайта на более безопасный хостинг;
Шаг 8. Делайте резервные копии ваших данных как можно чаще;
Шаг 9. Отключение опции редактирования файлов;
Шаг 10. Удаление неиспользуемых шаблонов и плагинов;
Шаг 11. Использование .htaccess для повышения безопасности WordPress;
Шаг 12. Изменение стандартных префиксов базы данных WordPress для предотвращения SQL-инъекций Заключение

Шаг 1. Поддержание текущей версии WordPress

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

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

Если вы не знаете, как обновить WordPress, проверьте это.

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

Используете ли вы «admin» в качестве имени администратора в WordPress? Если ответ «да», то вы серьезно снижаете безопасность WordPress и упрощаете взлом вашей панели управления. Настоятельно рекомендуется изменить имя пользователя администратора на другое (см. этот учебник, если вы не знаете, как это сделать) или создать новую учетную запись администратора с другими данными.

Выполните следующие действия, если вы предпочитаете второй вариант:

  • Войдите в панель управления WordPress;
  • Найдите раздел «Пользователи» и нажмите кнопку «Добавить нового»;
  • Создайте нового пользователя и назначьте права администратора;
  • Войдите в WordPress с вашими новыми данными;
  • Вернитесь в раздел «Пользователи» и удалите учетную запись администратора по умолчанию.

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

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

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

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

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

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

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

отчет об ошибках (0);
@ini_set('display_errors', 0);

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

Помните: «бесплатный сыр — только в мышеловке». То же самое относится к нулевым шаблонам и плагинам.

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

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

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

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

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

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

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

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

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

Шаг 8. Делайте резервные копии ваших данных как можно чаще

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

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

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

  • ВолтПресс;
  • БэкАпВордПресс;
  • BackupGuard.

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

Шаг 9. Отключение опции редактирования файлов

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

определить('DISALLOW_FILE_EDIT', правда);

Это все, что вам нужно, чтобы отключить эту функцию в WordPress.

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

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

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

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

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

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

ВАЖНЫЙ. Прежде чем вносить какие-либо изменения в файл, сделайте резервную копию старого файла .htaccess. Для этого вы можете использовать FTP-клиент или файловый менеджер.

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

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

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName «Контроль доступа администратора WordPress»
Основной тип авторизации

порядок запретить, разрешить.
отрицать от всех
разрешить от xx.xx.xx.xx.xxx
разрешить от xx.xx.xx.xx.xxx

Обратите внимание, что «xx.xx.xx.xx.xxx» — это ваш IP-адрес. Вы можете использовать этот веб-сайт для проверки вашего текущего IP-адреса. Если вы используете более одного подключения для управления сайтом на WordPress, убедитесь, что вы написали другие IP-адреса (добавьте столько адресов, сколько вам нужно). Не рекомендуется использовать этот код, если у вас динамический IP-адрес.

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

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

отрицать от всех

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

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

порядок разрешить, запретить.
отрицать от всех

Шаг 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.

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

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

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

Теперь вам нужно обновить все записи в вашей базе данных. Это можно сделать с помощью phpMyAdmin.

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

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

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

ПЕРЕИМЕНОВАТЬ таблицу `wp_commentmeta` В `wp_1secure1_commentmeta`;
ПЕРЕИМЕНОВАТЬ таблицу `wp_comments` В `wp_1secure1_comments`;
ПЕРЕИМЕНОВАТЬ таблицу `wp_links` В `wp_1secure1_links`;
ПЕРЕИМЕНОВАТЬ таблицу `wp_options` В `wp_1secure1_options`;
ПЕРЕИМЕНОВАТЬ таблицу `wp_postmeta` В `wp_1secure1_postmeta`;
ПЕРЕИМЕНОВАТЬ таблицу `wp_posts` В `wp_1secure1_posts`;
ПЕРЕИМЕНОВАТЬ таблицу `wp_terms` В `wp_1secure1_terms`;
ПЕРЕИМЕНОВАТЬ таблицу `wp_termmeta` В `wp_1secure1_termmeta`;
ПЕРЕИМЕНОВАТЬ таблицу `wp_term_relationships` В `wp_1secure1_term_relationships`;
ПЕРЕИМЕНОВАТЬ таблицу `wp_term_taxonomy` В `wp_1secure1_term_taxonomy`;
ПЕРЕИМЕНОВАТЬ таблицу `wp_usermeta` В `wp_1secure1_usermeta`;
ПЕРЕИМЕНОВАТЬ таблицу `wp_users` В `wp_1secure1_users`;

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

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

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

Для таблицы параметров используйте:

SELECT * FROM `wp_1secure1_options`, ГДЕ `option_name` КАК `%wp_%`

Для таблицы метаданных:

ВЫБЕРИТЕ * ИЗ `wp_1secure1_usermeta`, ГДЕ `meta_key` КАК `%wp_%`

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

Защита новых установок WordPress

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

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

Заключение

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

Биография автора : Рой — технический энтузиаст, любящий отец близнецов, программист в компании по разработке программного обеспечения, главный редактор жадного читателя TheHomeDweller.com и садовник.