Реализован production-hardening по fix1: env/reconfigure, IPv4-only, TLS, secrets, firewall, docs

This commit is contained in:
2026-04-26 07:27:06 +05:00
parent 2b4a45ad23
commit 3fccd5c442
109 changed files with 1773 additions and 569 deletions
+20 -4
View File
@@ -21,10 +21,19 @@
Базовые требования:
- отдельный unit `hy2xs-admin.service`
- запуск от `User=hy2xs-admin`, не от root
- отдельный install dir
- отдельный data dir
- отдельный жизненный цикл от Hysteria
Рекомендуемый hardening:
- `NoNewPrivileges=true`
- `PrivateTmp=true`
- `ProtectHome=true`
- `ProtectSystem=strict`
- `ReadWritePaths=/var/lib/hy2xs-admin /var/log/hy2xs`
- `RestrictAddressFamilies=AF_INET AF_UNIX`
Важно:
- HY2XS admin не должен запускаться как часть unit Hysteria
- unit-файлы не должны быть склеены
@@ -36,14 +45,21 @@
- TCP-порт SSH
- established/related traffic
IPv4-only policy:
- использовать `table ip`, а не `table inet`;
- IPv6 правила не добавлять;
- UI-порт разрешать только с локального bind-host.
После staged-проверки можно включать default policy `drop`.
## Порядок применения
1. Добавить allow-правила.
2. Проверить, что SSH-сессия не теряется.
3. Проверить listen Hysteria-порта.
4. Только потом затягивать policy.
1. Подготовить candidate-файл (`/etc/nftables.d/hy2xs.nft`).
2. Проверить `nft -c -f`.
3. Создать rollback timer.
4. Применить candidate и проверить SSH/Hysteria/UI.
5. При успехе отменить rollback timer.
6. При провале — rollback.
## Что не делаем