Компания Microsoft вступила на арену безопасности облаков с Azure, платформой служб, с помощью которых организации могут создавать, устанавливать, управлять и распространять приложения, основанные на WEB-технологиях, в локальной сети (частное облако) или в Интернете. Но смогут ли эти приложения и службы предоставить безопасную вычислительную среду? В этой статье мы посмотрим на то, что Microsoft предпринимает для решения насущных проблем с безопасностью облака.
Безопасность: самое большое препятствие на пути распространения облачных служб
Облачные вычисления привлекательны во многих аспектах. Они намного более эффективны с точки зрения затрат, чем локальные службы, так как они уменьшают или ликвидируют нужду в покупке оборудования. Объем их работы легко увеличить или уменьшить в зависимости от нужд компании. Однако вопросы безопасности и надежности вызывают большие сомнения у компаний, когда встает вопрос о переходе на облачные вычисления.
Сама мысль о том, что важные деловые данные просто передаются в неизвестном направлении, заставляет людей нервничать. По своей природе системные администраторы часто помешаны на контроле, и поэтому не испытывают приятных чувств, если не знают, где физически располагаются их данные, зашифрованы ли они и, если да, то каким образом, насколько сильно они смешиваются с данными других клиентов облачного провайдера, и кто имеет к ним доступ.
Azure: Что это такое и как оно работает
Большое число провайдеров сражаются на рынке облаков. Облачные службы платформы от Microsoft под названием Azure стремятся стать основным игроком на этом рынке. В платформу Azure входят:
- Windows Azure (операционная система как служба)
- SQL Azure (база данных облака)
- Службы NET
Эта платформа может использоваться приложениями, запущенными в облаке (ПО как служба) или на локальном компьютере (ПО плюс службы). Сама служба в данный момент находится в стадии Community Technology Preview и планируется к выходу в ноябре 2009. Microsoft много вложила в разработку облака и сейчас строит центры данных в разных точках планеты для поддержки службы. Windows Azure запускается на этих машинах, и к ним можно получить доступ через Интернет. Разработчики могут создавать приложения на VB, C++, C# и т.д., которые можно запускать на платформе Azure. Данные сохраняются службой хранения Azure или, в том случае, если данные необходимо хранить в реляционной базе данных, в базе данных SQL Azure, основанной на SQL Server.
В Windows Azure используются преимущества виртуализации. Обычно каждый экземпляр приложения запускается в отдельной виртуальной машине под Windows Server 2008. ВМ запускаются на гипервизоре, разработанном Microsoft специально для среды приложений для облачных вычислений. Приложения можно разрабатывать либо с помощью экземпляра web role или worker role . Эти экземпляры, реализованные как worker role, работают без IIS на их ВМ и не могут образовывать входящие сетевые соединения. У них могут быть только исходящие соединения, при помощи которых информация отправляется вовне. Экземпляры web role принимают входящие HTTP- или HTTPS-запросы.
Как насчет безопасности?
Волнующая тема – проблемы с безопасностью, возникающие при работе с облачной службой, позволяющей третьесторонним разработчикам создавать приложения и размещать их в облаке Azure. Microsoft создавала платформу Azure, помня о безопасности, и поэтому в ней реализовано множество функций, способствующих безопасности. Важным аспектом обеспечения безопасности данных является проверка сущности тех, кто запрашивает доступ к данным. У Microsoft есть служба контроля доступа .NET Access Control Service, которая работает с web-службами и web-приложениями, чтобы обеспечить интеграцию общих сущностей. Служба будет поддерживать сущности популярных провайдеров.
Приложения определяют, разрешен ли пользователю доступ на основании символов языка Security Assertion Markup Language (SAML), создаваемых службой Security Token Service (STS), и содержат информацию о пользователе. STS обеспечивает цифровую подпись для каждого маркера. У приложений есть списки цифровых сертификатов STS, которой они доверяют. Отношения доверия могут создаваться между доверенной STS и STS, публикующей маркер, чтобы обеспечить идентификационную целостность. Служба Access Control Service является STS, которая управляет облаком. Эта STS проверяет подпись на маркере SAML, отправляемом клиентским приложением (например, web-браузером) и создает и подписывает новый маркер для клиентского приложения, чтобы предоставить его облачному приложению.
Обратите внимание:Если вы хотите подробнее узнать о компонентах Azure и о том, как они работают, а также получить подробное описание службы Access Control Service, обратитесь к следующему документу: ‘Представление платформы Windows Azure ‘
Регулируемая совместимость и безопасность
В качестве провайдера служб Microsoft обязана соответствовать законным требованиям правительственных органов, под юрисдикцию которых подпадает Azure, а также промышленным нормативам, охватывающим многие компании из конкретных отраслей. Модель совместимости Microsoft создана, чтобы решить эту задачу. Безопасность инфраструктуры облака Microsoft регулируется командой Online Services Security and Compliance, которая занимается поддержкой модели контроля за безопасностью и развитием политики и программ, обеспечивающих соответствие и управляющих рисками безопасности.
Облако Microsoft ежегодно подвергается проверкам на соответствие PCI DSS, SOX и HIPAA, также как и внутренним оценкам в течение года. Облако Microsoft получило сертификацию ISO/IEC 27001:2005 и аттестацию SAS 70 Типов 1 и II.
Замечание: ISO/EC 27001:2005 – стандарт, регламентирующий требования по установлению, реализации, оперированию, мониторингу, анонсированию, поддержке и улучшению документированной системы Information Security Management System. Подробнее об этом можно узнать здесь.
Замечание #2:Statement on Auditing Standards (SAS – Положение об Аудите Стандартов) 70 – это стандарт по аудиту, разработанный в Американском Институте Дипломированных Общественных Бухгалтеров (American Institute of Certified Public Accountants), предлагающий руководство независимым аудиторам по публикации мнения о раскрытии службой или организацией его контроля над деятельностью и процессами. Подробнее об этом здесь.
Безопасность в облаке Microsoft
Подход Microsoft к безопасности в облачной среде основывается на документе Securing Microsoft's Cloud Infrastructure. (Обеспечение безопасности инфраструктуры облака Microsoft)
Замечание:Если вы хотите подробнее почитать о подходе Microsoft к безопасности в облаке, щелкните здесь.
Подводя итоги: компания применяет механизмы безопасности на разных уровня облачной инфраструктуры, чтобы реализовать информационную защиту на глубоком уровне. Эти разноуровневые механизмы включают в себя:
- Физическая безопасность центров данных (замки, камеры, биометрические устройства, кард-ридеры, сигнализация)
- Брандмауэры, шлюзы приложений и IDS для защиты сети
- Access Control Lists (ACL – списки контроля доступа), применяемые к виртуальным локальным сетям (VLAN) и приложениям
- Аутентификация и авторизация людей и процессов, запрашивающих доступ к данным
- Укрепление защиты серверов и операционных систем
- Избыточная инфраструктура внутренних и внешних DNS с ограниченным правом на запись
- Обеспечение безопасности объектов виртуальных машин
- Обеспечение безопасности статических и динамических устройств хранения
Все ресурсы компании делятся на категории по уровням требуемой информационной безопасности, основываясь на потенциальных масштабах ущерба. Высокоценные активы защищаются более строго, например, с помощью многофакторной аутентификации (смарт-карты, биометрия, аппаратные маркеры). Также реализуется принцип наименьших привилегий, когда людям и процессам предоставляется наименьший необходимый им для выполнения своей работы уровень доступа, и не более того.
Команды онлайн-служб Microsoft применяют принципы цикла разработки безопасного программного обеспечения - Security Development Lifecycle (SDL) (безопасность при конструировании, безопасность по умолчанию и безопасность при установке и взаимодействии) к онлайн-службам. Подробнее об SDL и принципах SD3+C можно прочитать по этой ссылке.
Windows Azure устанавливается в центрах данных Global Foundation Services и, следовательно, пользуется преимуществами сетевой безопасности, обеспечиваемыми GFS. Обеспечение безопасности данных приложения на уровне приложения находится под ответственностью разработчиков приложения. Таким образом, именно разработчик приложения определяет, должны ли шифроваться данные.
Обеспечение безопасности в SQL Azure больше похоже на обеспечение безопасности обычного сервера SQL Server, поэтому администраторам SQL будет несложно перейти к управлению на уровне баз данных. Администрирование на уровне сервера немного отличается из-за того, что базы данных могут охватывать более одной физической системы.
Замечание: Узнать подробнее об управлении информационной безопасностью в SQL Azure можно на web-сайте MSDN.
Создание защищенных приложений на платформе Azure
Разработчики могут найти практические примеры создания защищенных приложений для запуска на платформе Azure в базе знаний Azure Security Knowledge Base здесь.
Семинар-тренинг для разработчиков по модели безопасности SQL Azure Security Model будет открыт 30 ноября, см. здесь!