AVOdigital
ГлавнаяМатериал AVOdigital

Разработка сайта для IT и интеграции: защита WordPress от взлома — чек-лист безопасности

Разработка сайта для IT и интеграции с надёжной защитой от взлома. Чек-лист безопасности WordPress от AVOdigital. Закажите сайт — получите бесплатный аудит уязвимостей.

Разработка сайтов

Нужен сайт для вашего бизнеса?

Пришлём состав сайта и смету под вашу задачу: лендинг — от 58 000 ₽, сайт компании — от 92 000 ₽. Можно просто задать вопрос в Telegram или MAX, без звонка.

Коротко:

Разработка сайта для IT и интеграции требует особого внимания к безопасности. В этом чек-листе AVOdigital собрала 10 критических шагов для защиты WordPress от взлома.

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

Архитектура безопасности WordPress: от ядра до периметра

Разработка сайта для IT и интеграции на WordPress — это не только функциональность, но и безопасность. В этой статье AVOdigital представляет чек-лист защиты от взлома, который поможет предотвратить атаки и утечки данных. Мы разберем основные уязвимости и способы их устранения, чтобы ваш сайт оставался надёжным даже при активных интеграциях.

1. Защита wp-admin: многофакторность и изоляция

Стандартный путь /wp-admin — первая цель брутфорса. Решение: изоляция через .htaccess (Apache) или Nginx config.

  • IP-белый список: разрешаем доступ к wp-admin только с корпоративных IP или через VPN. Пример для Nginx:
    location /wp-admin { allow 192.168.1.0/24; allow 10.0.0.1; deny all;
    }
  • Двухфакторная аутентификация (2FA): используем TOTP (Time-based One-Time Password) через OAuth-прокси или плагин с открытым кодом. Никогда не используйте SMS — он уязвим к SIM-swap.
  • Смена URL wp-admin: через wp-config.php или Nginx rewrite. Не используйте плагины для этого — они создают дополнительную поверхность атаки. Лучше кастомный редирект:
    define('WP_ADMIN_DIR', 'secret-admin');
    if ( !defined('ABSPATH') ) define('ABSPATH', dirname(__FILE__) . '/');
    require_once(ABSPATH . 'wp-settings.php');

2. Права на файлы: минимальные привилегии

Стандартная ошибка — chmod 777 на всю папку wp-content. Это прямой путь к RCE. Правильная модель:

Директория/ФайлПрава (Linux)ВладелецКомментарий
/wp-includes755root:www-dataТолько чтение, без записи
/wp-admin750root:www-dataДоступ только через веб-сервер
/wp-content/uploads755www-data:www-dataТолько для загрузки медиа
/wp-content/plugins755root:www-dataЗапись только при обновлении через SSH
/wp-content/themes755root:www-dataАналогично плагинам
wp-config.php600root:www-dataКритический файл — только чтение для веб-сервера
.htaccess644root:www-dataТолько чтение, запись через CI/CD

Настройка через SSH: find /var/www -type f -exec chmod 644 {} \; и find /var/www -type d -exec chmod 755 {} \;, затем исключения для wp-config.php и uploads.

3. Скрытие версии WordPress и REST API

Версия WP в исходном коде — карта для атакующего. Отключаем вывод:

  • В functions.php темы: remove_action('wp_head', 'wp_generator');
  • Для REST API: отключаем ненужные эндпоинты через фильтр:
    add_filter('rest_endpoints', function($endpoints) { if (isset($endpoints['/wp/v2/users'])) { unset($endpoints['/wp/v2/users']); } return $endpoints;
    });
  • На уровне Nginx: блокируем доступ к /wp-json/wp/v2/users:
    location ~ ^/wp-json/wp/v2/users { deny all; return 403;
    }

Важно: если используете JWT-аутентификацию (например, для headless WordPress), не блокируйте /wp-json/jwt-auth/v1/token.

4. Брутфорс-атаки: rate limiting и капча

Брутфорс — это перебор паролей к wp-admin. Защита на уровне сервера эффективнее плагинов.

  • Nginx rate limiting: ограничиваем количество запросов к /wp-login.php:
    limit_req_zone $binary_remote_addr zone=login:10m rate=1r/s;
    location /wp-login.php { limit_req zone=login burst=5 nodelay; try_files $uri =404; fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
    }
  • Fail2ban: мониторим логи Nginx и баним IP после 3 неудачных попыток. Джейл для WordPress:
    [wordpress]
    enabled = true
    filter = wordpress
    logpath = /var/log/nginx/access.log
    maxretry = 3
    bantime = 3600
  • Cloudflare WAF: включаем «Under Attack Mode» и JS-челлендж для /wp-admin.

5. wp-config.php: ключевые константы

