fix: harden sing-box egress rollout

This commit is contained in:
2026-08-27 03:39:06 +05:00
parent adb3e849df
commit 8ac3b2b1ba
24 changed files with 228 additions and 48 deletions
+10 -6
View File
@@ -10,7 +10,8 @@ generated config и все backups.
- Ошибки parser не включают исходное значение.
- diff заменяет secret values на `<REDACTED>`.
- state хранит только SHA-256 source/config и безопасный endpoint label.
- URI/config/backups имеют `0600`, каталоги — `0700`.
- Policy/URI/config/state/backups имеют `root:root 0600`, каталоги —
`root:root 0700`; `doctor` проверяет этот ограниченный набор объектов.
- subprocess вызывается массивом аргументов без shell.
После попадания действующего URI в чат, issue, shell history или journal оба
@@ -22,7 +23,7 @@ credential следует перевыпустить.
- policy schema;
- URI syntax и поддерживаемые параметры;
- точная версия и `with_quic`;
- точная версия, `with_quic` и `with_gvisor` для `stack=mixed`;
- deterministic candidate;
- `sing-box check`.
@@ -35,7 +36,9 @@ credential следует перевыпустить.
на `eth0`. Она не принадлежит sing-box и остаётся отдельной от динамической
таблицы `inet sing-box`.
Guard запускается до sing-box. Остановка или удаление guard unit является
Guard запускается до sing-box. Drop-in `sing-box.service` одновременно задаёт
requirement и ordering dependency: ошибка запуска guard блокирует sing-box.
Остановка, удаление guard unit или ручное изменение его nftables-таблицы является
security-sensitive операцией и не выполняется CLI автоматически.
Имена интерфейсов поступают из уже провалидированного policy, subprocess не
@@ -43,9 +46,10 @@ security-sensitive операцией и не выполняется CLI авт
## Healthcheck
HTTPS healthcheck подтверждает data plane, но раскрывает проверочному endpoint
факт обращения с VPN egress IP. URL можно заменить внутренним контролируемым
endpoint. Отключение URL ослабляет проверку до состояния systemd.
HTTPS healthcheck подтверждает локальную post-activation связность шлюза, но не
весь forwarded path `eth1 -> TUN -> HY2`. Он раскрывает проверочному endpoint факт
обращения с VPN egress IP. URL можно заменить внутренним контролируемым endpoint.
Отключение URL ослабляет проверку до состояния systemd.
## Ограничения URI 1.13.19