Безопасность сайта: оценка, вирусы и находки
У каждого сайта — оценка безопасности с точными причинами, почему она не 100, проверка на вирусы с доказательствами (изменённые файлы ядра, код в uploads, известные веб-шеллы) и понятный список находок: в карантин, удалить или пометить как безопасное. Плохие боты, исключения и история проверок — на той же вкладке.
На этой странице
Где найти: Дашборд → название сайта → вкладка Безопасность.
Что понадобится
- Сайт подключён через плагин WPManager («Подключено» на вкладке сайта Настройки → Подключение — см. Установка и подключение плагина WPManager). Проверка работает внутри этого плагина.
Обзор
На странице сайта нажмите «Безопасность». Работает и прямая ссылка: /Home/Site/<id сайта>?tab=Security; допишите &sub=findings, firewall, bots, exceptions или history, чтобы сразу открыть нужную подвкладку. В шапке — «Репутация», кнопка обновления и «Запустить сканирование».
Четыре плитки дают сводку по сайту; нажмите на плитку, чтобы открыть нужную подвкладку:
- «Активные находки» — «Требует проверки» или «Ничего не ждёт», если список пуст;
- «Защита» — Cloudflare (блокировка на границе сети), WordPress (блокировка внутри WordPress) или «Нет»;
- «Заблокированные адреса»;
- «Последнее сканирование» — как давно и сколько всего было проверок.
Оценка безопасности
Кольцо показывает число от 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 |
| Нет HTTPS | 15 |
| Нет Cloudflare | 6, если работает файрвол плагина («Нет защиты на периметре»); 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 панель проверяет все активные сайты с сохранённым ключом плагина — по очереди, по одному сайту каждого владельца. Результаты появляются в «Истории сканирований» и «Находках» так же, как после ручной проверки.
Разбор находок
-
Откройте список
«Находки» по умолчанию показывают активные; выпадающий список переключает на любой другой статус или на «Все статусы». Ищите в поле «Поиск по файлу или находке», фильтруйте плашками типов («Бэкдор», «Вирус», «Изменён файл ядра», «Подозрительный код»…) и важности («Критично», «Высокий», «Средний», «Низкий»). В строке — важность, тип, название находки, путь к файлу с номером строки и когда найдено.
Рис. 2 Находки с фильтрами по типу и важности и быстрыми действиями. -
Откройте находку
Нажмите на строку. Окно покажет файл, находку, подробности, когда и чем она обнаружена, и сам подозрительный код.
Рис. 3 Находка с доказательствами и действиями. -
Примите решение
- «Карантин» — файл переносится в
wp-content/wpmanager-quarantineна сайте и перестаёт работать; - «Удалить файл» — файл удаляется навсегда;
- «Не угроза» — ложное срабатывание: для этого файла и этой находки добавляется исключение;
- «Доверять всей папке» — для файлов плагина или темы: все находки в папке закрываются, а следующие проверки её пропускают.
- «Карантин» — файл переносится в
Что означают статусы
| Статус | Значение |
|---|---|
| «Активен» | Ждёт вашего решения. |
| «Больше не находится» | Следующая проверка перепроверила файл: его нет, он чист или в нём нет кода. |
| «В карантине», «Удалено» | Ваши действия. |
| «Ложное срабатывание» | Вы нажали «Не угроза» или доверили папку. |
| «Игнорировано», «Восстановлено» | Прежние исходы, сохранённые в истории. |
«Очистить список» забывает все находки сайта в панели. Файлы на сайте не трогаются, а следующая проверка снова покажет всё, что найдёт.
Исключения
«Исключения» — то, о чём сканер больше не сообщает. Нажмите «Добавить исключение» и заполните:
- «Файл или папка» — путь к папке заканчивается на
/; - «Находка» (необязательно) — текст названия находки; если указан и путь, должны совпасть оба;
- «Причина» — для себя.
Удалите исключение — и со следующей проверки сканер снова будет об этом сообщать.
История сканирований
«История сканирований» — все проверки, ручные и ночные: «Результат», «Тип», «Файлы», «Находки», «Запущено» и «Время».
Плохие боты
«Плохие боты» показывают, что поймал плагин за 7, 14, 30 или 90 дней:
- «Запросы плохих ботов» — число запросов и адресов, разбивка по уровню угрозы и столбик на каждый день;
- «По типам» — SEO- и ИИ-сканеры, HTTP-библиотеки, сканеры уязвимостей, зонды, спам-боты, пустой User-Agent и так далее;
- «Последние обнаружения» и «Самые активные адреса» — из каждой строки адрес можно заблокировать, а бота заблокировать по имени.
«Забанить бота по имени» просит «Слово в user agent», «Название» и «Причину»: любой запрос, в user agent которого есть это слово, получит отказ. Баны видны в «Забанены по имени».
Репутация
«Репутация» проверяет сайт в 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.