1.1: исправления по аудиту безопасности
- hysteria2.sh: строгая проверка --email/--host/--sni, install.env через printf %q, SHA256 бинарника в самом скрипте, hy2 update из тега релиза - 3x-ui.sh: SHA256 установщика 3X-UI, проверка --sni/--host, kit и kit-sub из тега, kit-sub без root (DynamicUser + LoadCredential), без cron для меню x-ui - VERSION, CHANGELOG, SECURITY.md, CI (ShellCheck, Python, тесты генераторов), установка с проверкой в README Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q7GrBSRPVXhrz3RAprWDnt
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
4f1e5d98cc
commit
fdae4588ea
@@ -0,0 +1,45 @@
|
||||
# Что нового
|
||||
|
||||
## v1.1: kit сходил к аудитору, сдал анализы и теперь не доверяет никому, даже GitHub
|
||||
|
||||
Подписчик прислал нам полноценный аудит безопасности. Мы почитали, покраснели и всё починили.
|
||||
Спасибо: такие письма лучше любых звёзд на GitHub (но звёзды тоже ставьте).
|
||||
|
||||
**Безопасность**
|
||||
|
||||
- **Hysteria2 больше не верит на слово.** Почта, адрес сервера и сайт маскировки теперь проверяются
|
||||
строго, а в файл настроек пишутся с экранированием. Раньше особо изобретательная почта могла
|
||||
выполниться как команда. Теперь `me@gmail.com;rm -rf` получит вежливый отказ.
|
||||
- **Установщик 3X-UI сверяем по отпечатку.** Мы закрепили не только версию, но и SHA256 файла.
|
||||
Если на GitHub кто-то подменит установщик, скрипт посмотрит на него как на незнакомца в чате
|
||||
с «выгодным предложением» и запускать не станет.
|
||||
- **Hysteria проверяется нашим ключом, а не чужим.** Контрольная сумма бинарника теперь записана
|
||||
в сам скрипт, а не скачивается из того же места, что и бинарник. Проверять человека по
|
||||
справке, которую он же и принёс, так себе идея.
|
||||
- **Всё качаем из релиза, а не из черновиков.** `kit`, `kit-sub` и `hy2 update` берут файлы
|
||||
из тега версии, а не из ветки `main`, которая может поменяться посреди установки.
|
||||
- **Подписка больше не root.** `kit-sub` работает от временного пользователя без прав: конфиг
|
||||
и сертификат ему выдаёт systemd на время работы. Даже если его взломают, ключей от сервера
|
||||
у него нет.
|
||||
- **Меню x-ui оставили в покое.** Больше не переписываем чужие файлы по расписанию, только
|
||||
один раз при установке.
|
||||
- **Строгие имена.** Параметры `--sni` и `--host` у установщика 3X-UI тоже проверяются.
|
||||
|
||||
**Для тех, кто хочет проверить сам**
|
||||
|
||||
- В README появилась установка с проверкой: скачать, прочитать, сверить SHA256, запустить.
|
||||
- `SECURITY.md`: как сообщить об уязвимости, не публикуя её на весь интернет.
|
||||
- Проверка кода на каждый коммит: ShellCheck, Python, тесты генераторов.
|
||||
|
||||
**Как обновиться**
|
||||
|
||||
- Новые установки получают всё сразу.
|
||||
- Hysteria2: `hy2 update`.
|
||||
- Серверу 3X-UI из версии 1.0 ничего не угрожает: критическая ошибка была только в установщике
|
||||
Hysteria2 и срабатывала при установке. Перевести подписку на работу без root поможет
|
||||
`kit update` в версии 1.2. Пока можно просто продолжать пользоваться.
|
||||
|
||||
## v1.0
|
||||
|
||||
Первая версия: 11 протоколов одной командой, всё через 443, одна подписка на все приложения,
|
||||
пользователи через `kit user`, генераторы конфигов для XKeen.
|
||||
Reference in New Issue
Block a user