Контроль и аудит безопасности в облаке

Завершено

При запуске приложения в облаке разные аспекты безопасности должны контролироваться разными сущностями. Например, на следующем рисунке (из Azure) показано разделение обязанностей по обеспечению безопасности между поставщиком и клиентом.

Security responsibilities in Azure between provider and customer.

Рис. 13. Обязанности по безопасности в Azure (источник)

Для многих классов приложений требуются разные сертификаты инфраструктуры, процессов и безопасности. Большинство поставщиков облачных служб соответствуют большинству распространенных сертификатов и требований аудита, действующих в США и Европе.

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

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

Домен Обязанности поставщика облачных служб Обязанности клиента
Управление удостоверениями и доступом Поставщик облачных служб должен предоставлять клиентам сведения о том, кто использует эту службу. Для этого необходимо:
  • предоставлять и поддерживать службы проверки подлинности (чтобы пользователи не могли получить доступ к ресурсам без явных привилегий);
  • создать службу, которая позволяет настраивать политику управления учетными записями (чтобы клиенты могли добавлять и удалять пользователей и роли);
  • предпринимать меры защиты от внутренних злоумышленников (мониторинг сотрудников, ограничение доступа к уязвимым зонам серверов).
Используя службу проверки подлинности и контроля доступа, предоставляемую поставщиком облачных служб, клиенты должны:
  • определять роли, группы и разрешения;
  • создавать и распространять учетные данные;
  • использовать возможность ведения журнала управления доступом (у клиента будет журнал всех конфиденциальных событий пользователя);
  • при необходимости использовать многофакторную проверку подлинности.
Доступность и отказоустойчивость Чтобы обеспечить устойчивость облака к сбоям, поставщики облачных служб должны иметь:
  • резервные копии на магнитных лентах и избыточность вычислительных систем и систем хранения;
  • географически распределенные центры обработки данных.
Клиент должен использовать избыточность, предоставляемую поставщиком облачных служб, следующим образом:
  • добавить дополнительные варианты подключения ко всем конечным точкам;
  • использовать резервное копирование на уровне приложения и моментальные снимки состояния экземпляров и хранилища (моментальный снимок экземпляра виртуальной машины или базы данных хранит ее состояние в определенный момент времени, позволяя выполнять восстановление из этой точки).
Управление исправлениями и конфигурацией
  • Обеспечение "песочницы" для арендаторов с помощью гипервизоров и наложения сетей. (Это будет объяснено далее.)
  • Регулярная оценка уязвимостей и проведение тестов систем в исходном состоянии, гипервизоров и сетей на проникновение (когда внутренняя или внешняя группа "хакеров" систематически пытается проникнуть в систему).
  • Установка последних обновлений систем безопасности для ОС и образов компьютеров.
  • Использование соответствующих ролей пользователей с минимально необходимыми привилегиями для каждого приложения. (Например, при запуске веб-сервера в облаке убедитесь, что он не имеет доступа ни к ключам инфраструктуры, ни к локальной корневой папке. Таким образом, даже в случае взлома веб-сайта остальная часть приложения будет изолирована.)
  • Ограничение трафика в экземпляры с помощью брандмауэров и виртуальных частных облаков, а также сегментирование сети на зоны (для блокирования всего сетевого трафика из ненадежных источников).
Мониторинг и обнаружение Проверка, не используются ли ресурсы клиента (преднамеренно или непреднамеренно) для противоправных действий, и принятие соответствующих мер в случае обнаружения таких действий.
  • Установка систем обнаружения вторжений и защиты от вредоносных программ на основе узла. (Эти системы обнаруживают любое неправильное использование вашей облачной сети или узлов.)
  • Определение предупреждений и стратегий реагирования на инциденты и бреши в системе безопасности. (Будьте готовы к атакам и автоматизируйте протокол восстановления и ведения журнала.)
Защита данных
  • Контроль доступа к данным между клиентами и меры защиты конфиденциальности. (Как описано на предыдущей странице, обеспечьте изолированность клиентов в одной и той же физической инфраструктуре.)
  • Проверка целостности данных и восстановление из резервных хранилищ данных. (При хранении данных в нескольких репликах убедитесь в их согласованности и точности.)
  • Использование безопасных протоколов (таких как SSL/TLS и IPsec) для передачи данных. (Это обеспечит невозможность чтения сетевого трафика.)
  • Шифрование неактивных данных. (Шифруйте все данные, которые хранятся в облаке, чтобы даже недобросовестный сотрудник поставщика облачных служб не смог раскрыть эту информацию.)
Защита криптографических объектов
  • Поддержка шифрования данных во всех предоставляемых хранилищах, файловых системах и базах данных. (Например, в средах Windows могут быть разрешены реализации BitLocker.)
  • Безопасное управление учетной записью клиента и учетными данными для доступа.
  • Создание и распространение ключей доступа (для интерфейсов поставщика облачных служб), а также удаленного подключения (например, SSH, VNC, RDP).
  • Недопущение хранения ключей в облаке (там, где это возможно), чтобы ключ не находился в том же месте, что и данные.

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

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

Ссылки

  1. Mather, Tim et. al. (2009). Cloud security and privacy: an enterprise perspective on risks and compliance. O'Reilly Media
  2. Pucher, Alex et. al. (2012). A Survey on Cloud Provider Security Measures. University of California Santa Barbara

Проверьте свои знания

1.

При установке Wireshark на виртуальной машине какие пакеты вы сможете прослушивать?

2.

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

3.

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

4.

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

5.

Облачный брандмауэр находится на уровне гипервизора, между физическим сетевым интерфейсом и виртуальным интерфейсом экземпляра. Все пакеты должны проходить через этот уровень; таким образом, соседи экземпляра имеют к нему не больше доступа, чем любой другой узел в Интернете, и можно считать, что они находятся на отдельных физических узлах. Их можно настроить как группы безопасности. В чем заключается один недостаток этого метода?

6.

Гомоморфное шифрование — это особая форма шифрования, позволяющая выполнять вычисления с зашифрованными данными. Например, если Bing использует гомоморфное шифрование, он получит зашифрованную версию вашего поискового запроса, найдет совпадения, не просматривая его, и вернет зашифрованную версию результатов. Ваши данные никогда не будут раскрыты. Последние исследования Крейга Джентри в Стэнфорде продемонстрировали практический способ создания схемы шифрования, позволяющей выполнять сложение и умножение. Почему это не используется широко?

7.

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