25 июля 2024

Блог

Информационная безопасность

Разработка

Безопасность данных: шифрование и хранение финансовой информации сотрудников

Для хранения и безопасной передачи чувствительных данных компании и разработчики выбирают различные инструменты. Это базовая мера информационной безопасности. Расскажем в этой статье свою практику использования одного из самых известных хранилищ секретов -  Vault.

Об информационной безопасности в последние годы говорят все чаще. Различные преступные и мошеннические схемы с использованием знаний о профиле сотрудников активно нарушают безопасность компаний. По данным ТАСС, число кибератак в РФ в первом квартале 2023 года выросло в полтора раза в сравнении с аналогичным периодом 2022 года, до 290 тыс. 

Крупные компании всегда находятся под риском атаки на инфраструктуру и потери работоспособности своих сервисов. Например, утечка данных персонала из-за ненадежного хранения и незашифрованной передачи подвергает опасности как самих сотрудников лично, так потенциально и саму компанию. Поскольку, например, через компрометацию одной учетной записи может пройти проникновение в инфраструктуру компании и дальнейшее вредительство внутри. Вопрос обеспечения безопасности персональных данных неизбежно возникает.

Передача чувствительных данных из 1С

У нашего заказчика появилась задача предоставления своим сотрудникам информации по их зарплате на корпоративном портале и в мобильном приложении. Все финансовые данные, например, по заработной плате, премиям, отпускным и пр., у заказчика хранятся в 1С. В связи с особенностями реализации 1С не может предоставить финансовую информацию в таком в виде, который необходим для отображения на портале. Поэтому данные выкачиваются оттуда в сыром виде и после преобразования сохраняются в базу портала в необходимом формате. Финансовую информацию не видит никто, кроме 1С и конечного пользователя. Для того, чтобы обезопасить данные по пути от 1С до базы данных корпоративного портала, также применяется шифрование данных.

Image (2)

Так выглядят зашифрованные финансовые данные в базе данных

Архитектурное решение

В инфраструктуре клиента уже был развернут сервис Hashicorp Vault для шифрования и хранения секретов, поэтому мы его выбрали в качестве инструмента для шифрования. Нашей задачей вместе с командой информационной безопасности со стороны заказчика было выстроить архитектуру решения от получения данных из 1С до получения пользователем данных через API из базы данных портала. При этом данные по финансам не должны храниться в открытом виде нигде кроме 1С, а ключ, которым эти данные шифруются, должен ротироваться исходя из требований безопасности.

В итоге общий процесс выглядит следующим образом:

•    1С отгружает данные по расчетным листкам в корпоративную шину данных (ESB) в зашифрованном виде;  
•    Наш сервис забирает эти данные и дешифрует с помощью Vault;
•    Сервис преобразует данные из 1С в нужный для корпоративного портала вид; 
•    На стороне Vault генерируется токен для нашего приложения;
•    Отправляем https-запрос в Vault, через который передаем чувствительную информацию по расчетным листам; 
•    Vault отвечает зашифрованными данными, которые мы сохраняем в базе данных;

Схема

•    Когда пользователь хочет получить расчетные листы, то извлекаем их из базы, отправляем запрос в Vault. Все ключи шифрования находятся на стороне Vault; 
•    Vault возвращает расшифрованные данные, которые мы передаем пользователю.

Параллельно этому процессу происходит процесс ротации ключей. В Vault за счет собственного transit secrets engine, можно устанавливать смену ключей шифрования, делать это автоматически по расписанию. Мы при этом проходимся по всем шифрованным данным, дешифруем их старым ключом, шифруем новым и снова сохраняем в базу данных. Процесс для конечного пользователя проходит гладко и бесшовно.

Как это видит клиент в интерфейсе?

Пользователь, заходя в мобильное приложение, выбирает расчетный период: год и месяц. После нажатия на кнопку «Посмотреть» открывается информация с детализацией всего расчетного листка с возможностью скачивания документа в pdf-формате.  

Карт

Мы предусмотрели локальную безопасность, если пользователь использует веб-версию портала на компьютере. Например, пользователь логинится на корпоративный портал и отходит от компьютера налить кофе, пока вкладка с информацией о его зарплате открыта. Чтобы избежать случайных подглядываний со стороны коллег или посторонних людей, мы ввели второй фактор аутентификации. Это работает так, что, когда пользователь жмет на кнопку «показать мою зарплату» система требует ввести дополнительный пин-код. Пин-код пользователь может посмотреть только в специальном приложении на личном телефоне в мобильном аутентификаторе, например, в Яндекс.Ключе.

Наш опыт – ваша безопасность

Учитывая, что кибератаки имеют нарастающую динамику, задача руководителей бизнеса планомерно вести работу обеспечением информационной безопасности: постоянно совершенствовать меры безопасности данных и систематически проводить аудит. Аудит имеет особое значение для компаний, использующих корпоративные сети, имеющих веб-сайты, работающих с интернет-платежами и обрабатывающих персональные данные. Проведение аудита позволяет выявить уязвимости для того или иного класса угроз, направления атак и проверить соответствие системы информационной безопасности отраслевым стандартам. Не всегда необходимы дорогие и сложные комплексы для предотвращения и снижения рисков угроз. Зачастую можно обойтись продуманными архитектурными решениями на базе open-source продуктов. 
Мы занимаемся разработкой Ent.систем уже 20 лет. Информационная безопасность и эффективность продуктов у нас всегда в приоритете. Именно поэтому мы получили лицензии ФСТЭК и ФСБ и осуществляем для наших клиентов полный цикл работ по безопасной разработке и аудиту решений в части информационной безопасности.