Панель оператора: почему localhost — не защита
Элис сегодня работает локально — на машине пользователя или на выделенном сервере. Отсюда соблазн: раз панель управления слушает только localhost, защищать её не нужно. Чужой ведь сюда не попадёт.
Попадёт. Любая открытая в браузере страница может слать запросы на локальный порт. А с атакой DNS rebinding, когда домен злоумышленника начинает указывать на 127.0.0.1, — ещё и читать ответы. Поэтому вход в панель по токену оператора обязателен, даже локально.
Сама панель оператора (Mission Control) — локальное веб-приложение: • выбор группы и сессии, лента разговора; • окно подтверждения действий; • статус и дашборд: бюджеты, постоянные разрешения, обмен задачами между группами, трассы; • живое окно браузера агента — для входа человеком.
Лента — это подписка на журнал событий. Интерфейс показывает то, что записано, а не то, что «кажется».
Каталог инструментов. Локальный, у каждого инструмента — версия и контрольная сумма SHA-256. Установить, закрепить версию, отозвать. Нет в списке разрешённых или не совпала сумма — отказ.
Лицензия для компаний — офлайн: файл с клиентом, числом мест, сроком и подписью. Проверяется без обращения к внешнему серверу, поэтому работает и на машине без интернета.
Где было трудно. Отзыв инструмента. Отозванный инструмент может уже стоять в активной группе, и отзыв должен реально его выключать, а не только убирать из каталога. И честное ограничение офлайн-лицензии: проверка подписи защищает от подделки файла, но не от того, кто полностью контролирует машину и может изменить саму проверку. Это осознанный компромисс локального продукта.
Урок: «локально» не значит «безопасно». Локальная панель — такая же поверхность атаки, как и публичная, просто атакуют её через браузер.
Защищаете ли вы свои локальные dev-панели?