Files

31 lines
2.7 KiB
Markdown

# Безопасность
Нашли уязвимость? Пожалуйста, не публикуйте её в открытом issue.
- Напишите через [закрытый отчёт GitHub](https://github.com/itsnotkubrick/3X-UI_KIT/security/advisories/new)
(вкладка **Security → Report a vulnerability**) или в Telegram [@itsnotkubrick](https://t.me/itsnotkubrick).
- Опишите, где проблема (файл и строки), как её воспроизвести и чем она грозит.
Мы ответим, исправим и отметим вас в списке изменений, если вы не против.
## Что проект делает для безопасности
- Установщик 3X-UI закреплён по версии **и** по SHA256: если файл на GitHub изменится,
скрипт его не запустит.
- Бинарник Hysteria сверяется с SHA256, записанным в самом скрипте.
- Свои части (`kit`, `kit-sub`, `hy2 update`) скрипт берёт из тега релиза, а не из ветки `main`.
- Обновления (`kit update`, ночное автообновление, `hy2 update`) ставятся, только если файл
`SHA256SUMS` релиза подписан ключом автора (`ssh-keygen -Y sign`), версия внутри подписи
совпадает, а каждый файл сошёлся с подписанным SHA256. Закрытый ключ не хранится на GitHub.
Откат на старую версию запрещён, после обновления проверяется подписка, при сбое – возврат.
- Резервная копия `kit backup` доступна только root (права 600).
- Подписка `kit-sub` работает без прав root: systemd `DynamicUser` и `LoadCredential`.
- Все данные, которые попадают в файлы настроек, проверяются и экранируются.
- Генераторы конфигов для роутеров работают только в браузере и никуда не отправляют ваши ссылки.
## Ограничения
Скрипт ставит стороннее ПО: панель 3X-UI, ядро Xray, Hysteria, nginx. Мы закрепляем их версии,
но не проверяем их исходный код целиком. Сгенерированный конфиг Mihomo скачивает списки
сайтов (rule-set) и веб-панель zashboard (закреплённой версии) из их проектов на GitHub.