/Руководство

Безопасность сайта: оценка, вирусы и находки

У каждого сайта — оценка безопасности с точными причинами, почему она не 100, проверка на вирусы с доказательствами (изменённые файлы ядра, код в uploads, известные веб-шеллы) и понятный список находок: в карантин, удалить или пометить как безопасное. Плохие боты, исключения и история проверок — на той же вкладке.

Видеоурок · 2:30
На этой странице
  1. Что понадобится
  2. Обзор
  3. Оценка безопасности
  4. Из чего складывается оценка
  5. Запуск проверки
  6. Что ищет сканер
  7. Автоматическая ночная проверка
  8. Разбор находок
  9. Что означают статусы
  10. Исключения
  11. История сканирований
  12. Плохие боты
  13. Репутация
  14. Оповещения
  15. Настройки
  16. Сколько это стоит
  17. Если что-то пошло не так
  18. Вопросы и ответы
  19. См. также

Где найти: Дашборд → название сайта → вкладка Безопасность.

Что понадобится

Обзор

На странице сайта нажмите «Безопасность». Работает и прямая ссылка: /Home/Site/<id сайта>?tab=Security; допишите &sub=findings, firewall, bots, exceptions или history, чтобы сразу открыть нужную подвкладку. В шапке — «Репутация», кнопка обновления и «Запустить сканирование».

Четыре плитки дают сводку по сайту; нажмите на плитку, чтобы открыть нужную подвкладку:

  • «Активные находки» — «Требует проверки» или «Ничего не ждёт», если список пуст;
  • «Защита» — Cloudflare (блокировка на границе сети), WordPress (блокировка внутри WordPress) или «Нет»;
  • «Заблокированные адреса»;
  • «Последнее сканирование» — как давно и сколько всего было проверок.
Вкладка «Безопасность»: «Репутация» и запуск проверки, четыре плитки и оценка безопасности с причинами снижения
Рис. 1 Оценка безопасности и что её снижает.

Оценка безопасности

Кольцо показывает число от 0 до 100 и уровень: «Отлично» (90+), «Хорошо» (75+), «Средне» (55+), «Плохо» (35+) или «Критично» (ниже 35). Рядом, в блоке «Что снижает оценку», — до пяти проблем: сколько баллов каждая стоит, что сделать и кнопка перехода — «К находкам», «Запустить сканирование», «Cloudflare» или «Обновления». Зелёные плашки ниже — то, что уже в порядке, например «HTTPS включен» или «Недавно просканировано».

Из чего складывается оценка

Оценка начинается со 100 и теряет баллы за:

ПроблемаБаллы
Критичные находки с высокой уверенностью («Критичные находки — нужна проверка»)25 + 5 за каждую, не больше 50
Иначе — находки высокой важности («Подозрительные файлы»)по 4, не больше 20
Известные уязвимости установленных плагинов и тем (база Wordfence)CVSS 9+: 15 + 5 за каждую, до 30; CVSS 7–9: по 6, до 18; ниже: по 2, до 8
Непоставленные обновления плагинов4 за 1–5 плагинов, 10 — если больше 5
Нет HTTPS15
Нет Cloudflare6, если работает файрвол плагина («Нет защиты на периметре»); 10, если защиты нет вообще
Давность проверкини разу не проверялся — 12; больше 30 дней — 8; больше 7 дней — 3
WordPress старше последней версии, которую видела панель10

Запуск проверки

Нажмите «Запустить сканирование». Полоса прогресса показывает «Сканирую сайт…», текущий файл, число проверенных файлов и находок; на большом сайте это несколько минут. В конце появится «Сканирование завершено: находок N, проверено файлов M», а если прежние находки исчезли — ещё и «N earlier finding(s) not found any more».

Что ищет сканер

Проверка идёт внутри плагина WPManager и ищет доказательства, а не просто «опасные функции»:

  • файлы ядра WordPress сверяются с официальными контрольными суммами WordPress.org: изменённый файл ядра или неизвестный PHP-файл в wp-admin или wp-includes;
  • плагины из каталога WordPress.org сверяются с их контрольными суммами (у премиум-плагинов сумм нет — эта проверка для них пропускается);
  • исполняемые файлы и подозрительный .htaccess в uploads, а также PHP-код, спрятанный там в файлах других типов;
  • сигнатуры известных веб-шеллов и код, который выполняет данные из запроса;
  • сильно обфусцированный код — только при сильных признаках;
  • гигиена настроек: включённый редактор файлов, публичный debug-лог, права на wp-config.php, открытая регистрация администраторов, пользователь с логином «admin». Это предупреждения, а не угрозы.

Автоматическая ночная проверка

Каждую ночь после 03:00 UTC панель проверяет все активные сайты с сохранённым ключом плагина — по очереди, по одному сайту каждого владельца. Результаты появляются в «Истории сканирований» и «Находках» так же, как после ручной проверки.

