Защита данных в облаке: гайд для разработчиков
Платформа Azure была разработана для обеспечения безопасности и соответствия всем требованиям разработчиков. Узнайте, как использовать встроенные службы для безопасного хранения данных приложения, чтобы доступ к этим данным получали только авторизованные службы и клиенты.
Введение
Безопасность является одним из наиболее важных аспектов любой архитектуры. Защита бизнес-данных и данных клиентов имеет критически важное значение. Утечка данных может погубить репутацию компании и нанести существенный финансовый ущерб. В этом модуле мы обсудим основные вопросы безопасности архитектуры при разработке среды в облаке.
Изучая разработку облачных решений, приоритетом для которых является безопасность, мы увидим, как один вымышленный пользователь Azure использует эти принципы на практике.
Lamna Healthcare — национальный поставщик медицинских услуг. Его ИТ-отдел недавно начал перемещать большинство ИТ-систем в Azure. В организации используются собственные приложения, приложения с открытым кодом и стандартные приложения с различными архитектурами и технологическими платформами. Мы узнаем, что нужно сделать, чтобы перенести системы и данные в облако без ущерба безопасности.
Примечание
Хотя концепции, обсуждаемые в этом модуле, не являются исчерпывающими, они включают некоторые важные понятия, связанные с созданием решений в облаке. Корпорация Майкрософт публикует широкий набор шаблонов, руководств и примеров по разработке приложений на платформе Azure. Настоятельно рекомендуется просматривать содержимое в Центре архитектуры Azure перед началом планирования и проектирования архитектуры.
Цели обучения
В этом модуле вы узнаете, как выполнять следующие задачи:
- Узнайте, как использовать глубинную защиту, чтобы обеспечить безопасность вашей архитектуры.
- Узнайте, как защитить удостоверения.
- Узнайте, какие технологии доступны для защиты инфраструктуры Azure.
- Узнайте, как и где использовать шифрование для защиты данных.
- Узнайте, как защитить архитектуры на уровне сети.
- Узнайте, как использовать рекомендации по обеспечению безопасности приложений для интеграции мер безопасности в приложении.
Глубинная защита
Не существует панацеи от всех угроз и одного решения для всех проблем. Предположим, что в компании Lamna Healthcare вопрос безопасности выпал из поля зрения. Стало ясно, что этой области следует уделить основное внимание. Сотрудники Lamna не знают, с чего начать, и можно ли просто купить решение для обеспечения безопасности среды. Они уверены, что им требуется целостный подход, но не в курсе, что именно он собой представляет. Здесь мы подробно обсудим ключевые понятия глубинной защиты, определим основные технологии безопасности и подходы для поддержки стратегии глубиной защиты, а также поговорим о том, как применять эти концепции при разработке архитектуры служб Azure.
Многоуровневый подход к безопасности
Глубинная защита — это стратегия, которая использует ряд механизмов для замедления атаки, направленной на получение несанкционированного доступа к информации. Каждый уровень обеспечивает защиту, поэтому если злоумышленник преодолеет один уровень, следующий уровень помешает дальнейшему проникновению. Корпорация Майкрософт применяет многоуровневый подход к безопасности как в физических центрах обработки данных, так и в службах Azure. Цель глубинной защиты — обеспечение безопасности информации и предотвращение кражи данных лицами, у которых нет разрешения на доступ к ним. Общие принципы, которые используются для определения состояния безопасности, — конфиденциальность, целостность и доступность, известные под общим названием CIA (confidentiality, integrity, availability).
- Конфиденциальность — принцип минимальных привилегий. Доступ к информации имеют только лица, которым явно предоставлено разрешение. Эта информация включает защиту паролей пользователей, сертификаты удаленного доступа и содержимое сообщений электронной почты.
- Целостность — предотвращение несанкционированного изменения неактивных или передаваемых данных. Общий подход, используемый при передаче данных, заключается в том, что для отправителя создается уникальный отпечаток данных с использованием одностороннего хэш-алгоритма. Хэш отправляется получателю вместе с данными. Хэш данных повторно рассчитывается и сравнивается получателем с оригиналом, чтобы данные не потерялись и не подверглись изменениям в процессе передачи.
- Доступность — обеспечение доступности служб для авторизованных пользователей. Атаки типа «отказ в обслуживании» являются наиболее распространенной причиной потери доступности для пользователей. Кроме того, на случай стихийных бедствий системы проектируют таким образом, чтобы избежать одной точки сбоя и развернуть несколько экземпляров приложения в географически удаленных друг от друга местах.
Уровни безопасности
Глубинную защиту можно представить в виде нескольких концентрических колец, в центре которых находятся данные. Каждое кольцо добавляет дополнительный уровень безопасности вокруг данных. Этот подход устраняет зависимость от одного уровня защиты, замедляет атаку и предоставляет оповещения с телеметрическими данными, чтобы вы могли принять меры — вручную или автоматически. Давайте рассмотрим каждый из уровней.
Данные
Практически всегда злоумышленники охотятся за данными:
- которые хранятся в базе данных;
- которые хранятся на диске на виртуальных машинах;
- которые хранятся в приложении SaaS, таком как Office 365;
- которые хранятся в облачном хранилище.
Лица, ответственные за хранение данных и управление доступом к ним, обязаны обеспечить надлежащую защиту. Часто нормативные требования предписывают определенные меры контроля и процедуры для обеспечения конфиденциальности, целостности и доступности данных.
Приложения
- Убедитесь, что приложения защищены и не имеют уязвимостей
- Храните конфиденциальные секреты приложений на защищенном носителе
- Сделайте безопасность требованием к разработке всех приложений
Если интегрировать безопасность в жизненный цикл разработки приложения, можно сократить число уязвимостей в коде. Порекомендуйте всем группам разработчиков обеспечить безопасность приложений по умолчанию. Требования безопасности должны быть непреложными.
Службы вычислений
- Защитите доступ к виртуальным машинам
- Внедрите защиту конечных точек и своевременно устанавливайте все исправления
Вредоносные программы, отсутствие исправлений и ненадлежащая защита систем делают вашу среду уязвимой для атак. Этот уровень нацелен на обеспечение безопасности ваших вычислительных ресурсов, и у вас есть надлежащие элементы управления для минимизации проблем безопасности.
Сеть
- Ограничьте взаимодействие между ресурсами через средства управления сегментации и доступа
- Настройте запрет по умолчанию
- Ограничьте входящий интернет-трафик и исходящий, где это возможно
- Реализуйте безопасное подключение к локальным сетям
Цель этого уровня — ограничить сетевые подключения в ресурсах и использовать только самые необходимые соединения. Разделите ресурсы и используйте средства управления сетевого уровня для ограничения обмена данными только между необходимыми компонентами. Ограничивая обмен данными, вы снижаете риски перемещения по компьютерам в вашей сети.
Периметр
- Используйте защиту от распределенных атак типа «отказ в обслуживании» (DDoS) для фильтрации крупномасштабных атак, прежде чем они приведут к отказу в обслуживании для конечных пользователей
- Используйте брандмауэры по периметру, чтобы обнаруживать атаки на сеть и получать о них оповещения
По периметру сети необходима защита от сетевых атак на ресурсы. Выявление таких атак, устранение их воздействия и оповещение о них — это важные элементы обеспечения безопасности сети.
Политики и доступ
- Управляйте доступом к инфраструктуре, управляйте изменениями
- Используйте единый вход и многофакторную проверку подлинности
- Проверяйте события и изменения
Уровень политик и доступа направлен на обеспечение безопасности удостоверений, контроль предоставления доступа только лицам, которым он необходим, а также на регистрацию изменений.
Физическая безопасность
- Обеспечение физической безопасности зданий и контроль доступа к вычислительному оборудованию в центре обработки данных — это первая линия обороны.
Физическая безопасность предусматривает меры по ограничению физического доступа к ресурсам. Она гарантирует, что злоумышленники не преодолеют остальные уровни, и защищает данные от потери и кражи.
Каждый слой может реализовывать одну или несколько задач по модели «Конфиденциальность, целостность и доступ».
Совместная ответственность
Вычислительные среды перемещаются из центров обработки данных, управляемых клиентом, в облачные центры обработки данных, и вместе с ними смещается ответственность. Теперь обеспечение безопасности — это совместная обязанность поставщиков облачных служб и клиентов.
Постоянное совершенствование
Картина угроз меняется в режиме реального времени и в больших масштабах, поэтому архитектура безопасности никогда не бывает совершенной. Корпорации Майкрософт и нашим клиентам нужна возможность реагировать на эти угрозы умно, быстро и на должном уровне.
Центр безопасности Azure предоставляет клиентам возможности унифицированного управления безопасностью и расширенную защиту от угроз для распознавания и реагирования на события безопасности в локальной среде и в Azure. В свою очередь, клиенты Azure должны постоянно пересматривать и развивать свою архитектуру безопасности.
Глубинная защита в Lamna Healthcare
Lamna Healthcare активно занялась внедрением глубинной защиты во всех ИТ-отделах. Так как организация отвечает за большие объемы конфиденциальных медицинских данных, она понимает, что лучшим вариантом станет комплексный подход.
Для защиты корпоративных данных в компании создана виртуальная рабочая группа, состоящая из представителей каждого ИТ-отдела и отдела безопасности. Задача группы — ознакомить инженеров и архитекторов с уязвимостями и методами их устранения, а также обеспечить информационную поддержку по работе с проектами в организации.
Естественно, эта работа никогда не будет сделана до конца. Поэтому, поддерживать требуемый уровень защиты, в компании запланирован регулярный пересмотр политик, процедур, технических аспектов и архитектуры в постоянном поиске способов повышения безопасности.
Итоги
Мы рассмотрели, что такое глубинная защита, какие уровни она имеет и какова задача каждого уровня. Такая стратегия обеспечения безопасности в архитектуре гарантирует комплексный подход к защите всей среды, а не отдельного уровня или технологии.
Дальнейшие части
Чтобы пройти это бесплатное обучение полностью, переходите по ссылке. Там вы найдете эти части:
- Введение
- Глубинная защита
- Управление удостоверениями
- Защита инфраструктуры
- Шифрование
- Безопасность сети
- Итоги
- Пять основных элементов безопасности, которые следует учесть перед внедрением
- Управление секретами в серверных приложениях с помощью Azure Key Vault
- Защита ресурсов Azure с помощью условного доступа