Knowledge Base

Safe Active Diagnostics — короткие контролируемые проверки

Safe Active Diagnostics — короткие контролируемые проверки

Категория: Monitoring · Риск: medium

Safe Active Diagnostics — короткие контролируемые проверки

Зачем это нужно

Пассивная проверка видит только заголовки, DNS, TLS и открытые сервисы. Этого недостаточно, чтобы отличить реальную проблему от особенности CDN/WAF или наоборот увидеть слабое поведение приложения.

Safe Active Diagnostics добавляет короткий контролируемый слой: сканер отправляет несколько read-only запросов и смотрит, как сайт реально отвечает на необычные, но безопасные ситуации.

Что проверяется

NodeRoute выполняет ограниченный набор запросов:

Что НЕ выполняется

Проверка не делает:

Почему это безопаснее обычного pentest-probing

Все запросы:

Какие риски можно увидеть

CORS доверяет чужому сайту

Если сервер отражает произвольный `Origin` и одновременно разрешает credentials, чужой сайт может получить доступ к ответам API в браузере пользователя.

TRACE включён

TRACE в production обычно не нужен. Если сервер отражает запрос, это лишняя диагностическая поверхность.

Host header отражается

Если чужой Host попадает в `Location` или HTML, это может быть признаком риска password reset poisoning, cache poisoning или неправильной генерации абсолютных ссылок.

Несуществующий путь вызывает 5xx

Random URL не должен ломать приложение. Корректный ответ — 404, 410, 403 или осознанный SPA fallback.

Длинный harmless header вызывает 5xx

Даже необычный заголовок должен завершаться контролируемо: 200, 400, 403 или 431. 5xx означает проблему в reverse proxy или приложении.

Как читать результат

Pass-сигналы не означают, что сайт полностью защищён. Они означают, что конкретный безопасный active-probe не выявил плохого поведения.

Fail/warn-сигналы важнее пассивных догадок, потому что основаны на реальном ответе сайта.

Как исправлять

1. Для CORS используйте allowlist доверенных origin. 2. Отключите TRACE/TRACK на edge и reverse proxy. 3. Настройте allowlist `Host` / `server_name`. 4. Возвращайте корректный 404/410 для неизвестных URL. 5. Настройте лимиты заголовков так, чтобы ошибки были 400/431, а не 5xx.

Связанные проверки