Разбор находок

  1. Откройте список

    «Находки» по умолчанию показывают активные; выпадающий список переключает на любой другой статус или на «Все статусы». Ищите в поле «Поиск по файлу или находке», фильтруйте плашками типов («Бэкдор», «Вирус», «Изменён файл ядра», «Подозрительный код»…) и важности («Критично», «Высокий», «Средний», «Низкий»). В строке — важность, тип, название находки, путь к файлу с номером строки и когда найдено.

    Список находок: статус, поиск, фильтры по типу и важности, четыре находки с кнопками действий
    Рис. 2 Находки с фильтрами по типу и важности и быстрыми действиями.
  2. Откройте находку

    Нажмите на строку. Окно покажет файл, находку, подробности, когда и чем она обнаружена, и сам подозрительный код.

    Окно находки: критичный бэкдор в папке uploads, файл, описание, время обнаружения, строка кода и действия
    Рис. 3 Находка с доказательствами и действиями.
  3. Примите решение

    • «Карантин» — файл переносится в wp-content/wpmanager-quarantine на сайте и перестаёт работать;
    • «Удалить файл» — файл удаляется навсегда;
    • «Не угроза» — ложное срабатывание: для этого файла и этой находки добавляется исключение;
    • «Доверять всей папке» — для файлов плагина или темы: все находки в папке закрываются, а следующие проверки её пропускают.

Что означают статусы

СтатусЗначение
«Активен»Ждёт вашего решения.
«Больше не находится»Следующая проверка перепроверила файл: его нет, он чист или в нём нет кода.
«В карантине», «Удалено»Ваши действия.
«Ложное срабатывание»Вы нажали «Не угроза» или доверили папку.
«Игнорировано», «Восстановлено»Прежние исходы, сохранённые в истории.

«Очистить список» забывает все находки сайта в панели. Файлы на сайте не трогаются, а следующая проверка снова покажет всё, что найдёт.

Исключения

«Исключения» — то, о чём сканер больше не сообщает. Нажмите «Добавить исключение» и заполните:

  • «Файл или папка» — путь к папке заканчивается на /;
  • «Находка» (необязательно) — текст названия находки; если указан и путь, должны совпасть оба;
  • «Причина» — для себя.

Удалите исключение — и со следующей проверки сканер снова будет об этом сообщать.

Подвкладка «Исключения»: поиск, добавление и три исключения — файл, папка и тип находки
Рис. 4 Исключения: файл, папка и название находки.

История сканирований

«История сканирований» — все проверки, ручные и ночные: «Результат», «Тип», «Файлы», «Находки», «Запущено» и «Время».

История проверок: пять полных проверок с результатом, числом файлов и находок, временем начала и длительностью
Рис. 5 История ручных и ночных проверок.

Плохие боты

«Плохие боты» показывают, что поймал плагин за 7, 14, 30 или 90 дней:

  • «Запросы плохих ботов» — число запросов и адресов, разбивка по уровню угрозы и столбик на каждый день;
  • «По типам» — SEO- и ИИ-сканеры, HTTP-библиотеки, сканеры уязвимостей, зонды, спам-боты, пустой User-Agent и так далее;
  • «Последние обнаружения» и «Самые активные адреса» — из каждой строки адрес можно заблокировать, а бота заблокировать по имени.

«Забанить бота по имени» просит «Слово в user agent», «Название» и «Причину»: любой запрос, в user agent которого есть это слово, получит отказ. Баны видны в «Забанены по имени».

Подвкладка «Плохие боты» за 30 дней: запросы и адреса, уровни угрозы, столбцы по дням, боты по типам, бан по имени и последние обнаружения
Рис. 6 Плохие боты, которых плагин поймал за 30 дней.

Репутация

«Репутация» проверяет сайт в VirusTotal и Google Safe Browsing и показывает «Сайт выглядит чистым» или «Есть сигналы» — с цифрами от каждого сервиса.

Окно «Репутация»: сайт чист — VirusTotal без вредоносных и подозрительных, Google Safe Browsing безопасно
Рис. 7 VirusTotal и Google Safe Browsing считают сайт чистым.

Оповещения

Находки не отправляются ни в Telegram, ни на почту: смотрите вкладку «Безопасность» и оценку. Оповещения Telegram приходят о падении сайта, окончании SSL и домена и о результатах обновлений.

Настройки

НастройкаЧто делает
Фильтр статуса (Находки)По умолчанию — активные; любой другой статус или «Все статусы».
Период (Плохие боты)7, 14, 30 или 90 дней.

Сколько это стоит

Бесплатно: ручные и ночные проверки и проверка репутации не списывают деньги с баланса.

Если что-то пошло не так

Что вы видитеЧто делать
«Сканирование безопасности этого сайта уже идёт — дождитесь его окончания»Уже идёт ручная или ночная проверка — её видно на полосе прогресса. Дождитесь окончания.
«В ответе плагина нет списка угроз — ничего не сохранено…»Вместо WordPress ответил кэширующий плагин или прокси. Исключите /wp-json/ из кэширования страниц и запустите проверку снова.
«Прервано: панель перезапустилась во время сканирования»Запустите проверку ещё раз.
«Не удалось загрузить плохих ботов — на сайте нужен плагин WPManager 5.0 или новее»Обновите плагин WPManager на сайте.

Вопросы и ответы

«Очистить список» лечит сайт?

Нет. Он только забывает находки в панели. Файлы остаются как есть, а следующая проверка снова покажет всё, что найдёт.

Можно отменить карантин из панели?

Кнопки для этого нет. Файл хранится на сайте в wp-content/wpmanager-quarantine; верните его через файловый менеджер хостинга или FTP.

Почему премиум-плагин не сверяется по контрольным суммам?

WordPress.org публикует контрольные суммы только для плагинов из своего каталога. Премиум-плагины проходят остальные проверки: сигнатуры, обфускация, uploads.

Обновлено