Loopback-изоляция означает, что служба принимает соединения только с той же машины, на которой запущена: адрес 127.0.0.1 недоступен из сети. Это убирает целый класс атак — из локальной сети и из интернета к такой службе не подключиться. Но это не универсальная защита, и понимать её границы важнее, чем саму формулировку.
Что это даёт?
- Служба не видна из сети: ни из офисной, ни из домашней, ни из интернета.
- Не нужен проброс портов и открытые правила firewall — нечего открывать.
- Меньше поверхность атаки: то, до чего нельзя дотянуться по сети, нельзя и просканировать.
- Проще аудит: если служба слушает только loopback, вопрос «а кто ещё может к ней обратиться извне» закрывается на уровне архитектуры.
От чего это не защищает
Здесь важно быть точным, потому что вокруг «локального агента» легко возникает ложное чувство безопасности.
- От процессов на той же машине. Локальный доступ есть у всего, что на ней работает, включая вредоносное ПО, которое пользователь запустил сам.
- От человека, который уже получил удалённый доступ к машине. Для него агент — тоже локальный.
- От ошибок в самих сценариях. Изоляция не делает выполняемые команды правильными.
- От утечки ключей, которые агент использует. Ключ уезжает вместе с файлом, а не по сети.
Отсюда вывод: loopback — один слой, а не вся защита. Он должен работать вместе с ограничением прав, подтверждением изменяющих действий и журналом.
Как проверить на пилоте?
Не принимайте архитектуру на слово — она проверяема стандартными средствами.
- Посмотрите список слушающих сокетов на машине с агентом и убедитесь, что адрес привязки — 127.0.0.1, а не 0.0.0.0.
- Попробуйте обратиться к этому порту с соседней машины в той же сети. Соединение не должно устанавливаться.
- Проверьте исходящие соединения: понятно ли, куда именно агент ходит и ходит ли вообще без вашего запроса.
- Повторите проверку после обновления: привязка адреса — это настройка, и она может измениться.
В GoDesk локальный агент слушает только localhost и отвечает ключу вашего парка — заявленное поведение описано на странице GoDesk AI, а код открыт под AGPL-3.0, поэтому архитектуру можно проверить не только снаружи, но и по исходникам: что это даёт на практике, разобрано на странице безопасности.
Можно ли считать локальный запуск гарантией конфиденциальности?
Нет. Ограничение сетевой доступности говорит о том, кто может обратиться к агенту, а не о том, куда уходят данные: то, что агент сам отправляет наружу, зависит от его конфигурации, а не от того, на каком адресе он слушает. Это две разные проверки, и вторую придётся делать отдельно.
Как проверить, что агент действительно недоступен извне?
С другой машины в той же сети — попыткой обратиться к нему по адресу первой. Проверка с самой машины ничего не показывает: локально доступно и то, что снаружи закрыто, поэтому результат будет успешным в любом случае.