Бесплатные сканеры уязвимостей сайта: что они находят и чего не покажут
Бесплатных проверок сайта стало много, и это хорошо: базовый скан перестал быть услугой за деньги. Плохо другое — из отчёта редко понятно, что именно проверили, а чего не касались вовсе. Разберём честно, где проходит граница.
Что бесплатная проверка действительно находит
Любой внешний сканер работает как посетитель вашего сайта: открывает страницы, смотрит ответы сервера и сравнивает увиденное с базой известных проблем. В этих рамках он находит много полезного:
- Устаревшие версии CMS и компонентов. Версия WordPress, 1С-Битрикс, jQuery или nginx часто видна прямо в ответе сервера — а к версии привязаны опубликованные уязвимости (CVE).
- Файлы, которые не должны быть доступны снаружи: открытый каталог
.git, забытый.env, резервная копияdump.sql, файлы конфигурации. - Отсутствующие заголовки безопасности —
Content-Security-Policy,Strict-Transport-Security, защита от встраивания сайта в чужой фрейм. - Проблемы с сертификатом и шифрованием: истекающий сертификат, поддержка устаревших протоколов.
- Открытые служебные страницы: панели администрирования, страницы отладки, phpinfo, интерфейсы мониторинга.
- Вход типовым паролем. Проверка, не открывается ли админка парой вроде «admin/admin» — находка редкая, но самая дорогая из всех.
Этого достаточно, чтобы поймать большинство типовых проблем малого сайта. Если вы никогда не проверяли свой ресурс — начните с любого бесплатного сканера, включая наш. Это честный совет: первая проверка почти всегда что-то находит.
Чего не покажет ни один разовый бесплатный скан
Здесь начинается граница, о которой в отчётах обычно молчат.
1. Всё, что за формой входа
Анонимный сканер видит сайт глазами прохожего. Личный кабинет, панель управления, оформление заказа, загрузка документов — вся закрытая часть остаётся непроверенной. А именно там живут самые неприятные проблемы: доступ к чужому заказу по номеру в адресе, загрузка исполняемого файла вместо картинки, редактор шаблонов, позволяющий переписать файл на сервере.
2. Логику вашего бизнеса
Сканер не знает, что скидка не должна быть больше 100%, что чужой договор нельзя скачать по прямой ссылке, а курьер не должен видеть телефоны всех клиентов. Такие уязвимости ищут руками — это работа пентестера, и она стоит других денег. Любой автоматический инструмент, который обещает «найти все уязвимости», здесь не договаривает.
3. Ваш код и то, что в нём забыли
Ключ платёжного шлюза, попавший в репозиторий, пароль от базы в истории коммитов, библиотека с известной уязвимостью в зависимостях — снаружи этого не видно вообще. Нужен анализ самого репозитория.
4. То, что появится завтра
Это главное. Скан — фотография одного дня. Уязвимости в популярных плагинах публикуются каждую неделю: сегодня сайт чист, а через десять дней выходит CVE в плагине формы обратной связи, который у вас стоит. Ваш сайт не изменился — изменилось знание о нём. Разовая бесплатная проверка об этом не сообщит, потому что она уже закончилась.
5. Насколько находка опасна именно у вас
Список из сорока пунктов со шкалой «критично / высоко / средне» не отвечает на вопрос владельца: с чего начать в понедельник. Три «высоких» риска могут быть безобидными, а один «средний» — открывать путь к базе клиентов.
Чем это отличается от антивируса хостинга за 259 ₽
Частая путаница. Антивирус хостинга и сканер уязвимостей решают разные задачи, и одно не заменяет другое.
| Антивирус хостинга | Сканер уязвимостей | |
|---|---|---|
| Что ищет | вредоносный код в файлах, которые уже лежат на сервере | способы попасть на сервер снаружи |
| Когда полезен | после взлома — найти и удалить шелл | до взлома — закрыть дверь |
| Откуда смотрит | изнутри, по файловой системе | снаружи, глазами злоумышленника |
| Найдёт устаревший плагин с CVE? | нет, пока его не эксплуатировали | да, до того как им воспользовались |
Поэтому сравнение «зачем платить, если у хостера есть проверка за 259 ₽» некорректно: вы сравниваете уборку после пожара с пожарной сигнализацией. Нужны обе.
Проверьте у себя за пять минут — без всяких сканеров
Четыре вещи, которые видны из браузера и не требуют инструментов:
-
Откройте
ваш-сайт.ру/.git/config. Если браузер показал текст, а не ошибку 404, — исходный код вашего сайта доступен любому. Это чинится в тот же день и встречается чаще, чем кажется. -
Посмотрите исходный код главной (Ctrl+U) и поищите строку
generator. Часто там прямым текстом написана версия CMS — а значит, и список подходящих к ней уязвимостей. -
Проверьте адрес. Открывается ли сайт по
http://без переадресации наhttps://? Если да, пароли ваших клиентов ходят по сети открытым текстом. -
Зайдите на
/wp-adminили/bitrix/admin. Форма входа доступна всему интернету? Это не уязвимость сама по себе, но это дверь, в которую круглосуточно стучатся автоматические переборщики.
Если все четыре пункта в порядке — базовая гигиена у вас есть, и дальше имеет смысл говорить о регулярной проверке. Если нет — начните с них, это дешевле любой подписки.
Что делать с отчётом, когда он получен
- Отделите то, что вы можете исправить сами (обновить плагин, закрыть файл, включить переадресацию на https), от того, что требует разработчика.
- Начинайте с доступности снаружи, а не с формальной оценки риска: открытый файл конфигурации важнее теоретической уязвимости в библиотеке, которая у вас не используется.
- Проверьте повторно после исправления. Отчёт без повторной проверки — это гипотеза, что вы всё починили.
- Сохраните список. Через полгода он покажет, что вернулось обратно, — а возвращается регулярно.
Проверьте свой сайт бесплатно
ShieldSafe покажет технологии, известные уязвимости и открытые снаружи файлы, объяснит каждую находку простым языком и подскажет, что передать разработчику. Без установки чего бы то ни было на ваш сервер.
Запустить проверку