Pingveraблог ← Блог
Главная › Блог › Мониторинг без доступа к серверу

Мониторинг, который не заходит на сервер клиента

13 июля 2026 · 6 мин чтения

Агент шлёт метрики наружу, обратный канал команд перечёркнут

Есть решение, которое мы приняли в начале, записали в архитектуру как инвариант и с тех пор отказываемся пересматривать: наш агент не принимает команд. Не «мы пока не пользуемся этой возможностью» — у хаба физически нет способа заставить установленный агент что-либо сделать. Ни удалённого запуска, ни самообновления, ни «а соберите-ка нам вот это прямо сейчас». Он шлёт данные наружу, и это вся его поверхность.

Это не ограничение, которое мы когда-нибудь обойдём. Это и есть продукт. И оно стоит нам функций, которые у нас просят, — поэтому объяснить его стоит честно.

Неудобная арифметика удалённого управления

Любой инструмент, который умеет обновить плагин на пятидесяти сайтах клиентов, по построению умеет исполнять код на пятидесяти сайтах клиентов. Любая панель, которая умеет перезапустить сервис на вашем сервере, где-то хранит доступ, позволяющий на него войти. Это не изъян таких продуктов — это их назначение: нельзя автоматизировать починку, не имея власти чинить.

Но у этой власти есть владелец, у владельца — учётная запись, у учётной записи — сотрудники поддержки, а где-то в этой цепочке есть версия софта с ошибкой. Когда ломают инструмент, радиус поражения — не инструмент. Это все машины, до которых инструмент дотягивался.

Отрасль уже поставила этот эксперимент в промышленном масштабе. В июле 2021 года атакующие воспользовались уязвимостью в широко распространённой платформе удалённого управления. Они не взломали одну компанию — они взломали то, у чего был доступ к компаниям. Пострадали около шестидесяти подрядчиков, а через них за одни выходные оказались зашифрованы, по оценкам, от 800 до 1500 их клиентов; выкуп требовали в 70 миллионов долларов.

Присмотритесь к форме события, потому что в ней весь аргумент: жертвы не сделали ничего неправильного. Они купили известный продукт у серьёзного поставщика и установили его ровно по инструкции. Компрометация пришла через дверь, которую они сами — осознанно, разумно, по договору — оставили открытой: ту самую, через которую подрядчик им помогал.

Инструмент с удалённым управлением тысячей серверов — это не удобство с оговоркой про безопасность. Это одна дверь в тысячу серверов, и всё остальное про него — детали.

Что мы решили вместо этого

Мы задали вопрос уже, чем принято его задавать. Не «что мы могли бы сделать для клиента, будь у нас доступ» — ответ на него всегда «больше», — а «какого минимального доступа хватает, чтобы честно сказать, работают его сайты или нет».

Ответ оказался: никакого. Во входящую сторону — вообще.

  • Агент на хосте односторонний. Он открывает исходящее соединение, отдаёт метрики и кладёт трубку. Командного канала нет. Типы сообщений для удалённых инструкций остались в протоколе мёртвым кодом от раннего черновика — заморожены, никогда не отправляются, игнорируются агентом; мы не удалили их только потому, что это сломало бы совместимость протокола без всякой пользы.
  • У плагина WordPress нет входящих эндпоинтов. Он не регистрирует ни REST-маршрутов, ни AJAX-обработчиков. Он собирает диагностику — версию ядра, состояние плагинов, жив ли конвейер заказов, уходит ли почта на самом деле — и отправляет её наружу. На вашем сайте нет адреса, по которому наши серверы могли бы постучаться.
  • Обновление агента — ваше действие, не наше. Никакого самообновления и тихой подмены. Вышла новая версия — мы можем сказать, что ваш агент устарел: строчкой в логе, бейджем в панели. На этом наше участие заканчивается. Переустанавливаете вы, сверяя контрольную сумму, тогда, когда сочтёте нужным.

Свойство, которое из этого следует, формулируется одной фразой — и в этом весь смысл: если завтра взломают нас, до вашей машины через нас всё равно не добраться. Не потому, что дверь заперта и хорошо охраняется. Потому что двери нет.

Чего это стоит — и мы не будем делать вид, что ничего

Мониторинг, который не умеет действовать, — это мониторинг, который не спасёт вас в три часа ночи. Мы не делаем ничего из этого и делать не будем:

Чего люди справедливо хотятПочему мы этого не делаем
Массово обновлять плагины на всех сайтах клиентовТребует исполнения кода на каждом сайте. Это и есть та самая дверь.
Делать и разворачивать бэкапы удалённоТребует доступа к файлам и базе с нашей стороны.
Снимать вирусы, откатывать неудачный деплойТребует права записи на машину, за которой мы должны просто наблюдать.
Перезапускать сервис, когда проверка упалаТребует командного канала — ровно того, что мы убрали.

Это по-настоящему полезные вещи. Нужны — берите платформу обслуживания, которая их даёт, просто отдавайте себе отчёт: вы меняете реальный объём риска на реальный объём удобства. Такой обмен законен. Он лишь не должен совершаться за вас молча.

Мы делаем вторую половину — ту, которой дверь не нужна: смотрим на сайт снаружи сразу из нескольких регионов и на бизнес-пути изнутри CMS. Принимает ли магазин заказ. Доходит ли письмо из формы до почты. Не истекает ли сертификат. Не заканчивается ли тихо домен. И говорим в тот момент, когда что-то из этого перестаёт быть правдой. Самые дорогие поломки — тихие, и ни одна из них не требует, чтобы у нас был ключ от вашего сервера.

Для студии это не про технику, а про ответственность

Острее всех это чувствуют студии — потому что решение принимается не за себя. Ставя инструмент на сервер клиента, вы молча распространяете доверие клиента на третью сторону, о которой он никогда не слышал и которую не может проверить. Если что-то пойдёт не так, фраза «у вендора была уязвимость» не переживёт встречи с клиентом. Отвечать будете вы — и репутацией, и деньгами, и, скорее всего, договором.

Поэтому честная версия нашего предложения звучит не как «мы безопаснее остальных». Она звучит так: мы убрали категорию риска вместо того, чтобы ею управлять. В нашей модели доступа нечего аудировать, потому что доступа нет. Это обещание меньше, чем «мы сохраним ваши серверы в безопасности», — и его мы можем сдержать даже в свой худший день.

Мониторинг, который не просит ключи

Доступность из нескольких регионов, сроки SSL и домена, здоровье WordPress и приём заказов изнутри CMS — и агент, которому нельзя отдать команду: ни нам, ни тому, кто нас взломает. Бесплатно до 5 сайтов.

Начать бесплатно

Что спрашивают

Pingvera может сам починить то, что нашёл?

Нет, и не сможет. Мы сообщаем — чините вы. Это весь контракт, и именно он делает возможным свойство, описанное выше.

Плагин внутри WordPress — разве это не тот же доступ?

Только если он слушает. Наш не слушает: ни REST-маршрутов, ни AJAX-обработчиков, ни одного входящего пути с наших серверов на ваш сайт. Он собирает и отправляет наружу. Взлом нашей стороны не превращается во взлом вашей.

А если мне нужна автоматизация?

Берите её — у платформы обслуживания, которая для этого сделана. А независимый мониторинг пусть потом проверит результат: один инструмент меняет систему, другой убеждается, что изменение не сломало тихо приём заказов. Это две разные работы, и есть хороший довод не отдавать обе одному поставщику.

Читайте дальше: Магазин отдаёт 200 OK, а заказов нет и Форма говорит «спасибо», письмо не дошло.

← Все статьи · Политика конфиденциальности · pingvera.ru