Защита данных в облаке: гайд для разработчиков

Платформа Azure была разработана для обеспечения безопасности и соответствия всем требованиям разработчиков. Узнайте, как использовать встроенные службы для безопасного хранения данных приложения, чтобы доступ к этим данным получали только авторизованные службы и клиенты.

pvhiztojgqrs7jxbu0jbhicf7_4.jpeg

Введение


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

Изучая разработку облачных решений, приоритетом для которых является безопасность, мы увидим, как один вымышленный пользователь Azure использует эти принципы на практике.

Lamna Healthcare — национальный поставщик медицинских услуг. Его ИТ-отдел недавно начал перемещать большинство ИТ-систем в Azure. В организации используются собственные приложения, приложения с открытым кодом и стандартные приложения с различными архитектурами и технологическими платформами. Мы узнаем, что нужно сделать, чтобы перенести системы и данные в облако без ущерба безопасности.

Примечание

Хотя концепции, обсуждаемые в этом модуле, не являются исчерпывающими, они включают некоторые важные понятия, связанные с созданием решений в облаке. Корпорация Майкрософт публикует широкий набор шаблонов, руководств и примеров по разработке приложений на платформе Azure. Настоятельно рекомендуется просматривать содержимое в Центре архитектуры Azure перед началом планирования и проектирования архитектуры.


Цели обучения


В этом модуле вы узнаете, как выполнять следующие задачи:

  • Узнайте, как использовать глубинную защиту, чтобы обеспечить безопасность вашей архитектуры.
  • Узнайте, как защитить удостоверения.
  • Узнайте, какие технологии доступны для защиты инфраструктуры Azure.
  • Узнайте, как и где использовать шифрование для защиты данных.
  • Узнайте, как защитить архитектуры на уровне сети.
  • Узнайте, как использовать рекомендации по обеспечению безопасности приложений для интеграции мер безопасности в приложении.


Глубинная защита


Не существует панацеи от всех угроз и одного решения для всех проблем. Предположим, что в компании Lamna Healthcare вопрос безопасности выпал из поля зрения. Стало ясно, что этой области следует уделить основное внимание. Сотрудники Lamna не знают, с чего начать, и можно ли просто купить решение для обеспечения безопасности среды. Они уверены, что им требуется целостный подход, но не в курсе, что именно он собой представляет. Здесь мы подробно обсудим ключевые понятия глубинной защиты, определим основные технологии безопасности и подходы для поддержки стратегии глубиной защиты, а также поговорим о том, как применять эти концепции при разработке архитектуры служб Azure.

Многоуровневый подход к безопасности


Глубинная защита — это стратегия, которая использует ряд механизмов для замедления атаки, направленной на получение несанкционированного доступа к информации. Каждый уровень обеспечивает защиту, поэтому если злоумышленник преодолеет один уровень, следующий уровень помешает дальнейшему проникновению. Корпорация Майкрософт применяет многоуровневый подход к безопасности как в физических центрах обработки данных, так и в службах Azure. Цель глубинной защиты — обеспечение безопасности информации и предотвращение кражи данных лицами, у которых нет разрешения на доступ к ним. Общие принципы, которые используются для определения состояния безопасности, — конфиденциальность, целостность и доступность, известные под общим названием CIA (confidentiality, integrity, availability).

  • Конфиденциальность — принцип минимальных привилегий. Доступ к информации имеют только лица, которым явно предоставлено разрешение. Эта информация включает защиту паролей пользователей, сертификаты удаленного доступа и содержимое сообщений электронной почты.
  • Целостность — предотвращение несанкционированного изменения неактивных или передаваемых данных. Общий подход, используемый при передаче данных, заключается в том, что для отправителя создается уникальный отпечаток данных с использованием одностороннего хэш-алгоритма. Хэш отправляется получателю вместе с данными. Хэш данных повторно рассчитывается и сравнивается получателем с оригиналом, чтобы данные не потерялись и не подверглись изменениям в процессе передачи.
  • Доступность — обеспечение доступности служб для авторизованных пользователей. Атаки типа «отказ в обслуживании» являются наиболее распространенной причиной потери доступности для пользователей. Кроме того, на случай стихийных бедствий системы проектируют таким образом, чтобы избежать одной точки сбоя и развернуть несколько экземпляров приложения в географически удаленных друг от друга местах.


Уровни безопасности


Глубинную защиту можно представить в виде нескольких концентрических колец, в центре которых находятся данные. Каждое кольцо добавляет дополнительный уровень безопасности вокруг данных. Этот подход устраняет зависимость от одного уровня защиты, замедляет атаку и предоставляет оповещения с телеметрическими данными, чтобы вы могли принять меры — вручную или автоматически. Давайте рассмотрим каждый из уровней.

eg65kobolm-m8br29jm3owifudc.png

Данные


Практически всегда злоумышленники охотятся за данными:

  • которые хранятся в базе данных;
  • которые хранятся на диске на виртуальных машинах;
  • которые хранятся в приложении SaaS, таком как Office 365;
  • которые хранятся в облачном хранилище.


