Как обеспечить безопасность данных (медицинские анализы)?


@Dima_So

Есть сайт клиники на битриксе с личным кабинетом. Планируется добавление хранения данных анализов. Сами результаты анализов предоставляет сторонняя лаборатория, данные будут получаться через их API. Результаты будут храниться в ЛК пользователя. Беспокоит само хранение анализов у себя на сайте.

До этого такой тип данных обрабатывать не приходилось.

Что сейчас планируется:

  • Авторизация по СМС (что не спасет от получения админских прав)
  • Получение данных анализа только по запросу из ЛК, чтобы не хранить их просто так у себя на сайте
  • Сделать периодическую очистку данных, т.к. оборот небольшой и пользователь при необходимости просто запросит данные снова
  • Сделать отдельный скрипт для анализа всплеска запросов к API (больше n в минуту/час/день) и отрубать получение данных при аномалиях

Что еще стоит предусмотреть, изучить. Может что то лишнее?


Ответы на вопрос 4:

@Tkreks

1. До запуска прод.контура тестирование независимыми экспертами. В отчете будет вся необходимая информация которую можно будет изучить и закрыть найденные уязвимости.
2. Если данные можно получать из внешнего источника, тогда нет смысла их хранить в своей базе, получайте данные по запросу пользователя. С подтверждением по одноразовому коду из СМС или генератору.
3. Если данные всё таки хранятся в вашей базе — хранить данные в зашифрованном виде, каждый пользователь должен иметь возможность расшифровать данные только своим ключом.
4. Контроль доступа к этим данным с логирование. Чтобы можно было понять, кто, когда и какие данные получал. В идеале как вы описали с мониторингом всплесков.
5. Постоянно обновлять систему. Если есть вариант написать самописную систему который во фронте будет отдавать только html, чтобы не было возможностей на стороне клиента запускать уязвимости, тогда лучше поступить так.

@Suntechnic

В целом решение кажется правильным с дополнением про «вообще не надо хранить у себя» — это выглядит логично.
А все рассуждения про то что если сайт взломают…
Не взламывают битрикс, если:
1 — Нет простых паролей.
2 — Сам не оставил нигде бэкдоров, в т.ч. restore.php забытый в корне.
3 — Удалил все неиспользуемые модули (привет модуль vote!)
4 — Вовремя обновляешься.
Это 4 простых правила…

@vldmrmlkv

Это всё нужно решать совместно с СБ клиента или своей если есть. Я как-то спрашивал об ответственности за подобные вопросы сотрудников СБ — всё решается согласованными требованиями и регламентами, закупками сертифицированных ПО, проведением аудитов и подписью ГД(своего или клиента) о том, что «провели аудит, получили рекомендации, привели в соответствие с регламентом». на 100% нельзя гарантировать а значит и нести ответственность на 100% тоже не получится.

А технически, как идея, на сайте «хранить» только уведомления о том что анализы готовы, даты и логи. Посмотрите как у инвитро сделано (никакого отношения к ним не имею если что) — у них это вынесено в отдельный сервис с отдельной, насколько я помню, регистрацией. Можно ещё обезличить информацию в БД с анализами в этом сервисе и хранить вместо ФИО какой-нибудь свой ID и мапить их с ФИО клиента только на основном сайте, отдельно от БД с анализами. Ещё такой вариант разделения возможно будет дешевле т.к. не нужно будет весь сайт «приводить в соответствие с регламентом».

@CityCat4

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *