Несколько серверов
OnayDOC работает на трёх узлах. Два принимают пользователей, третий хранит актуальную резервную копию данных. Если один публичный узел перестаёт отвечать, трафик направляется на второй.
Ниже — простое объяснение того, что происходит с документом и что делает система при неисправности.
OnayDOC работает на трёх узлах. Два принимают пользователей, третий хранит актуальную резервную копию данных. Если один публичный узел перестаёт отвечать, трафик направляется на второй.
Данные копируются между тремя узлами. Запись выполняет только выбранный лидер. Большинство узлов должно подтвердить рабочее состояние — так два сервера не смогут одновременно считать себя главными.
Если безопасно продолжать нельзя, OnayDOC не делает вид, что всё хорошо. Пользователь видит временную ошибку 503, а введённые данные не отправляются повторно.
Перед подписью система считает контрольную сумму PDF. Подпись принимается только для той же версии файла. Изменился хотя бы один байт — нужна новая проверка и новая подпись.
Нажатия кнопки недостаточно. OnayDOC проверяет сертификат, подписанта, документ, срок действия и метку времени. Если обязательной проверки нет, операция завершается контролируемой ошибкой.
Ссылка на документ содержит длинный случайный секрет, имеет срок действия и привязана к конкретному действию. Секрет не записывается в обычный адрес запроса и хранится на сервере только в виде контрольной суммы.
Сайт открывается по HTTPS. Служебные соединения между узлами ограничены, пароли и ключи не хранятся в интерфейсе и не передаются в журнал вместе с документом.
Создание, отправка, открытие и подписание фиксируются в журнале. Секретные значения перед записью скрываются. Это помогает понять, кто и когда выполнил действие.
Высокая доступность уменьшает вероятность простоя, но не отменяет обслуживание интернета и внешних сервисов eGov. Поэтому OnayDOC выбирает сохранность документа, когда продолжение нельзя подтвердить.