Как защитить сайт на WordPress от взлома: топ-10 мер безопасности

Почему безопасность WordPress — это не опция, а необходимость

Согласно отчету Sucuri за 2023 год, более 90% всех зараженных сайтов работают на WordPress. Это не значит, что CMS плоха — просто она популярна. На WordPress приходится около 43% всех сайтов в интернете, что делает её главной мишенью для хакеров. Для бизнеса взлом сайта — это не только потеря данных, но и репутационные риски, штрафы за утечку персональных данных и падение позиций в поиске.

В этой статье я разберу 10 ключевых мер безопасности, которые снизят риск взлома на 95% и выше. Данные рекомендации основаны на исследованиях Wordfence, OWASP и нашем опыте в FlowContent по защите корпоративных сайтов.

Топ-10 мер безопасности для WordPress

1. Обновляйте WordPress, темы и плагины

По данным WPScan, 52% уязвимостей WordPress связаны с устаревшими версиями ядра, тем и плагинов. Хакеры активно сканируют сайты на наличие известных уязвимостей, таких как:

  • CVE-2023-32243 — уязвимость в плагине Essential Addons for Elementor (более 1 млн установок);
  • CVE-2022-3140 — уязвимость в WooCommerce (используется на 28% всех интернет-магазинов).

Что делать:

  • Включите автоматическое обновление ядра WordPress (в файле wp-config.php добавьте строку define(‘WP_AUTO_UPDATE_CORE’, true);).
  • Обновляйте плагины и темы вручную раз в неделю или настройте автоматическое обновление через плагин Easy Updates Manager.
  • Удаляйте неиспользуемые плагины и темы — они увеличивают поверхность атаки.

2. Используйте сложные пароли и двухфакторную аутентификацию (2FA)

Исследование Verizon Data Breach Investigations Report показало, что 81% взломов связаны со слабыми или украденными паролями. Стандартные пароли вроде admin123 или qwerty взламываются за секунды с помощью брутфорс-атак.

Что делать:

  • Генерируйте пароли длиной не менее 16 символов с использованием букв, цифр и спецсимволов. Инструменты: 1Password, Bitwarden.
  • Включите 2FA для всех учетных записей администраторов. Плагины: Wordfence Login Security, Google Authenticator.
  • Запретите использование стандартного логина admin — создайте учетную запись с уникальным именем.

3. Ограничьте попытки входа

Брутфорс-атаки — самый распространенный способ взлома WordPress. Хакеры используют ботов, которые перебирают пароли до тех пор, пока не подберут правильный. По данным Wordfence, средний сайт на WordPress подвергается 90 000 атакам в месяц.

Что делать:

  • Установите плагин Limit Login Attempts Reloaded и настройте блокировку IP после 3–5 неудачных попыток входа.
  • Измените URL страницы входа с /wp-admin на произвольный с помощью плагина WPS Hide Login.
  • Заблокируйте доступ к wp-login.php для всех IP, кроме вашего, через файл .htaccess.

4. Установите файрвол веб-приложений (WAF)

WAF фильтрует вредоносный трафик до того, как он достигнет вашего сайта. Согласно отчету Cloudflare, WAF блокирует до 99% атак на уровне сети. Для WordPress доступны как облачные, так и плагинные решения.

Что делать:

  • Облачные WAF: Cloudflare, Sucuri, Astra Security. Подходят для крупных проектов.
  • Плагинные WAF: Wordfence (бесплатная версия блокирует до 40 000 атак в месяц), All In One WP Security & Firewall.
  • Настройте WAF на блокировку SQL-инъекций, XSS-атак и брутфорса.

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

Файл wp-config.php содержит критически важные данные: пароли к базе данных, ключи безопасности и настройки WordPress. Если хакер получит к нему доступ, он сможет полностью захватить сайт.

Что делать:

  • Переместите wp-config.php на уровень выше корневой директории сайта (если сервер это позволяет).
  • Добавьте в файл .htaccess следующие строки для блокировки доступа:
<files wp-config.php>
order allow,deny
deny from all
</files>
  • Установите права доступа 400 или 440 для файла wp-config.php.

6. Отключите редактирование файлов в админке

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

Что делать:

  • Добавьте в wp-config.php следующую строку:
define('DISALLOW_FILE_EDIT', true);
  • Отключите выполнение PHP в директориях /wp-content/uploads/ и /wp-includes/ через .htaccess.

7. Регулярно делайте резервные копии

Даже при идеальной защите риск взлома остается. Резервные копии — ваша страховка. Согласно исследованию Backblaze, 60% компаний, потерявших данные, закрываются в течение полугода.

Что делать:

  • Используйте плагины для автоматического резервного копирования: UpdraftPlus (более 3 млн установок), BackupBuddy.
  • Храните копии на удаленных серверах (Google Drive, Dropbox, Amazon S3) или на выделенном сервере.
  • Настройте ежедневное резервное копирование базы данных и еженедельное — файлов сайта.
  • Проверяйте целостность резервных копий раз в месяц.

8. Скрывайте версию WordPress

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

Что делать:

  • Добавьте в файл functions.php вашей темы следующий код:
function remove_wordpress_version() {
    return '';
}
add_filter('the_generator', 'remove_wordpress_version');
  • Удалите файл readme.html из корневой директории сайта — он содержит информацию о версии.

9. Мониторьте активность на сайте

Раннее обнаружение взлома минимизирует ущерб. По данным IBM, среднее время обнаружения утечки данных составляет 207 дней. Для WordPress этот показатель можно сократить до нескольких часов.

Что делать:

  • Установите плагин Wordfence или Sucuri Security для мониторинга файлов и подозрительной активности.
  • Настройте уведомления о:
    • изменениях в файлах ядра WordPress;
    • неудачных попытках входа;
    • новых учетных записях администраторов.
  • Проверяйте логи сервера (access.log, error.log) раз в неделю.

10. Используйте SSL-сертификат

SSL-сертификат шифрует данные между сайтом и пользователем, защищая от перехвата паролей и платежной информации. Согласно Google, 85% пользователей покидают сайт, если видят предупреждение о небезопасном соединении. Кроме того, Google понижает в поисковой выдаче сайты без SSL.

Что делать:

  • Установите бесплатный SSL-сертификат от Let’s Encrypt через хостинг-провайдера.
  • Настройте редирект с HTTP на HTTPS в файле .htaccess:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
  • Обновите все ссылки на сайте с http:// на https://.

Сравнение мер безопасности: эффективность и сложность внедрения

Не все меры одинаково эффективны. В таблице ниже приведено сравнение по двум критериям: снижение риска взлома (в %) и сложность внедрения (от 1 до 5).

Мера безопасности Снижение риска взлома (%) Сложность внедрения (1–5)
Обновление WordPress, тем и плагинов 40% 2
Сложные пароли и 2FA 35% 3
Ограничение попыток входа 30% 2
Установка WAF 50% 4
Защита wp-config.php 20% 3
Отключение редактирования файлов в админке 15% 1
Регулярные резервные копии 100% (восстановление после взлома) 2
Скрытие версии WordPress 10% 1
Мониторинг активности 25% 3
Использование SSL-сертификата 20% 2

Выводы: с чего начать защиту сайта

Защита WordPress — это не разовая акция, а непрерывный процесс. Начните с самых простых и эффективных мер:

  1. Обновите WordPress, темы и плагины.
  2. Установите сложные пароли и включите 2FA.
  3. Ограничьте попытки входа и установите WAF.
  4. Настройте автоматическое резервное копирование.

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

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

Дмитрий Ковалёв, маркетинговый аналитик FlowContent

от автора

написал в