SEO

Как обезопасить сайт на WordPress от взлома?

Время чтения: 5 мин.

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

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

Краткий ответ

Никто не любит когда в статье много слов и мало сути так что суть сразу:

  1. Обновления CMS
  2. Обновления плагинов
  3. Автоматическая установка обновлений
  4. Заменить пиратские плагины либо купить лицензию
  5. Подключить SSL и перейти на HTTPS
  6. Обновить версию PHP
  7. Поменять пароль
  8. Двухэтапная авторизация на почту
  9. Подключить CloudFlare

Теперь разберемся с тем как это правильно реализовать.

В чем опасность?

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

Распределение CMS по популярности:

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

Сделайте резервную копию

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

Как это сделать? Лучше всего написать в техподдержку хостинга и узнать есть ли у них резервное копирование. Вот так выглядит этот раздел на примере хостинга Beget:

И сама страница инструмента бэкапов:

 

Обновления сайта — основа безопасности

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

Как установить все обновления? Отправляемся сюда: Админ панель WordPress — Консоль — Обновления, по адресу https://promov.one/wp-admin/update-core.php только вместо promov.one адрес вашего сайта.

Вот так выглядит страница, на которой установлены все обновления:

А вот так выглядит страница, где не все обновления установлены:

Соответственно, нам нужно провести обновление. Это может пройти в несколько этапов:

  1. Обновление плагинов до последних совместимых с CMS
  2. Обновление CMS
  3. Новое обновление плагинов
  4. Обновление тем

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

Включение автоматических обновлений

После обновления CMS WP в нем будет доступна функция автоматической установки всех обновлений. Ее нужно включить для:

  • Для CMS в разделе Обновления
  • Для плагинов в разделе Плагины

Вот так можно включить в разделе плагинов:

Так можно включить сразу для всех плагинов:

В итоге страница плагинов должна выглядеть так:

А страница раздела обновлений так:

Что если не обновляется?

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

  1. Настройки хостинга не позволяют обновиться
  2. Плагины не лицензированы и потому не обновляются

Если не обновляется из-за настроек хостинга то можно получить сообщение вроде такого:

Информация для соединения

Чтобы осуществить запрошенное действие, WordPress необходим доступ к вашему серверу. Пожалуйста, введите координаты доступа к FTP. Если вы не помните координаты, можно узнать их в службе поддержки вашего хостинг-провайдера.

Выглядит это так:

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

Если у плагинов нет лицензионного ключа то будет получена ошибка:

При обновлении Advanced Custom Fields PRO произошла ошибка: Архив обновления недоступен.

При обновлении All In One SEO Pack Pro произошла ошибка: Архив обновления недоступен.

Что это значит? Значит, что плагин пиратский. То есть разработчик взял его без лицензии и установил на сайт. И если у него об этом спросить то он начнет рассказывать сказки и вешать лапшу на уши про то, что плагин лицензионный просто ключа нет и пр, но это все ерунда. Нет ключа = пиратский плагин. Что делать? Два варианта:

  1. Купить лицензионный ключ и обновить
  2. Удалить плагин и вместо него использовать бесплатный с похожим функционалом, если это возможно

Пиратский плагин = нет обновлений = сайт взломают рано или поздно. Точка. Не обсуждается.

Подключить SSL и перейти на HTTPS

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

Как это реализовать? Есть 2 способа:

  1. Установить сертификат самостоятельно
  2. Подключить CDN CloudFlare

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

Установить новую версию PHP

Подробнее об этом у нас есть статья о версиях php для WordPress, в двух словах: нужно установить минимум 7.4, а лучше 8.0. Проверить какая установлена сейчас можно так через раздел Инструменты — Здоровье сайта:

И далее перейти во вкладку Сервер:

Если версия ниже 7.4 то обязательно нужно обновить. Как минимум версия 7.4 должна быть. Но если удастся поднять на версии 8.0 — это еще лучше.

Обновить пароли

  1. Администратора. Все просто — поменять пароль на новый, сложный. Мало ли куда старый пароль уже успел утечь пока сайт был без обновлений
  2. Всех редакторов и пользователей с правами публикации материалов
  3. FTP и хостинга
  4. От своей почты

Включить двухэтапную авторизацию на почте

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

Проверьте раздел здоровье сайта

Отправляемся в админ-панель, раздел Инструменты и там Здоровье сайта. Во вкладке Состояние есть ряд рекомендаций, которые иногда полезно внедрить. На скриншоте ниже нет ничего критичного:

Но если есть важные замечания то они будут отмечены как обязательные к внедрению и выделены красным.

Разнесите сайты по разным серверам

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

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

Оценка статей помогает нам становиться еще лучше и радует авторов материала
[Всего: 1 Средняя оценка: 5]

2 thoughts on “Как обезопасить сайт на WordPress от взлома?

  1. У меня вверху моего сайта пишет НЕ БЕЗОПАСНО, это значит сайт взломали?

    1. Нет, скорее всего это просто отсутствие SSL сертификата и сайт доступен по HTTP вместо HTTPS. У нас есть статя о подключении HTTPS, установке SSL и подключении CloudFlare.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *