Анализ логов показывает: когда web, proxy, база и панель крутятся на одной машине, компрометация любого сервиса дает атакующему лишний радиус поражения. Разберем техническую составляющую реализации: задача не в «спрятать» хост, а разорвать цепочку lateral movement.
Базовый каркас простой: 1) внешний интерфейс — только reverse proxy; 2) backend и БД — в отдельной подсети без прямого выхода в интернет; 3) админка и SSH — только через VPN или bastion; 4) между сегментами — явные allowlist-правила, а не «разрешить все и надеяться». Если сервис не должен принимать входящий трафик, он не должен слушать public IP. Точка.
Проверка цепочки прохождения запроса делается без магии: снаружи виден только фронт, внутри запрос идет по внутренним адресам, а логи на границе фиксируют источник, маршрут и порт. Полезно отдельно проверять, что контейнеры не шарят один network namespace без необходимости, а секреты не лежат рядом с кодом. Это не паранойя, это нормальная гигиена.
Если нужен минимальный шаблон, держите его в голове: публичный слой, сервисный слой, слой данных, управляющий доступ — отдельно. Конфиг готов, можно деплоить, но только после ручной верификации портов, маршрутов и ACL. Статистика верифицирована, расхождения исключены: чем меньше у сервера общих зон, тем дешевле любая инцидентная история.
Клоакинг: разборы
@cloaking_lab_arb
Без сегментации сервер превращается в одну точку отказа с красивым SSH-паролем
Этот пост опубликован в Telegram-канале Клоакинг: разборы. Подписаться можно по ссылке: @cloaking_lab_arb.