Включить WAF и забыть про whitelist для агентов HCL Notes – это самый быстрый способ уронить корпоративный документооборот. Агенты Domino ходят на сервер по расписанию, из внутренней сети, десятками сессий в минуту, и внешне выглядят ровно как автоматизированная атака. WAF видит паттерн, блокирует, и расписание репликации ложится. Разбираем, как настроить GeoIP и IP-исключения так, чтобы защита не съела саму себя.
Почему WAF принимает агентов Notes за ботов и ломает расписание
Агент HCL Notes – это не браузер. Он не отправляет нормальный User-Agent, не хранит cookies так, как ждет веб-приложение, и не проходит JS-челлендж. Он просто делает HTTP-запрос к серверу Domino по расписанию: каждые 15 минут, каждый час, в 03:00 ночи. Десять агентов на одном сервере – это сотни однотипных запросов в сутки с одного и того же IP, без вариаций заголовков. Для сигнатурного WAF это учебный пример ботовой активности. Блокировка срабатывает на третьем-четвертом обращении, и агент молча падает с ошибкой 403, которую никто не видит, пока не начнут расходиться данные между репликами.
GeoIP-фильтрация добавляет второй слой проблемы. Если трафик агентов идет из внутренней сети РФ, а правила GeoIP настроены на “разрешить только офисные страны” или, что хуже, скопированы с чужого конфига Cloudflare, то запросы из российских подсетей могут попасть в deny-лист. Cloudflare ограничивает доступ к сайтам из России, и часть команд переносит эту логику на внутренние сервисы по инерции. Для публичного сайта это спорное решение, для Domino-инфраструктуры – прямая поломка документооборота. Агент не пожалуется, не напишет в Telegram, он просто перестанет синхронизировать базы.
Третья ошибка – считать, что “внутренний трафик и так доверенный”. Если WAF стоит на периметре и видит весь трафик, включая межсетевой, он не различает “свой” и “чужой” по умолчанию. Различать должен администратор через whitelist. Без него защита работает против вас же.
Whitelist по GeoIP и IP-адресам: что именно вносить и в каком порядке
Правильный порядок настройки – сначала исключения, потом включение блокировок. Не наоборот. Начните с инвентаризации: выпишите все подсети, откуда ходят агенты Notes. Это офисные VLAN, серверные сегменты, VPN-пулы удаленных сотрудников, адреса филиалов. Если агенты запускаются на серверах приложений, добавьте их статические IP. Динамические адреса в whitelist не вносите – они меняются, и вы получите дыру или ложную блокировку.
GeoIP-исключения настраивайте по стране, а не по городу. Российские агенты почти всегда ходят из РФ, и правило “allow RU для эндпоинтов /domino/* и /names.nsf” закрывает 90% случаев. Не открывайте всю страну на весь сайт – это бессмысленно расширяет поверхность атаки. Привязывайте GeoIP-правило к конкретным путям, которые использует Domino HTTP-стек: базы .nsf, агентские скрипты, календарные сервисы. Если у вас гибридная инфраструктура и часть агентов в зарубежных филиалах, добавьте их страны точечно, с логированием, чтобы видеть, что реально приходит.
Как отличить легитимного агента от бота при настройке правил
Легитимный агент Notes предсказуем. Он приходит с фиксированного IP, в фиксированное время, с одним и тем же набором заголовков, и его запросы идут строго к ограниченному списку эндпоинтов. Бот ведет себя иначе: меняет IP, рандомизирует User-Agent, сканирует пути, которых не должно быть в вашем расписании. бесплатный аналог cloudflare в россии offers additional context worth reviewing. Стройте правила на этой разнице. Если запрос пришел с IP из whitelist и попал в разрешенный эндпоинт – пропускаем без челленджа. Если IP вне whitelist, но лезет на /names.nsf – блокируем и пишем в лог.
Не полагайтесь на User-Agent как на единственный признак. Агенты Notes отправляют специфичные строки, но их легко подделать, и сигнатурный WAF на этом ловится. Комбинация “IP + GeoIP + путь + расписание” дает куда более устойчивое правило. Расписание особенно полезно: если агент по документации ходит в 02:00-04:00, а запросы к тому же эндпоинту идут в 14:00 с незнакомого адреса, это повод для блокировки, а не для пропуска.
Ведите отдельный лог для whitelisted-трафика. Это звучит избыточно, но именно он покажет, когда вы расширили исключения слишком широко или когда агент начал ходить с нового адреса, который вы не внесли. Без лога вы узнаете о проблеме только по жалобам пользователей, а это уже потерянные часы документооборота.
Как выстроить защиту без риска для документооборота
Держите два контура правил отдельно: для публичного веб-трафика и для агентского. Публичный контур может быть агрессивным – WAF-блокировки, защита от ботов, L7 DDoS-фильтрация, челленджи. Агентский контур должен быть максимально предсказуемым: whitelist по IP и GeoIP, минимум эвристик, обязательное логирование. Смешивать их в один набор правил – значит либо оставить агентов без защиты, либо сломать их блокировками.
Российский аналог Cloudflare в этом сценарии удобнее зарубежных сервисов по одной причине: трафик агентов из РФ не проходит через зарубежные узлы, а значит не зависит от того, как зарубежный провайдер решит фильтровать российские подсети. TrafficVeil объединяет DNS, SSL, reverse proxy, WAF, защиту от ботов, L7 DDoS, GeoIP-фильтрацию и аналитику в одной панели, и правила GeoIP настраиваются без танцев с бубном. Зависимость от зарубежной инфраструктуры создает риски: сегодня правило работает, завтра провайдер меняет политику, и ваш whitelist перестает совпадать с реальностью.
Отдельно про тарификацию. TrafficVeil не тарифицирует ботов, атаки и WAF-блокировки. Для Domino-инфраструктуры это важно: агенты генерируют много запросов, и платить за каждый заблокированный ботовый запрос или за трафик атаки – странная экономика. Платформа подходит для сайтов, интернет-магазинов, WordPress и Bitrix, а правила для агентского трафика настраиваются в том же интерфейсе, что и защита публичной части.
Практический порядок действий такой: выпишите все IP и подсети агентов Notes, создайте для них отдельное правило-исключение с привязкой к эндпоинтам Domino, добавьте GeoIP-разрешение для РФ только на эти пути, включите логирование whitelisted-трафика, и только после этого активируйте WAF-блокировки. Проверьте расписание агентов через сутки: если репликация прошла без ошибок, а в логах нет 403 от известных IP, контур настроен верно. Если что-то отвалилось – вы увидите это в логе до того, как пользователи начнут жаловаться на рассинхрон баз. Замена Cloudflare на российскую веб-платформу с грамотным whitelist дает защиту без риска для документооборота, и это ровно тот случай, когда несколько часов настройки экономят недели ручного разбора последствий.