Файл wp-config.php — сердце безопасности. Обязательные настройки:

  • define('DISALLOW_FILE_EDIT', true); — отключает редактор кода в админке.
  • define('WP_AUTO_UPDATE_CORE', 'minor'); — только минорные обновления ядра.
  • define('FORCE_SSL_ADMIN', true); — принудительный HTTPS для админки.
  • define('WP_POST_REVISIONS', 5); — ограничение ревизий для снижения нагрузки на БД.
  • Соль и ключи аутентификации: генерируйте через генератор и меняйте каждые 6 месяцев.

6. Опыт AVOdigital: реальные кейсы

В нашей практике (AVOdigital) мы сталкивались с атаками на REST API через уязвимость в плагине WooCommerce. Решение: отключение ненужных эндпоинтов через кастомный middleware на Nginx и внедрение OAuth 2.0 для внешних интеграций. Второй кейс — брутфорс через XML-RPC (протокол CommerceML для 1С). Мы полностью отключили XML-RPC через .htaccess:

 Order Deny,Allow Deny from all

И заменили его на кастомный REST API с JWT-токенами. Это снизило нагрузку на сервер.

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

  1. Проверьте права на файлы: установите 644 для файлов, 755 для директорий, 600 для wp-config.php.
  2. Настройте wp-config.php: включите DISALLOW_FILE_EDIT, FORCE_SSL_ADMIN, обновите соли.
  3. Скройте версию WP: удалите wp_generator из header и заблокируйте /wp-json/wp/v2/users.
  4. Защитите wp-admin: настройте IP-белый список через Nginx или .htaccess, включите 2FA.
  5. Ограничьте брутфорс: настройте rate limiting (1 запрос в секунду) и Fail2ban.
  6. Отключите XML-RPC: если не используете CommerceML или Jetpack.
  7. Обновите всё: ядро, плагины, темы — только через SSH или CI/CD.
  8. Мониторинг: включите логирование неудачных попыток входа и настройте алерты в Telegram/Slack.

Частые вопросы

1. Какой плагин безопасности WordPress самый лучший?

Никакой. Плагины создают дополнительную поверхность атаки. Лучше использовать серверные методы: Nginx rate limiting, Fail2ban, правильные права на файлы. Если нужен UI — используйте Wordfence, но только для мониторинга, не для блокировки.

2. Как защитить WordPress от брутфорс-атак без плагинов?

Через Nginx: настройте limit_req_zone для /wp-login.php и /xmlrpc.php. Добавьте Fail2ban с джейлом для WordPress. Используйте Cloudflare WAF с JS-челленджем.

3. Нужно ли скрывать версию WordPress?

Да. Это снижает риск автоматизированных атак, нацеленных на конкретные уязвимости. Удалите wp_generator из header и заблокируйте REST API эндпоинты, которые возвращают версию.

4. Какие права на файлы должны быть у wp-config.php?

600 (rw-------). Владелец — root, группа — www-data. Это гарантирует, что веб-сервер может только читать файл, но не изменять его. Никогда не ставьте 777.

Часто задаваемые вопросы

Какие плагины безопасности обязательны для сайта IT-компании?

Для сайта IT-интеграции рекомендуем Wordfence, Sucuri Security и iThemes Security. Они блокируют атаки, сканируют вредоносный код и усиливают аутентификацию.

Как часто нужно обновлять WordPress и плагины для безопасности?

Обновляйте ядро WordPress и все плагины сразу после выхода патчей. Задержка более 48 часов увеличивает риск эксплуатации известных уязвимостей.

Что такое двухфакторная аутентификация и зачем она нужна на сайте IT-интеграции?

Двухфакторная аутентификация (2FA) требует второй код при входе. Она защищает админку даже при утечке пароля, что критично для сайтов с интеграциями и данными клиентов.

Как защитить сайт от DDoS-атак при разработке для IT?

Используйте CDN (Cloudflare), настройте лимиты запросов через плагины и включите защиту на уровне сервера. Это снизит нагрузку и предотвратит отказ в обслуживании.

Следующий шаг

Обсудим сайт под ключ?

Расскажите о бизнесе и задаче сайта. Соберём состав работ, определим этапы и подготовим ориентир по стоимости.

Как применить это к своему проекту — 3 шага
  1. Опишите задачу бизнеса, которую хотите решить с помощью материала.
  2. Выберите одну страницу или сценарий для первой проверки.
  3. Запишите, что должен сделать посетитель и как вы измерите результат.
Разобрать мой случай →
Обсудить задачуСайт уже есть? Бесплатный экспресс-аудитРазработка сайта под ключГайд по сайту под ключ · PDF
+7 (902) 965-31-60Telegramavodigital@mail.ru

Можно просто задать вопрос — это ни к чему не обязывает

AVOdigital · проект

Обсудим вашу задачу

Оставьте контакт — обсудим задачу и подготовим предложение с составом работ, стоимостью и этапами. Подробности можно сообщить позже.

Нажимая кнопку, вы соглашаетесь с политикой обработки персональных данных.

Гайд AVOdigital

Материал для вашего проекта

Оставьте телефон или email — после отправки здесь появится ссылка на PDF.