TrafficVeil
Вернуться к документации
Документация

Защита WordPress

Полное руководство по защите WordPress сайтов с помощью TrafficVeil.

Защита WordPress


Почему WordPress нуждается в защите?

WordPress — самая популярная CMS (43% всех сайтов). Это делает его главной целью для атак.


Типичные угрозы для WordPress:

  • Брутфорс атаки на wp-login.php
  • Атаки на xmlrpc.php
  • SQL-инъекции через уязвимые плагины
  • Сканирование файлов конфигурации
  • XSS через комментарии
  • DDoS на wp-admin

  • TrafficVeil защищает WordPress от:

  • 100% брутфорс атак
  • Эксплуатации известных уязвимостей
  • Вредоносных ботов и скрейперов
  • DDoS атак на админ-панель
  • SQL-инъекций и XSS

  • Совместимость:

  • WordPress 5.0+
  • WooCommerce
  • Multisite
  • Любые темы и плагины

  • Защита wp-login.php


    Проблема:

    wp-login.php — главная цель брутфорс атак. Боты пытаются подобрать пароль.


    Решение TrafficVeil:


    1. Rate Limiting для /wp-login.php:

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

  • 5 попыток в минуту с одного IP
  • Блокировка на 15 минут после 10 неудачных попыток
  • Уведомление в Telegram при атаке

  • Настройка:

    1. Безопасность → Rate Limiting

    2. Добавить правило для /wp-login.php

    3. Лимит: 5 req/min

    4. Действие: Block


    2. JavaScript Challenge:

    Перед показом формы входа — проверка браузера:

  • Боты не пройдут
  • Реальные пользователи не заметят

  • 3. CAPTCHA для подозрительных:

    Если Bot Score < 50, показываем CAPTCHA.


    4. Двухфакторная аутентификация:

    Рекомендуем дополнительно использовать 2FA плагин для WordPress.


    Защита xmlrpc.php


    Что такое xmlrpc.php?

    XML-RPC — протокол для удалённого управления WordPress. Используется:

  • Мобильными приложениями
  • Jetpack
  • Некоторыми плагинами

  • Угрозы xmlrpc.php:

  • Amplification DDoS атаки (pingback)
  • Брутфорс через system.multicall
  • До 500 попыток пароля за один запрос

  • Решения:


    Вариант 1: Полная блокировка (рекомендуется)

    Если не используете мобильное приложение WordPress:

    1. Безопасность → WAF → Правила

    2. Добавить правило: Block /xmlrpc.php


    Вариант 2: Частичная защита

    Если нужен xmlrpc.php:

    1. Блокировать pingback методы

    2. Rate Limit: 10 req/min

    3. Whitelist IP вашего приложения


    Вариант 3: Через TrafficVeil Page Rules

    ```

    URL: /xmlrpc.php

    Действие: Block

    Исключение: Ваши IP

    ```


    Проверка:

    После блокировки xmlrpc.php:

    ```bash

    curl -X POST https://yoursite.com/xmlrpc.php

    # Должен вернуть 403

    ```


    Защита wp-admin


    Защита админ-панели:


    1. Ограничение по IP:

    Разрешить доступ к /wp-admin/ только с ваших IP:

    1. Page Rules → Добавить

    2. URL: /wp-admin/*

    3. Действие: Require IP Whitelist

    4. Добавьте ваши IP


    2. Ограничение по стране:

    1. GeoIP → Настроить для /wp-admin/

    2. Whitelist: Россия (или ваша страна)


    3. JavaScript Challenge:

    Для всех запросов к /wp-admin/:

    1. Page Rules → /wp-admin/*

    2. Security Level: High

    3. Browser Check: On


    4. Rate Limiting:

    Ограничение запросов к админке:

  • 100 req/min на IP
  • Защита от перебора

  • 5. Исключения для AJAX:

    /wp-admin/admin-ajax.php используется фронтендом:

  • Не блокируйте полностью
  • Rate Limit: 200 req/min

  • Рекомендуемый .htaccess (дополнительно):

    ```apache

    <Files wp-login.php>

    Order Deny,Allow

    Deny from all

    Allow from YOUR_IP

    </Files>

    ```


    Защита файлов


    Файлы, которые нужно защитить:


    wp-config.php:

    Содержит пароли к базе данных. TrafficVeil автоматически блокирует доступ.


    Папка /wp-includes/:

    Системные файлы WordPress. Прямой доступ не нужен.


    Папка /wp-content/uploads/:

    Разрешить только изображения и документы. Блокировать .php файлы.


    Файлы readme.html, license.txt:

    Раскрывают версию WordPress. Рекомендуется блокировать.


    Файл debug.log:

    Содержит ошибки и пути. Обязательно блокировать!


    Настройка в TrafficVeil:


    WAF правила (автоматически):

  • Блокировка доступа к wp-config.php
  • Блокировка .php в uploads
  • Блокировка backup файлов (.sql, .zip, .tar.gz)

  • Page Rules (дополнительно):

    ```

    URL: /wp-content/debug.log

    Действие: Block


    URL: /readme.html

    Действие: Block


    URL: /.git/*

    Действие: Block

    ```


    Проверка безопасности:

    TrafficVeil автоматически сканирует и блокирует попытки доступа к чувствительным файлам.


    Защита WooCommerce


    Особенности защиты интернет-магазина:


    Страница оплаты (/checkout/):

  • НЕ кэшировать
  • Rate Limit: 30 req/min
  • Высокий уровень защиты от ботов

  • API WooCommerce (/wp-json/wc/):

  • Rate Limit для предотвращения парсинга цен
  • Whitelist для интеграций

  • Корзина (/cart/):

  • Защита от спама добавлений
  • Rate Limit: 50 req/min

  • Страницы товаров:

  • Защита от скрейпинга каталога
  • Блокировка парсеров цен

  • Настройка:

    1. Page Rules для /checkout/*:

    - Cache: Bypass

    - Security: High

    - Bot Protection: Aggressive


    2. Rate Limit для /wp-json/wc/*:

    - 60 req/min

    - Исключение для ваших интеграций


    Исключения для платёжных систем:

    Добавьте в Whitelist IP:

  • Stripe webhooks
  • PayPal IPN
  • Другие платёжные системы

  • Оптимизация WordPress


    Кэширование для WordPress:


    Статические файлы:

  • /wp-content/themes/*: 1 месяц
  • /wp-content/uploads/*: 1 год
  • /wp-includes/*: 1 месяц

  • Динамические страницы:

  • Главная: 1 час (или Edge Cache)
  • Посты: 1 день
  • Страницы: 1 неделя

  • Исключения из кэша:

  • /wp-admin/*
  • /wp-login.php
  • /cart/*
  • /checkout/*
  • /my-account/*

  • Совместимость с плагинами кэширования:

    TrafficVeil совместим с:

  • WP Super Cache
  • W3 Total Cache
  • WP Rocket
  • LiteSpeed Cache

  • Рекомендация:

    Используйте плагин кэширования для HTML и TrafficVeil для статики и защиты.


    Очистка кэша:

    При обновлении контента очищайте кэш:

    1. В плагине кэширования WordPress

    2. В TrafficVeil (если кэшируете HTML)


    Чек-лист безопасности


    Чек-лист защиты WordPress:


    В TrafficVeil:

  • [ ] Включить WAF (режим Block)
  • [ ] Настроить Rate Limit для wp-login.php
  • [ ] Заблокировать xmlrpc.php (если не используете)
  • [ ] Настроить GeoIP для wp-admin
  • [ ] Включить Bot Detection (Medium+)
  • [ ] Настроить Telegram уведомления

  • В WordPress:

  • [ ] Обновить WordPress до последней версии
  • [ ] Обновить все плагины
  • [ ] Удалить неиспользуемые плагины и темы
  • [ ] Установить плагин 2FA
  • [ ] Сменить стандартный логин admin
  • [ ] Использовать сложные пароли
  • [ ] Настроить регулярные бекапы

  • На сервере:

  • [ ] Защитить wp-config.php (chmod 400)
  • [ ] Отключить редактирование файлов в админке
  • [ ] Настроить SSL (HTTPS)
  • [ ] Обновить PHP до актуальной версии

  • Дополнительно:

  • [ ] Установить Wordfence или Sucuri (опционально)
  • [ ] Настроить мониторинг uptime
  • [ ] Настроить уведомления об изменениях файлов