Сообщить об уязвимости
Сообщайте о проблемах безопасности конфиденциально, а не в открытом сообщении: откройте вкладку Security репозитория и нажмите Report a vulnerability, указав затронутую версию и способ воспроизведения. Мы подтверждаем сообщения в течение нескольких рабочих дней, исправляем подтверждённые проблемы в новом выпуске и упоминаем автора сообщения в примечаниях к выпуску, если не указано иное.
Исправления безопасности выпускаются для последней версии. Машиночитаемый контакт: security.txt.
Как RMMZit защищает ваши компьютеры
Консоль
Консоль и точка подключения агентов — разные порты; консоль принимает только разрешённые сети, проверяемые до TLS. Двухэтапный вход для каждой учётной записи, пароли argon2id, короткие сеансы, нарастающая блокировка после неудачных входов, защита от CSRF, строгая Content-Security-Policy и журнал аудита, связанный хешами.
Агенты
Агенты подключаются только исходящим соединением — управляемым компьютерам не нужны открытые порты, — закрепляют сертификат сервера при регистрации и выполняют только команды, подписанные сервером и проверенные агентом.
Удалённый доступ
Удалённый рабочий стол, терминал и файлы — только для пользователей с доступом к этому клиенту; каждый сеанс и действие попадают в журнал аудита, а необязательное уведомление на удалённом экране сообщает пользователю, что кто-то подключён.
Только ваша сеть
Никакого облачного сервиса, никакой телеметрии, никакой учётной записи у нас. Действия root из консоли (обновления, сеть, часовой пояс) проходят через отдельный помощник с фиксированным набором проверяемых запросов; диагностика удаляет пароли, токены и ключи.
Как защищены выпуски
- Каждый выпуск подписан ключом выпусков Ed25519 RMMZit; консоли и агенты проверяют подпись и контрольные суммы перед установкой обновления.
- Скрипт установки проверяет подпись и контрольную сумму скачиваемого выпуска.
- Пакеты собираются из помеченных тегами коммитов; образы содержат письменное предложение исходного кода (
SOURCE-CODE.txt). - Обновление консоли сначала делает копию базы и автоматически откатывается, если новая версия не запустится.
Как тестируется RMMZit
При каждом изменении (GitHub Actions)
| Проверка | Что находит |
|---|---|
| CI | go vet, полный набор тестов со встроенным PostgreSQL, staticcheck, gosec, govulncheck и Gitleaks; сборки для Linux и Windows |
| CodeQL | Инъекции, обход путей, небезопасные перенаправления и другие ошибки потока данных (Go, JavaScript, workflows) |
| govulncheck | Известные уязвимости в Go и в зависимостях, которые код действительно вызывает |
| staticcheck | Ошибки и мёртвый код |
| Dependabot | Уязвимые или устаревшие модули Go и действия |
| Secret scanning | Случайно закоммиченные учётные данные (с защитой при push) |
| OpenSSF Scorecard | Практики цепочки поставок репозитория |
Перед выпусками (в тестовой лаборатории)
| Проверка | Что находит |
|---|---|
| gosec | Небезопасные шаблоны в Go: выполнение команд, права на файлы, слабая криптография |
| Semgrep | Инъекции, XSS, небезопасные cookie, открытые перенаправления (Go, JavaScript, секреты, правила OWASP Top 10) |
| Trivy | Уязвимые зависимости, секреты и ошибки конфигурации |
| Gitleaks | Секреты во всей истории git |
| OWASP ZAP | Полное сканирование под учётной записью администратора: XSS, SQL-инъекции, CSRF, обход путей, проблемы заголовков |
| OpenVAS и nmap | Сетевые уязвимости, открытые порты и настройки TLS appliance |
| Сквозное тестирование | Регистрация, мониторинг, оповещения, удалённый рабочий стол, терминал, файлы, скрипты, обновления, роли, LDAP и SSO на реальных компьютерах с Windows и Linux |
Найденные проблемы исправляются до выпуска; принятые риски описываются в примечаниях к выпуску.
Этот сайт
rmmzit.com — статический сайт: только cookie выбора языка, без аналитики, без отслеживания, без сторонних скриптов и шрифтов, с Content-Security-Policy, которая не разрешает ни одного скрипта. См. политику конфиденциальности.