Лица, ответственные за хранение данных и управление доступом к ним, обязаны обеспечить надлежащую защиту. Часто нормативные требования предписывают определенные меры контроля и процедуры для обеспечения конфиденциальности, целостности и доступности данных.

Приложения


  • Убедитесь, что приложения защищены и не имеют уязвимостей
  • Храните конфиденциальные секреты приложений на защищенном носителе
  • Сделайте безопасность требованием к разработке всех приложений


Если интегрировать безопасность в жизненный цикл разработки приложения, можно сократить число уязвимостей в коде. Порекомендуйте всем группам разработчиков обеспечить безопасность приложений по умолчанию. Требования безопасности должны быть непреложными.

Службы вычислений


  • Защитите доступ к виртуальным машинам
  • Внедрите защиту конечных точек и своевременно устанавливайте все исправления


Вредоносные программы, отсутствие исправлений и ненадлежащая защита систем делают вашу среду уязвимой для атак. Этот уровень нацелен на обеспечение безопасности ваших вычислительных ресурсов, и у вас есть надлежащие элементы управления для минимизации проблем безопасности.

Сеть


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


Цель этого уровня — ограничить сетевые подключения в ресурсах и использовать только самые необходимые соединения. Разделите ресурсы и используйте средства управления сетевого уровня для ограничения обмена данными только между необходимыми компонентами. Ограничивая обмен данными, вы снижаете риски перемещения по компьютерам в вашей сети.

Периметр


  • Используйте защиту от распределенных атак типа «отказ в обслуживании» (DDoS) для фильтрации крупномасштабных атак, прежде чем они приведут к отказу в обслуживании для конечных пользователей
  • Используйте брандмауэры по периметру, чтобы обнаруживать атаки на сеть и получать о них оповещения


По периметру сети необходима защита от сетевых атак на ресурсы. Выявление таких атак, устранение их воздействия и оповещение о них — это важные элементы обеспечения безопасности сети.

Политики и доступ


  • Управляйте доступом к инфраструктуре, управляйте изменениями
  • Используйте единый вход и многофакторную проверку подлинности
  • Проверяйте события и изменения


Уровень политик и доступа направлен на обеспечение безопасности удостоверений, контроль предоставления доступа только лицам, которым он необходим, а также на регистрацию изменений.

Физическая безопасность


  • Обеспечение физической безопасности зданий и контроль доступа к вычислительному оборудованию в центре обработки данных — это первая линия обороны.


Физическая безопасность предусматривает меры по ограничению физического доступа к ресурсам. Она гарантирует, что злоумышленники не преодолеют остальные уровни, и защищает данные от потери и кражи.

Каждый слой может реализовывать одну или несколько задач по модели «Конфиденциальность, целостность и доступ».

4h2vcrqaceq3-i-lbjmuwilobs0.png

Совместная ответственность


Вычислительные среды перемещаются из центров обработки данных, управляемых клиентом, в облачные центры обработки данных, и вместе с ними смещается ответственность. Теперь обеспечение безопасности — это совместная обязанность поставщиков облачных служб и клиентов.

c-u8xeovtm5oxmht_ig8c9tjlck.png

Постоянное совершенствование


Картина угроз меняется в режиме реального времени и в больших масштабах, поэтому архитектура безопасности никогда не бывает совершенной. Корпорации Майкрософт и нашим клиентам нужна возможность реагировать на эти угрозы умно, быстро и на должном уровне.

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

Глубинная защита в Lamna Healthcare


Lamna Healthcare активно занялась внедрением глубинной защиты во всех ИТ-отделах. Так как организация отвечает за большие объемы конфиденциальных медицинских данных, она понимает, что лучшим вариантом станет комплексный подход.

Для защиты корпоративных данных в компании создана виртуальная рабочая группа, состоящая из представителей каждого ИТ-отдела и отдела безопасности. Задача группы — ознакомить инженеров и архитекторов с уязвимостями и методами их устранения, а также обеспечить информационную поддержку по работе с проектами в организации.

Естественно, эта работа никогда не будет сделана до конца. Поэтому, поддерживать требуемый уровень защиты, в компании запланирован регулярный пересмотр политик, процедур, технических аспектов и архитектуры в постоянном поиске способов повышения безопасности.

Итоги


Мы рассмотрели, что такое глубинная защита, какие уровни она имеет и какова задача каждого уровня. Такая стратегия обеспечения безопасности в архитектуре гарантирует комплексный подход к защите всей среды, а не отдельного уровня или технологии.

Дальнейшие части


Чтобы пройти это бесплатное обучение полностью, переходите по ссылке. Там вы найдете эти части:

  • Введение
  • Глубинная защита
  • Управление удостоверениями
  • Защита инфраструктуры
  • Шифрование
  • Безопасность сети
  • Итоги
  • Пять основных элементов безопасности, которые следует учесть перед внедрением
  • Управление секретами в серверных приложениях с помощью Azure Key Vault
  • Защита ресурсов Azure с помощью условного доступа

© Habrahabr.ru