Главная » Создание сайтов » Безопасность сайта на WordPress: базовые правила защиты
Безопасность сайта на WordPress: базовые правила защиты

Безопасность сайта на WordPress: базовые правила защиты

Создание сайтов|9 апреля|Валентин Емельянов|Время чтения: 9 мин

Приветствую вас, друзья! Очень часто слышу от владельцев небольших сайтов: «Да кому нужен мой блог, кто его будет взламывать?». К сожалению, взламывают не только крупные порталы. Большинство атак автоматические: боты круглосуточно перебирают тысячи сайтов подряд, ищут устаревшие плагины, слабые пароли и открытые уязвимости. Им неважно, сколько у вас посетителей, — им нужен сервер, на котором можно разместить спам-ссылки, фишинговые страницы или вредоносный код. WordPress — самая популярная система управления сайтами, поэтому и внимания к ней у злоумышленников больше всего. Но сам по себе движок достаточно надёжен: проблемы почти всегда возникают из-за небрежности. Давайте разберём базовые правила, которые закрывают основную часть рисков.

Откуда берутся взломы

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

  • Уязвимые плагины и темы. Самая частая причина. Разработчик допустил ошибку, её нашли и опубликовали, а владелец сайта месяцами не ставит обновление.
  • Слабые пароли. Логин admin и пароль вроде qwerty123 подбираются автоматически за минуты.
  • «Нулёные» темы и плагины. Платные расширения, скачанные бесплатно с сомнительных сайтов. В них нередко вшит вредоносный код или скрытые ссылки.
  • Заражённый компьютер владельца. Троян крадёт сохранённые пароли от FTP и админки.
  • Проблемы на хостинге. Неправильные права доступа к файлам, соседние заражённые сайты на одном аккаунте.

Обратите внимание: почти всё из этого списка зависит от вас. Поэтому безопасность — это прежде всего набор привычек, а не какой-то один волшебный плагин.

Обновления: самое скучное и самое важное правило

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

  1. Включите автоматические обновления для минорных версий ядра. Они выходят для исправления ошибок и безопасности и почти никогда ничего не ломают.
  2. Проверяйте обновления плагинов хотя бы раз в неделю. Для проверенных плагинов можно включить автообновление прямо в списке плагинов.
  3. Перед крупными обновлениями делайте резервную копию. Особенно если обновляется тема или сложный плагин вроде конструктора страниц или магазина.
  4. Удаляйте, а не просто отключайте. Деактивированный плагин по-прежнему лежит на сервере, и его уязвимые файлы могут быть доступны извне. То же касается неиспользуемых тем — оставьте одну активную и одну стандартную на случай отката.
  5. Следите за заброшенными расширениями. Если плагин не обновлялся несколько лет, ищите замену.

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

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

Пароли, логины и защита входа в админку

Страница входа wp-login.php есть на каждом сайте на WordPress, и боты это прекрасно знают. На неё постоянно идут попытки подбора пароля. Вот что стоит сделать:

  • Не используйте логин admin. Если он у вас есть, создайте нового администратора с другим именем, войдите под ним и удалите старую учётную запись, передав записи новому пользователю.
  • Сложный уникальный пароль. Не менее 14–16 символов, буквы разного регистра, цифры, спецсимволы. И главное — уникальный: не тот же, что от почты или соцсетей. Храните пароли в менеджере паролей, а не в текстовом файле на рабочем столе.
  • Двухфакторная аутентификация. Даже если пароль утёк, без кода из приложения на телефоне войти не получится. Включается бесплатными плагинами за несколько минут.
  • Ограничение попыток входа. После нескольких неудачных попыток IP-адрес временно блокируется. Это резко снижает эффективность перебора.
  • Скрывайте имена пользователей. WordPress может показывать логины авторов в адресах архивов. Используйте для публичного отображения никнейм, отличный от логина.
  • Раздавайте минимальные права. Копирайтеру достаточно роли «Автор» или «Редактор», а не администратора. Когда сотрудничество закончилось, удаляйте учётную запись.

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

Резервные копии: ваша страховка

Никакая защита не даёт стопроцентной гарантии. Поэтому главный вопрос звучит не «как сделать, чтобы никогда не взломали», а «как быстро восстановиться, если что-то случится». Ответ — регулярные резервные копии.

Правильная система бэкапов отвечает трём требованиям:

  1. Копируется всё. И файлы сайта, и база данных. Без базы у вас не будет ни статей, ни настроек.
  2. Копии хранятся отдельно. Бэкап на том же сервере, что и сайт, может быть уничтожен или заражён вместе с ним. Храните копии в облачном хранилище или хотя бы скачивайте на свой компьютер.
  3. Регулярность соответствует частоте изменений. Для блога, который обновляется пару раз в неделю, достаточно еженедельных копий. Для магазина с ежедневными заказами — ежедневных.

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

Настройки сервера и файлов

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

МераЧто даётСложность
SSL-сертификат и переход на HTTPSШифрование данных, в том числе паролей при входеНизкая, бесплатный сертификат выпускается в панели хостинга
Запрет редактирования файлов из админкиВзломщик, попавший в админку, не сможет сразу изменить код темыНизкая, одна строка в wp-config.php
Правильные права доступаФайлы нельзя изменить посторонним процессамСредняя, обычно 644 для файлов и 755 для папок
Защита wp-config.phpФайл с доступами к базе недоступен извнеСредняя, настройка на сервере
Отключение XML-RPC, если не используетсяЗакрывает один из каналов для перебора паролейНизкая, плагином или настройкой
Смена префикса таблиц базы данныхНемного усложняет автоматические атакиПроще всего сделать при установке

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

Плагины безопасности и мониторинг

Специализированные плагины безопасности объединяют многие функции в одном месте: файрвол, сканирование файлов на вредоносный код, ограничение попыток входа, уведомления о подозрительной активности. Популярные решения — Wordfence, Solid Security, All-In-One Security. Достаточно одного такого плагина: несколько одновременно будут конфликтовать и замедлять сайт.

Помимо плагина, полезно настроить внешний мониторинг:

  • Проверка доступности сайта. Бесплатные сервисы присылают уведомление, если сайт перестал открываться.
  • Яндекс Вебмастер и Google Search Console. Они сообщают, если на сайте обнаружен вредоносный код или признаки взлома.
  • Уведомления о входе в админку. Если вы получили письмо о входе, которого не совершали, — это повод срочно действовать.

Что делать, если сайт всё-таки взломали

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

  1. Не паникуйте и не удаляйте всё подряд — вы можете уничтожить следы, по которым можно найти уязвимость.
  2. Смените все пароли: от админки, хостинга, FTP, базы данных, почты.
  3. Обратитесь в поддержку хостинга — они могут подсказать, какие файлы изменены.
  4. Восстановите сайт из чистой резервной копии, сделанной до заражения, если она есть.
  5. Обновите всё до актуальных версий и удалите лишние плагины и темы.
  6. Просканируйте сайт плагином безопасности, проверьте появление новых администраторов.
  7. Если вредоносный код обнаружили поисковики, после очистки отправьте сайт на перепроверку через панели вебмастеров.

Если справиться самостоятельно не получается, лучше привлечь специалиста по лечению сайтов, чем неделями терять трафик.

Итог: безопасность как привычка

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

Понравилась статья? Сохраните её в закладки.

Остались вопросы по теме?

Напишите на [email protected] — отвечу лично, а интересные вопросы разберу в следующих статьях.

Читайте также