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

Наша компанія займається розробкою, підтримкою та обслуговуванням сайтів будь-якої складності. Від простих односторінкових сайтів до масштабних кластерних систем, побудованих на мікро сервісах. Досвід розробників підтверджено сертифікатами від вендорів.

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Пропоновані послуги
Показано 1 з 1 послугУсі 2065 послуг
Аудит безпеки сайту на WordPress
Середня
~3-5 робочих днів
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    874
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851

Аудит безпеки сайту на 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

# Перевірка заголовків безпеки
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 дні. Усунення виявлених проблем — залежить від кількості та складності.