Почему тормозит Lansweeper: спам запросами в IIS и как это исправить

    Если после переустановки сервер Lansweeper начал работать крайне медленно - страницы веб-интерфейса грузятся по несколько минут, а изображения открываются с задержкой, - причина часто кроется не в базе данных SQL, а в веб-сервере IIS. В этой статье разберём типичный сценарий: внутренний шквал аутентификационных запросов, который парализует IIS, и покажем, как его выявить и устранить.

    Почему IIS тормозит, а SQL - нет

    При диагностике первым делом проверяют базу данных. AppInsight for SQL показывает, что запросы выполняются без задержек - значит, проблема не в СУБД. Включаем мониторинг AppInsight for IIS и видим аномалию: более 750 000 попыток входа (логон-аттемптов) с момента запуска сайта. За полчаса количество растёт ещё на 3 000 - явно не ручная активность. Логи IIS (папка C:\inetpub\logs\LogFiles\W3SVC3) подтверждают: круглосуточно идут обращения к 3-4 страницам, все ответы - код 200 (успешные запросы). При аутентификации через веб-страницу код 200 возможен даже при спаме логонами, так как сервер возвращает страницу логина.

    Кто генерирует трафик: внутренние источники

    Анализ источников показывает, что запросы приходят изнутри сети, а не извне. Среди адресов:

    • машина из подсети поддержки (VLAN для клиентских ПК на ремонте);
    • рабочая станция из офисной пользовательской подсети;
    • адрес из пула VPN для пользователей.

    Два IP - 172.21.103.166 и 172.20.2.185 - продолжают активно долбить сервер в момент проверки. Сетевая статистика за 9 дней: сервер принял ~200 ГБ входящего трафика, отправил только 7 ГБ. Поскольку Lansweeper выполняет роль только веб-хоста, а вся служебная работа идёт на БД, ясно: сервер заспамлен внутренними запросами.

    Как отфильтровать спам в IIS: Dynamic IP Restrictions

    Для борьбы с такими «внутренними DDoS» в IIS встроен модуль Dynamic IP Restrictions (IP-адреса и ограничения доменов). Он позволяет:

    • задать максимальное количество одновременных запросов с одного IP;
    • установить лимит запросов за определённый интервал времени;
    • автоматически блокировать IP, превысивший лимит, на заданный период.

    Настройка выполняется через IIS Manager: выберите сайт, откройте «IP-адреса и ограничения доменов», включите динамическую фильтрацию. Для Lansweeper рекомендуем начать с лимита 50 запросов за 5 секунд - этого достаточно для легитимной работы, но отсечёт аномальный спам.

    Дополнительные меры для Lansweeper

    Помимо Dynamic IP Restrictions, стоит:

    • проверить, не установлено ли на клиентских машинах ПО, которое постоянно опрашивает сервер (например, старые агенты или скрипты);
    • настроить логирование в IIS с детализацией по User-Agent - это поможет идентифицировать источник спама;
    • включить Request Filtering (фильтрацию запросов) в IIS - заблокировать подозрительные строки запроса или слишком длинные URL.

    Если спам идёт с конкретных IP, можно временно добавить их в чёрный список через статические правила IIS, но динамическая блокировка надёжнее - она срабатывает автоматически и не требует ручного вмешательства.

    Как отловить источник спама: пошаговая инструкция

    1. Откройте логи IIS за последние сутки.
    2. Отфильтруйте записи по подозрительным IP (из примера - 172.21.103.166, 172.20.2.185).
    3. Посмотрите URI запросов - если все они ведут к странице логина (/login.aspx или аналогичной), значит, происходит спам аутентификацией.
    4. Проверьте User-Agent - возможно, запросы отправляются скриптом или старым агентом.
    5. Найдите владельца IP через DHCP-логи или систему инвентаризации - это может быть компьютер клиента, который «завис» на странице логина и циклически её перезагружает.

    Вывод

    Медленная работа Lansweeper чаще всего вызвана не проблемами SQL, а перегрузкой IIS из-за внутреннего спама запросами. Модуль Dynamic IP Restrictions - эффективное решение, которое автоматически блокирует аномальные IP без участия администратора. В сочетании с анализом логов и проверкой клиентских машин это полностью устраняет проблему.

    Часто задаваемые вопросы