Безопасность WordPress

WordPress занимает более 43% рынка CMS, что делает его главной мишенью для автоматизированных брутфорс-атак и инъекций. По статистике безопасности, до 90% уязвимостей приходят не из ядра системы, а через сторонние плагины и темы с низким качеством кода.

Критический вектор атак: плагины и темы

Основная дыра в безопасности — это использование «nulled» (взломанных) тем и плагинов. В 85% случаев в такие архивы вшит бэкдор, позволяющий злоумышленнику получить доступ к файловой системе через одну HTTP-команду. Даже легальные плагины из репозитория WP могут иметь критические уязвимости: в среднем за год обнаруживается более 100 серьезных багов в популярных расширениях.

Кейс: клиент пришел с сайтом, который рассылал 50 000 спам-писем в сутки. Причиной стал бесплатный плагин для SEO, который не обновлялся 2 года и имел уязвимость типа Remote Code Execution (RCE). Очистка и восстановление заняли 6 рабочих часов, стоимость работы — от 15 000 до 25 000 рублей.

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

Защита админки и борьба с брутфорсом

Стандартный путь /wp-admin/ — это открытая дверь для ботов. В среднем на популярный сайт прилетает от 100 до 1000 попыток подбора пароля в сутки. Смена URL входа на уникальный (например, /secret-entry/) снижает количество автоматических попыток авторизации на 99%.

Применение двухфакторной аутентификации (2FA) полностью закрывает вопрос кражи пароля. Однако внедрение 2FA через тяжелые плагины безопасности может замедлить ответ сервера на 100-200 мс. Оптимальный вариант — использование легких модулей или аутентификации на уровне сервера (через .htaccess), что практически не влияет на TTFB.

Вывод: Смена адреса входа и 2FA — обязательный минимум. Использовать логин 'admin' категорически запрещено; это первая цель любого скрипта.

Техническая гигиена на уровне сервера

Права доступа к файлам — база, которую часто игнорируют. Для папок стандарт — 755, для файлов — 644. Ошибка в установке прав (например, 777 на wp-config.php) позволяет любому пользователю сервера прочитать ваши ключи базы данных. Также критически важно отключить выполнение PHP в папке /wp-content/uploads/, чтобы злоумышленник не мог запустить загруженный шелл-скрипт.

Для глубокого мониторинга логов и блокировки IP по паттернам поведения рекомендую изучить инструменты здесь, где описаны лучшие практики настройки WAF (Web Application Firewall). Использование Cloudflare в режиме прокси отсекает до 70% вредоносного трафика еще до того, как он достигнет вашего сервера.

Вывод: Безопасность на уровне приложения бесполезна, если сервер настроен дыряво. Конфигурация .htaccess и правильные права доступа — это бесплатный и самый эффективный слой защиты.

Стратегия бэкапов: правило 3-2-1

Бэкап раз в неделю — это путь к потере данных. В случае атаки или критического сбоя при обновлении, актуальность данных должна быть не более 24 часов. Я рекомендую схему 3-2-1: три копии данных, на двух разных носителях, одна из которых находится удаленно (в другом дата-центре или облаке).

Сравнение: локальный бэкап на тот же сервер при взломе удаляется первым. Удаленный бэкап (например, в S3-хранилище) гарантирует восстановление за 30-60 минут. Стоимость облачного хранения для сайта среднего размера (до 5 Гб) составляет около 1-3$ в месяц, что ничтожно мало по сравнению с убытками от простоя бизнеса.

Вывод: Бэкап — это не страховка, а единственный способ гарантированного выживания. Если вы не проверяли восстановление из бэкапа за последние 3 месяца, значит, у вас нет бэкапа.

Вывод

Безопасность WordPress — это не один «чудо-плагин», а комплекс мер. Мой вердикт: начните с базовой гигиены (смена /wp-admin/, права 755/644 и удаление всех неиспользуемых плагинов). Затем внедрите 2FA и настройте автоматический удаленный бэкап ежедневно. Избегайте любых «бесплатных» премиум-тем — стоимость их очистки в 10 раз превышает цену лицензии. Лучший стек защиты: Cloudflare (WAF) + минимальный набор проверенных плагинов + жесткая настройка сервера.