Мы не можем одобрить вход за вас
Решение подписывает ключ в телефоне сотрудника. Сервер проверяет подпись сам и не верит ни облаку, ни сети.
Ключ не покидает телефон
При подключении телефон создаёт ключ P-256 в Secure Enclave. Достать его нельзя, подпись — только после Face ID, Touch ID или кода телефона.
Подписан каждый вход
Телефон подписывает: кто, куда, откуда и решение. Сервер сверяет подпись с тем, что отправлял сам, — подменить «не тот» вход нельзя.
Облако не доверенное
Сервис только передаёт запросы. Без подписи телефона «да» не проходит. Худшее, что может облако, — не доставить запрос.
Защита от «push-бомбинга»
Без SSH-ключа после «Одобрить» нужно ввести число с телефона. Случайное нажатие не пустит злоумышленника. Частота запросов ограничена.
Вход без сети
Нет связи — сервер покажет вызов, приложение посчитает код без интернета. Общий секрет знают только сервер и телефон.
Компании изолированы
У каждой компании свой ключ подписи. Сотрудники и серверы одной компании не видны другой — это проверяют тесты.
Схема
ssh-клиент ─► sshd ─PAM─► агент на сервере ──HTTPS──► облако ──push──► телефон
▲ │
└───── проверка подписи ◄─── «Одобрить» + подпись
Агент на сервере — открытый код. Он держит соединение, пока сотрудник не ответит, и пускает только с действительной подписью. Любая ошибка — отказ.
Открытый код
Агент pushauth, PAM-модуль, протокол и приложение iOS — открытый код под лицензией Apache 2.0. Код, который работает от root внутри sshd, ваши специалисты могут прочитать и собрать сами.
Проверка безопасности
Мы регулярно проверяем протокол, агент, приложение и портал по модели угроз «облако и сеть враждебны». Найденное исправляем, итог публикуем.
- Подпись контекста входа, сверка числа, лимиты запросов
- Ключ компании закреплён на сервере и телефоне — поддельный портал не пройдёт
- Вход в портал — тоже с телефона; сессии короткие
- Старый пакет с правами не принимается — отзыв не откатить
- Веб: CSP без inline-скриптов, CSRF, HSTS
Отчёты: security-review.md, архитектура: architecture.md.
Что видит облако
Имя сотрудника, имя сервера и IP, с которого входят. Паролей, SSH-ключей и ключей телефона облако не видит. Если и это нельзя отдавать наружу — портал ставится на ваш сервер.
Сообщить об уязвимости
Пишите на sales@asiainfo.kg с темой «Уязвимость». Ответим в течение рабочего дня.