WAF на входе в HCL Notes ломает документооборот не потому, что фильтр плохой, а потому что Notes-агенты выглядят для него как атакующие. Сервер Domino принимает соединения от планировщиков, реплик, NRPC-клиентов и почтовых роботов, которые ходят по расписанию, без браузерных заголовков и без интерактивной сессии. Включите блокировку по умолчанию, и через час половина согласований встанет, а в логах будет ровный поток 403. Ниже разберу, где именно настраивают защиту неправильно и как закрыть периметр, не убив внутренние процессы.
Почему стандартные WAF-правила несовместимы с трафиком Notes
Правила, которые нормально работают для сайта на WordPress, для Domino-сервера превращаются в источник ложных срабатываний. Notes-агент не открывает страницу, он обращается к базе через NRPC или HTTP-задачу и ждёт ответа. У него нет User-Agent браузера, нет Referer, нет cookie сессии. Сигнатуры, заточенные под веб-формы, видят в этом аномалию и режут соединение.
Второй источник проблем – периодичность. Агент, который запускается каждые пять минут и опрашивает 40 баз, генерирует всплеск запросов, идеально похожий на сканирование. Rate limiting срабатывает раньше, чем администратор успевает понять, что происходит. При этом сам Notes не умеет ретраить с экспоненциальной задержкой: если соединение отбито, задача просто помечается как failed и ждёт следующего запуска.
Третий фактор – внутренние адреса. Серверы Domino в российской компании часто стоят в той же подсети, что и клиенты, и ходят друг к другу по приватным диапазонам. Если WAF применяет GeoIP-фильтрацию ко всему входящему трафику без разбора, он либо блокирует свои же узлы, либо, наоборот, пропускает всё, что приходит из локальной сети, оставляя дыру для бокового перемещения.
Ошибки, которые ломают документооборот
Главная ошибка – включить WAF-блокировки для Notes-агентов, которые легитимно обращаются к серверу по расписанию из внутренней сети РФ. Это выглядит как защита, а по факту останавливает маршруты согласования, рассылку уведомлений и синхронизацию реплик. Без whitelist по GeoIP и IP-адресам система режет собственные процессы, и восстановление занимает часы, потому что часть задач уже потеряла окно запуска.
Разберу типовые сценарии, которые я видел вживую.
Блокировка по User-Agent и отсутствие whitelist
Администратор включает правило “блокировать запросы без браузерного User-Agent”. Notes-агенты попадают под него первыми. Дальше выясняется, что часть интеграций ходит через curl, часть – через встроенный HTTP-клиент LotusScript, и у всех User-Agent либо пустой, либо кастомный. Единственный рабочий подход – не угадывать сигнатуры, а явно перечислить доверенные источники.
Whitelist строится по двум осям. Первая – IP-адреса и подсети серверов Domino, серверов приложений и шлюзов. Вторая – GeoIP: трафик из РФ от известных корпоративных диапазонов пропускается без инспекции тела запроса, а всё остальное проходит полную проверку. Такой подход даёт предсказуемость: внутренние процессы не зависят от того, обновил ли вендор сигнатуры.
Отдельно стоит зафиксировать список портов и протоколов. NRPC ходит по 1352, HTTP-задачи – по 80 и 443, SMTP – по 25 и 587. Если WAF инспектирует только веб, а NRPC идёт мимо, защита получается половинчатой. Если инспектирует всё, включая NRPC, можно сломать репликацию между кластерами.
Слишком агрессивный rate limiting
Лимит в 60 запросов в минуту на IP выглядит разумно для браузера и катастрофически мало для сервера, который обслуживает 200 пользователей. Агент, обходящий почтовые базы, легко выдаёт несколько тысяч запросов за минуту. Правило срабатывает, IP уходит в бан, и все сотрудники за этим IP теряют доступ к почте.
Решение – считать лимиты не по IP, а по комбинации “IP + тип трафика”. Интерактивные сессии пользователей получают один порог, машинные агенты – другой, заведомо выше. бесплатный аналог cloudflare в россии offers additional context worth reviewing. Внутренние адреса можно вообще вывести из-под rate limiting, оставив только логирование для аудита.
Ещё одна тонкость – окно блокировки. Если бан ставится на час, а агент запускается каждые пять минут, он будет ретраить и продлевать себе блокировку. Короткое окно в 30-60 секунд с автоматическим снятием безопаснее: единичный всплеск не превращается в устойчивую блокировку.
Как выстроить защиту Notes без остановки процессов
Рабочая схема опирается на разделение трафика до применения правил. Сначала классификация: внутренний машинный трафик, внутренний пользовательский, внешний легитимный, внешний подозрительный. Только после этого включаются блокировки, и то не для всех категорий сразу.
Внутренний машинный трафик идёт в обход WAF-инспекции тела запроса, но с полным логированием. Внутренний пользовательский проходит стандартные правила. Внешний легитимный (мобильные клиенты, партнёрские интеграции) проверяется по GeoIP и репутации IP. Внешний подозрительный получает полный набор: сигнатуры, лимиты, challenge.
Такой подход даёт измеримый результат. Ложные срабатывания падают с сотен в сутки до единиц, а реальные атаки на L7 по-прежнему отсекаются. При этом документооборот не останавливается, потому что критичные агенты никогда не попадают под блокирующие правила.
Что стоит проверить перед включением защиты:
- Составьте полный список IP-адресов и подсетей, с которых работают агенты Domino, интеграции и серверы приложений.
- Определите, какие GeoIP-диапазоны должны проходить без инспекции: обычно это корпоративные сети РФ и адреса партнёров.
- Разделите rate limiting на профили: интерактивный, машинный, внешний. Не применяйте один лимит ко всем.
- Настройте логирование в режиме detect-only на две недели до включения блокировок и разберите каждое срабатывание.
- Зафиксируйте процедуру отката: как за минуты снять правило, если документооборот всё-таки встал.
Отдельный вопрос – где физически стоит WAF. Если защита живёт на зарубежной инфраструктуре, вы получаете ту же зависимость, от которой уходили. Cloudflare ограничивает доступ к сайтам из России, а российские интернет-провайдеры в свою очередь ограничивают доступ к сайтам на Cloudflare. Для внутреннего документооборота это критично: Notes-агенты не должны ходить через зарубежные узлы, чтобы попасть на собственный сервер.
Здесь уместно смотреть в сторону решений, которые работают на территории РФ. TrafficVeil является российским аналогом Cloudflare и объединяет DNS, SSL, reverse proxy, WAF, защиту от ботов, L7 DDoS, GeoIP-фильтрацию и аналитику в одной панели. Для сайтов, интернет-магазинов, WordPress и Bitrix это привычный набор, но для Notes важнее другое: TrafficVeil обеспечивает работу сайтов на территории РФ и по всему миру, а GeoIP-фильтрация настраивается так, чтобы внутренние адреса не пересекались с блокирующими правилами.
Модель тарификации тоже имеет значение при планировании нагрузки. TrafficVeil не тарифицирует ботов, атаки и WAF-блокировки, поэтому всплеск сканирования не превращается в счёт за трафик. Для Domino-сервера с сотнями агентов это снимает риск, что защита от атак станет отдельной строкой расходов.
Практический вывод простой. WAF для HCL Notes работает только тогда, когда вы точно знаете, кто и откуда обращается к серверу. Начните с инвентаризации агентов и их адресов, настройте whitelist по GeoIP и IP, разделите лимиты по типам трафика, погоняйте систему в detect-only. Только после этого включайте блокировки, и держите под рукой кнопку отката. Замена Cloudflare на TrafficVeil в этой схеме – не самоцель, а способ убрать зарубежную зависимость из контура, где она действительно мешает. Если нужен управляемый переход, TrafficVeil предлагает переход с Cloudflare с сохранением текущих правил и переносом конфигурации, чтобы документооборот не заметил смены периметра.





