Безопасность в WordPress является очень важной темой при создании вашего интернет проекта. В этой статье мы рассмотрим основы безопасности при использовании WordPress, самые частые методы и причины взлома, меры и средства защиты вашего сайта от злоумышленников.
Начнём с самого явного и простого.
Слабый пароль
Самой распространённой причиной взлома, является использование слабого пароля. Это относится не только к сайтам на WordPress, но и к почтовым аккаунтам, Twitter и Facebook профилям и прочее. Речь идёт о паролях вида 123456, «qwerty» и т.д.
При создании или смены пароля в WordPress, есть индикатор надёжности, который поможет выбрать вам более надёжный пароль:
- Не используйте словарные слова
- Не используйте один и тот же пароль дважды
- Используйте буквы нижнего и верхнего регистра
- Используйте буквы в перемешку с цифрами
- Добавьте символы
Так же стоит серьёзно отнестись к привилегиям ваших пользователей. Если вам нужно добавить пользователя на ваш сайт, который будет писать новые статьи, то не рекомендуется давать этому пользователю права редактора, и уж тем более права администратора.
Иногда полезно и для самого себя иметь аккаунт редактора, отличный от администратора. Таким образом, если злоумышленник доберётся до вашего аккаунта, он сможет удалить все записи и страницы, но он не сможет редактировать код темы, устанавливать плагины и изменять настройки сайта.
Логин пользователя так же играет немаловажную роль, так что избегайте использование «admin» или «administrator» в качестве имени пользователя администратора, в этом случае злоумышленнику будет сложнее подобрать комбинацию.
Перебор или «брутфорс» пароля
Брутфорс (bruteforce) — это полный перебор всевозможных комбинаций. Подобрать можно пароль любой сложности — вопрос всего лишь во времени, и чем сложнее пароль, тем дольше займёт его полный переобор. Для защиты от перебора рекомендуется время от времени менять пароль.
Средства защиты админ-панели
Существует множество способов защитить панель администратора WordPress от злоумышленников. Самые эффективные и распространённые методы:
- Блокировка директории wp-admin по IP-адресу
- Серверная утилита fail2ban
- Плагин Limit Login Attempts — ограничивает количество неверных попыток при входе
- Плагин Google Authenticator — дополнительный фактор аутентификации с помощью мобильного приложения
- Плагин Captcha для входа в административную часть сайта
Уязвимый плагин 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, мы с радостью на них ответим, а если у вас есть дополнительные рекомендации по средствам защиты, не стесняйтесь оставить комментарий.