Аудит безопасности сайта на WordPress

Наша компания занимается разработкой, поддержкой и обслуживанием сайтов любой сложности. От простых одностраничных сайтов до масштабных кластерных систем построенных на микро сервисах. Опыт разработчиков подтвержден сертификатами от вендоров.
Разработка и обслуживание любых видов сайтов:
Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Предлагаемые услуги
Показано 1 из 1 услугВсе 2065 услуг
Аудит безопасности сайта на WordPress
Средняя
~3-5 рабочих дней
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1214
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1161
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    852
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1041
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    823
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    815

Аудит безопасности сайта на WordPress

Аудит безопасности — это не установка Wordfence и нажатие "Scan". Это систематическая проверка всех векторов атаки: устаревшего ПО, неправильных прав доступа, уязвимостей в коде тем и плагинов, конфигурации сервера, утечённых учётных данных.

Разведка: что видит атакующий

# Проверка с точки зрения внешнего наблюдателя
curl -I https://yourdomain.com/wp-json/
curl -s https://yourdomain.com/wp-json/wp/v2/users | python3 -m json.tool
# REST API по умолчанию раскрывает список пользователей
# Сканирование WPScan (специализированный инструмент)
wpscan --url https://yourdomain.com \
    --enumerate u,p,t,cb \
    --api-token YOUR_WPSCAN_TOKEN
# u - users, p - plugins, t - themes, cb - config backups

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

Контрольный список аудита

Версии и обновления:

  • WordPress core — актуальная версия
  • Все плагины — актуальные версии
  • PHP — 8.1+, PHP 7.x — EOL с декабря 2022
  • MySQL/MariaDB — актуальная версия

Аутентификация:

  • Логин admin не используется
  • Пароли администраторов: проверить haveibeenpwned.com
  • 2FA включена для всех администраторов
  • Попытки подбора пароля блокируются (rate limiting)
  • XML-RPC отключён или защищён

Файловые права:

# Правильные права
find /var/www/yourdomain.com -type d -exec chmod 755 {} \;
find /var/www/yourdomain.com -type f -exec chmod 644 {} \;
chmod 600 /var/www/yourdomain.com/wp-config.php

# Проверить файлы с подозрительными правами
find /var/www/yourdomain.com -type f -perm /o+w
find /var/www/yourdomain.com -name "*.php" -newer /var/www/yourdomain.com/wp-config.php

Конфигурация WordPress:

// Что должно быть в wp-config.php
define('DISALLOW_FILE_EDIT', true);
define('DISALLOW_FILE_MODS', true);  // блокирует установку плагинов
define('WP_DEBUG', false);           // не в production
define('WP_DEBUG_DISPLAY', false);
define('FORCE_SSL_ADMIN', true);

Раскрытие информации:

  • readme.html, license.txt, wp-config-sample.php удалены
  • Версия WordPress скрыта из HTML и RSS
  • Заголовок X-Powered-By удалён
  • Листинг директорий отключён (Nginx: autoindex off)

REST API:

// Скрыть список пользователей из REST API
add_filter('rest_endpoints', function (array $endpoints): array {
    if (isset($endpoints['/wp/v2/users'])) {
        unset($endpoints['/wp/v2/users']);
        unset($endpoints['/wp/v2/users/(?P<id>[\d]+)']);
    }
    return $endpoints;
});

Анализ кода на уязвимости

# PHPCS с WordPress Coding Standards
composer require --dev squizlabs/php_codesniffer wp-coding-standards/wpcs
vendor/bin/phpcs --standard=WordPress-Security wp-content/themes/my-theme/

# Поиск потенциально опасных функций
grep -r "eval(" wp-content/themes/ wp-content/plugins/
grep -r "base64_decode(" wp-content/themes/ wp-content/plugins/
grep -r "system(" wp-content/themes/ wp-content/plugins/
grep -r "\$_GET\[" wp-content/themes/ wp-content/plugins/ | grep -v "sanitize\|esc_"

Проверка .htaccess / Nginx конфигурации

# Обязательные блоки в Nginx
location ~ /\.(ht|git|svn) { deny all; }
location = /wp-config.php { deny all; }
location ~* /(?:uploads|files)/.*\.php$ { deny all; }
location = /xmlrpc.php { deny all; }

# Заголовки безопасности
add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;

SSL и заголовки

# Проверка SSL конфигурации
testssl.sh --full https://yourdomain.com

# Проверка security headers
curl -I https://yourdomain.com | grep -i "x-content\|x-frame\|strict-transport\|content-security"

Что входит в отчёт

После аудита клиент получает:

  1. Список найденных уязвимостей с оценкой критичности (Critical/High/Medium/Low)
  2. Конкретные рекомендации по устранению каждой
  3. Приоритизированный план исправлений
  4. Чеклист превентивных мер

Сроки

Аудит безопасности WordPress-сайта с подготовкой отчёта — 1–2 дня. Устранение выявленных проблем — зависит от количества и сложности.