Почему безопасность WordPress — это не опция, а необходимость
Согласно отчету Sucuri за 2023 год, более 90% всех зараженных сайтов работают на WordPress. Это не значит, что платформа ненадежна — просто она самая популярная в мире (более 43% всех сайтов используют WordPress). Хакеры атакуют массово, и если ваш сайт не защищен, он становится легкой мишенью.
Чем грозит взлом?
- Потеря данных: удаление или кража клиентской информации, заказов, базы email-рассылок.
- Падение репутации: Google помечает зараженные сайты как «опасные», что снижает трафик на 95% (данные Moz).
- Финансовые потери: средняя стоимость восстановления сайта после взлома — $2 500–$10 000 (исследование Ponemon Institute).
- Штрафы: нарушение GDPR или закона о защите персональных данных может обойтись в до 4% годового оборота компании.
Хорошая новость: 80% взломов можно предотвратить базовыми мерами безопасности. В этой статье — пошаговая инструкция, которая поможет защитить ваш сайт без глубоких технических знаний.
Шаг 1: Обновите всё, что можно (и нельзя)
Уязвимости в устаревшем ПО — главная причина взломов WordPress. По данным Wordfence, более 50% успешных атак происходят из-за неактуальных версий ядра, плагинов или тем.
Что обновлять:
- Ядро WordPress: последняя версия закрывает критические уязвимости. Например, в версии 6.4.3 исправлена уязвимость, позволяющая удаленно выполнять код.
- Плагины и темы: даже неактивные плагины могут быть точкой входа для хакеров. Проверяйте обновления не реже 1 раза в неделю.
- PHP: устаревшие версии (ниже 8.0) не поддерживаются и содержат уязвимости. Проверьте версию в панели хостинга или через файл
phpinfo.php.
Как обновлять безопасно:
- Сделайте резервную копию сайта (используйте плагин UpdraftPlus или инструменты хостинга).
- Обновите сначала плагины и темы, затем ядро WordPress.
- Проверьте сайт на ошибки после обновления. Если что-то сломалось, восстановитесь из бэкапа.
Шаг 2: Укрепите пароли и доступы
61% взломов происходят из-за слабых паролей (отчет Verizon DBIR). Хакеры используют брутфорс-атаки, перебирая миллионы комбинаций в секунду.
Правила надежных паролей:
- Длина: минимум 12 символов (лучше 16+).
- Сложность: используйте строчные и прописные буквы, цифры, спецсимволы (например,
G7#kL9!pQ2@mZ4$). - Уникальность: не используйте один пароль для разных сервисов. Если взломают почту, взломают и сайт.
- Менеджеры паролей: Bitwarden или 1Password генерируют и хранят пароли безопасно.
Ключевые аккаунты для защиты:
| Аккаунт | Рекомендации |
|---|---|
| Администратор WordPress | Смените имя пользователя с admin на уникальное. Удалите неиспользуемые аккаунты. |
| Хостинг | Используйте двухфакторную аутентификацию (2FA). Ограничьте доступ по IP, если возможно. |
| FTP/SFTP | Замените пароль на сложный. По возможности используйте ключи SSH вместо паролей. |
| База данных MySQL | Смените префикс таблиц с wp_ на случайный (например, x7f_). Ограничьте доступ к базе данных только с IP вашего сервера. |
Шаг 3: Установите плагины безопасности (но не переусердствуйте)
Плагины безопасности — это «сигнализация» для вашего сайта. Они блокируют атаки, сканируют уязвимости и уведомляют о подозрительной активности. Но слишком много плагинов замедляют сайт и могут конфликтовать друг с другом.
Лучшие плагины безопасности (по данным WPBeginner):
| Плагин | Функции | Рейтинг |
|---|---|---|
| Wordfence | Брандмауэр, сканер вредоносного ПО, защита от брутфорса, мониторинг файлов. | 4.8/5 (5+ млн установок) |
| Sucuri Security | Аудит безопасности, удаление вредоносного кода, защита от DDoS, CDN. | 4.7/5 (800K+ установок) |
| iThemes Security | Защита от брутфорса, двухфакторная аутентификация, скрытие панели входа. | 4.6/5 (1 млн+ установок) |
| MalCare | Автоматическое удаление вредоносного кода, брандмауэр, резервное копирование. | 4.9/5 (100K+ установок) |
Настройки, которые нужно включить:
- Брандмауэр (WAF): блокирует вредоносные запросы до того, как они достигнут сайта. Включите в Wordfence или Sucuri.
- Защита от брутфорса: ограничьте количество попыток входа (например, 5 попыток за 15 минут).
- Двухфакторная аутентификация (2FA): добавьте второй шаг для входа (SMS, приложение Google Authenticator или ключ безопасности).
- Сканер вредоносного ПО: запускайте проверку не реже 1 раза в неделю. Настройте автоматическое сканирование.
- Мониторинг файлов: получайте уведомления об изменениях в файлах ядра WordPress.
Шаг 4: Настройте резервное копирование (бэкапы)
Даже если сайт взломают, резервные копии позволят восстановить его за 10–30 минут. Без бэкапов восстановление может занять несколько дней и стоить тысячи долларов.
Как настроить бэкапы правильно:
- Выберите плагин для бэкапов:
- UpdraftPlus (бесплатный, 3+ млн установок) — простой и надежный.
- BlogVault (платный, от $8/мес) — автоматические бэкапы с хранением на облаке.
- Duplicator (бесплатный) — подходит для миграции и бэкапов.
- Настройте частоту бэкапов:
- Для активных сайтов: ежедневные бэкапы.
- Для статичных сайтов: еженедельные бэкапы.
- Храните бэкапы в нескольких местах:
- На сервере (но не в корневой папке сайта!).
- На облачных хранилищах (Google Drive, Dropbox, Amazon S3).
- На локальном компьютере (дополнительная страховка).
- Проверяйте бэкапы: раз в месяц восстанавливайте сайт из бэкапа на тестовом домене, чтобы убедиться, что всё работает.
Шаг 5: Ограничьте доступ и скрывайте уязвимости
Хакеры часто атакуют сайты «вслепую», сканируя их на известные уязвимости. Вы можете усложнить им задачу, скрывая ключевую информацию.
Что сделать:
- Смените URL входа в админку:
По умолчанию WordPress использует
/wp-adminи/wp-login.php. Смените их с помощью плагина WPS Hide Login (например, на/secure-entry). - Ограничьте доступ к панели администратора:
- Используйте плагин Limit Login Attempts Reloaded, чтобы блокировать IP после нескольких неудачных попыток.
- Настройте доступ по IP: разрешите вход в админку только с вашего офисного или домашнего IP (через файл
.htaccess).
- Скройте версию WordPress:
Хакеры знают уязвимости конкретных версий. Добавьте в файл
functions.phpвашей темы следующий код:remove_action('wp_head', 'wp_generator'); add_filter('the_generator', '__return_empty_string'); - Отключите редактирование файлов в админке:
Добавьте в
wp-config.phpстроку:define('DISALLOW_FILE_EDIT', true); - Запретите выполнение PHP в папках загрузок:
Хакеры часто загружают вредоносные скрипты в
/wp-content/uploads/. Добавьте в.htaccess:<Files *.php> Deny from all </Files>
Шаг 6: Выберите надежный хостинг
Качественный хостинг — это 50% успеха в безопасности. Дешевые хостинги экономят на защите, размещая на одном сервере сотни сайтов. Если взломают один сайт, под угрозой окажутся все.
На что обратить внимание при выборе хостинга:
| Критерий | Что должно быть | Чего избегать |
|---|---|---|
| Безопасность сервера | Брандмауэр, защита от DDoS, изоляция аккаунтов, регулярные обновления ПО. | Общие серверы без изоляции, устаревшее ПО. |
| Резервное копирование | Автоматические ежедневные бэкапы с возможностью восстановления в 1 клик. | Бэкапы раз в неделю или отсутствие бэкапов. |
| Поддержка | Круглосуточная поддержка с опытом работы с WordPress. | Медленная поддержка или отсутствие специалистов по WordPress. |
| SSL-сертификат | Бесплатный SSL (Let’s Encrypt) или возможность установки платного. | Отсутствие SSL или платные сертификаты. |
| Производительность | SSD-диски, кэширование, поддержка PHP 8.0+. | Медленные HDD-диски, устаревшие версии PHP. |
Рекомендуемые хостинги для WordPress:
- Kinsta (от $30/мес) — управляемый хостинг с высоким уровнем безопасности.
- SiteGround (от $3.99/мес) — хороший баланс цены и качества.
- WP Engine (от $25/мес) — оптимизирован для WordPress, высокая безопасность.
- Cloudways (от $10/мес) — гибкие тарифы на облачных серверах.
Шаг 7: Мониторинг и реагирование на угрозы
Даже с лучшей защитой сайт может быть атакован. Важно вовремя обнаружить угрозу и отреагировать.
Инструменты для мониторинга:
- Google Search Console: уведомляет о взломе, если Google обнаружит вредоносный код.
- Wordfence: отправляет email-уведомления о подозрительной активности (например, попытки брутфорса).
- Sucuri SiteCheck: бесплатный онлайн-сканер, который проверяет сайт на вредоносный код.
- UptimeRobot: мониторит доступность сайта и уведомляет, если сайт упал.
Что делать, если сайт взломали:
- Переведите сайт в режим обслуживания: используйте плагин Maintenance или добавьте в
.htaccess:RewriteEngine On RewriteCond %{REMOTE_ADDR} !^123.456.789.000 RewriteRule ^(.*)$ - [R=503,L](Замените
123.456.789.000на ваш IP.) - Восстановите сайт из бэкапа: если у вас есть чистая резервная копия, восстановите её.
- Просканируйте сайт: используйте Wordfence или Sucuri для поиска вредоносного кода.
- Смените все пароли: администратора, базы данных, FTP, хостинга.
- Обновите всё ПО: WordPress, плагины, темы, PHP.
- Проверьте файлы ядра: сравните файлы WordPress с оригинальными на wordpress.org.
- Обратитесь к специалистам: если не уверены в своих силах, наймите компанию по очистке сайтов (например, Sucuri или MalCare).
Шаг 8: Дополнительные меры безопасности (для параноиков)
Если вы хотите максимальной защиты, выполните эти шаги:
- Используйте Web Application Firewall (WAF):
Облачные WAF, такие как Cloudflare или Sucuri Firewall, фильтруют трафик до того, как он достигнет вашего сервера.
- Отключите XML-RPC:
XML-RPC используется для атак брутфорсом. Отключите его с помощью плагина Disable XML-RPC или добавьте в
.htaccess:<Files xmlrpc.php> Order Deny,Allow Deny from all </Files>
- Ограничьте доступ к REST API:
Добавьте в
functions.php:add_filter('rest_authentication_errors', function($result) { if (!empty($result)) { return $result; } if (!is_user_logged_in()) { return new WP_Error('rest_not_logged_in', 'You are not logged in.', array('status' => 401)); } return $result; }); - Используйте HTTPS везде:
Установите SSL-сертификат (бесплатный от Let’s Encrypt) и настройте редирект с HTTP на HTTPS.
- Отключите выполнение PHP в папках wp-includes и wp-content:
Добавьте в
.htaccess:<Directory "/var/www/html/wp-includes/"> <FilesMatch ".php$"> Deny from all </FilesMatch> </Directory> <Directory "/var/www/html/wp-content/uploads/"> <FilesMatch ".php$"> Deny from all </FilesMatch> </Directory>
Заключение: безопасность WordPress — это процесс
Защита сайта на WordPress — это не разовая задача, а непрерывный процесс. Хакеры постоянно ищут новые уязвимости, и вам нужно держать руку на пульсе.
Чек-лист по безопасности WordPress:
- Обновляйте WordPress, плагины и темы не реже 1 раза в неделю.
- Используйте сложные пароли и двухфакторную аутентификацию.
- Установите плагин безопасности (Wordfence или Sucuri).
- Настройте ежедневные бэкапы с хранением в облаке.
- Смените URL входа в админку и ограничьте доступ по IP.
- Выберите надежный хостинг с защитой от DDoS.
- Мониторьте сайт на предмет взлома и реагируйте быстро.
Следуя этой инструкции, вы снизите риск взлома на 90%. Но помните: 100% безопасности не существует. Ваша задача — сделать сайт настолько защищенным, чтобы хакерам было проще атаковать кого-то другого.
Если у вас нет времени или знаний для самостоятельной настройки безопасности, обратитесь к специалистам. В FlowContent мы помогаем бизнесу защищать сайты и восстанавливать их после взломов. Свяжитесь с нами, чтобы получить консультацию.
Дмитрий Ковалёв, маркетинговый аналитик FlowContent
