ГлавнаяРазноеОсновы безопасности WordPress

Основы безопасности WordPress

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

Начнём с самого явного и простого.

Слабый пароль

Самой распространённой причиной взлома, является использование слабого пароля. Это относится не только к сайтам на WordPress, но и к почтовым аккаунтам, Twitter и Facebook профилям и прочее. Речь идёт о паролях вида 123456, «qwerty» и т.д.

Индикатор надёжности пароля в WordPress

Индикатор надёжности пароля в WordPress

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

  • Не используйте словарные слова
  • Не используйте один и тот же пароль дважды
  • Используйте буквы нижнего и верхнего регистра
  • Используйте буквы в перемешку с цифрами
  • Добавьте символы

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

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

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

Перебор или «брутфорс» пароля

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

Средства защиты админ-панели

Существует множество способов защитить панель администратора WordPress от злоумышленников. Самые эффективные и распространённые методы:

  • Блокировка директории wp-admin по IP-адресу
  • Серверная утилита fail2ban
  • Плагин Limit Login Attempts — ограничивает количество неверных попыток при входе
  • Плагин Google Authenticator — дополнительный фактор аутентификации с помощью мобильного приложения
  • Плагин Captcha для входа в административную часть сайта
Плагин Google Authenticator для WordPress

Плагин Google Authenticator для WordPress

Уязвимый плагин WordPress

На сегодняшний день, в директории WordPress.org насчитывается почти 25,000 различных плагинов. Среди них есть и уязвимые плагины, которые могут обеспечить злоумышленнику полный доступ к вашему сайту. Заранее знать безопасен ли тот или иной плагин невозможно, а проверка на уязвимость может занять от нескольких часов, до нескольких недель.

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

Если вы обнаружили уязвимость в том или ином плагине, то первым делом стоит обратиться лично к разработчику, по электронной почте, через Skype и т.д. Если разработчик плагина не откликнулся, то стоит сообщить об этом по адресу plugins@wordpress.org, чтобы плагин исключили из директории WordPress.org.

Уязвимая тема для WordPress

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

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

Устаревшая версия плагина или темы

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

Это относится больше к крупным и популярным продуктам, как недавний пример с известным плагином кэширования W3 Total Cache, который при определённой конфигурации обеспечивал злоумышленнику полный доступ к базе данных сайта (подробнее на англ.). Спустя несколько дней, было выпущено обновление к плагину.

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

Устаревшая версия WordPress

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

Если вы обнаружили уязвимость в WordPress, то обязательно напишите на security@wordpress.org подробное описание проблемы, но не распространяйте информацию публично.

Неправильная конфигурация хостинга

Хосинг-провайдер играет огромную роль в защите вашего сайта, особенно когда речь идёт о компонентах, над которыми вы не имеете никакого контроля, например устаревшая и уязвимая версия PHP, или уязвимый модуль для веб-сервера Apache. Чаще всего это случается с дешёвыми хостинг-провайдерами, у которых «всё включено и безлимитно» за 5 копеек в год. Помните: хороший и надёжный хостинг стоит денег!

Что делать если сайт взломали

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

  • Изменить все пароли доступа к хостинг-площадке, включая пароль к базе данных
  • Установить WordPress с нуля, скачав самую свежую версию
  • Изменить все секретные ключи в wp-config.php
  • Экспортировать всю старую базу данных и тщательно её почистить
  • Изменить в экспорте все пароли для всех пользователей
  • Импортировать содержимое в новый установленный WordPress
  • Просмотреть директорию загрузок на лишние файлы
  • Импортировать директорию загрузок
  • Тщательно просмотреть каждый плагин и установить самые свежие версии из директории WordPress.org
  • Тщательно просмотреть используемую тему и установить самую свежую версию

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

Дополнительные советы и инструменты

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

  • Не забывайте о полном резервном копировании
  • По возможности включите SSL/HTTPS для административной панели
  • Используйте защищённые SFTP или SSH вместо FTP для работы с хостингом
  • Удаляйте темы и плагины, которыми не пользуетесь
  • Используйте префикс отличный от стандартного для базы данных
  • Запретите редактирование файлов через wp-config.php
  • Запретите исполнение .php файлов в директории wp-content

Сторонние платные сервисы подобные Sucuri и VaultPress так же помогут защитить сайт на WordPress от злоумышленников.


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

Подписаться на рассылку

Подписаться → Подпишитесь на бесплатную рассылку журнала WP Magazine и получайте новости, события, подборки тем и плагинов, уроки, советы и многое другое в мире WordPress!

  • Спасибо за интересную статью! Особенно за информацию о Google Authenticator, обязательно попробую!

    • Рад, что вам понравилась. Спасибо за комментарий :)

  • здравствуйте, Константин! только на днях заметил, что на одном моём блоге версия вордпресс очень старая, обновлений не видит! обратился на хостинг — они сказали, что помочь не могут. я как-то восстанавливал это дело с помощью плагина своей знакомой, но сейчас не могу вспомнить его название и найти его! может знаете?

    • Никифор, в совсем старых версиях WordPress нет возможности обновиться автоматически, поэтому вам придётся сделать это «вручную», т.е. удалить старые файлы движка и загрузить новые по FTP. Ещё проще сделать резервную копию базы данных и файлов (директории wp-content), и установить новую версию WordPress, и затем импортировать в неё все старые данные.

  • Betaboy

    Рекомендую для безопасности WP этот плагин — Wordfence Security, в нем есть почти все что нужно. Удобный, нужные настройки.

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

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

    На своих блогах установил плагин Firewall, вход в админку и коментарии с каптчёй, бан по IP для особенно навязчивых. И автоматический бэкап.
    Теперь стало спокойнее.

  • Игорь

    Я не понял, как это — запретить исполнение php-файлов в wp-content? А как же файлы темы? Плагины?

    • Файлы темы и файлы плагинов не исполняются напрямую, они загружаются из wp-settings.php в корне.