Всем привет. Столкнулся с нетривиальной задачей при реализации работы системы, завязанной на деньгах (что-то на уровне мини банка, с рассылкой денег по картам итд)
Есть система, которая обеспечивает значительный денежный поток между большим количеством людей. До сих пор из соображений безопасности, к прод серверу и реальным базам доступ имел только я, но сталкиваемся с проблемой масштабирования - нужна техническая поддержка проекта в то время, когда этим не могу заниматься я.
Например денежные операции вдруг сломались из-за какой-то ошибки в последних обновлениях, работа стоит, все несут убытки, в том числе и наша компания, а я болею например с температурой. Получается вся система умирает на пару дней, пока вопросом не смогу заняться лично я (найти ошибку на реальных данных из бд и загрузить обновление на прод)
Просто дать второму бекенд разработчику доступ к прод серверу - наверное не выход. В случае конфликтной ситуации можно остановить на пару дней работу всей системы (например стерев бд). Можно слить базу данных клиентов (она значительная, можно даже за хорошие деньги продать)
Но хуже всего - можно воспользоваться тем, что система оперирует реальными деньгами, и как-нибудь вывести их на свои карты (после чего убытки очевидно компенсирует компания). Например на сервере лежат ssl ключи, которые можно через код получить, с помощью которых дальше подделывать обращения в банки.
Как лучше к этому вопросу подойти? Теряюсь в догадках. Частично дать доступ к серверу не получится, тк иначе нельзя в полном объеме исправлять и находить ошибки в работе.
----------
UPD: Вообще любые махинации можно отслеживать через историю пользователя в системе. И в договоре прописывать ответственность например за потерю денег системой. Но вопрос - неужели история ssh в суде будет считаться доказательством чего-либо...?
По факту, как и везде с доступом к чувствительным данным, это вопрос доверия к своей команде и хорошей работы СБ. Если доверия к сотруднику нет, доступ давать нельзя.
Как верно отметили, СБ (или другой доверенный сотрудник) настраивает круглосуточный мониторинг всех действий, включая камеру за спиной сотрудника, имеющего доступ.
Так как вопрос связан с деньгами, и, видимо, потенциально большими деньгами, то нарушившему правила сотруднику грозит уголовная ответственность, в договоре такое прописывать не обязательно.
История SSH вполне принимается как доказательство в суде, хотя и вряд ли будет считаться прямой уликой.
Выход доверять людям, подбирать коллектив. Другой вариант разграничить доступ по ролям. И в общем я не часто видел что бы разработчик что то сливал. Обычно это менеджеры, причем топовые, и уходят они с условно своей базой
Привет!
Попробуйте воспользоваться настройкой прав ролей пользователей через AD (если у вас Windows сервера например) и в БД.
Выдайте минимальные права. Кое где вообще можно запретить копирование , дав только просмотр.
Это не убережет вас от записи данных с монитора на листок или принскрин.
К сожалению если там очень-очень конфиденциальные данные, то пишите в условия договора найма о последствиях утечки.
Если такое не возможно, то ищите отдельного сотрудника СБ, который прикрутит мониторинг действий сотрудников, анализ трафика, камеры по углам. Придется посадить всех за компьютеры в офисы или виртуальные удаленные машины под вашим контролем.