Обеспечение безопасности
Защита канала коммуникаций
Интеграция с back-end (BE) системами
Защита Интернет-приложений
Использование существующих учетных данных в облаке
Защита уязвимых данных в облаке
1. Безопасность в Windows Azure
Ефимцева Наталия
Эксперт по стратегическим технологиям
natale@microsoft.com
2. Кто отвечает за безопасность?
• Дата-центр - Microsoft
• Платформа - Microsoft
• Приложениесистема –вы
• Часть угроз отслеживается и устраняется
самой Windows Azure; но безопасность –
это так же и ответственность
разработчика
4. Изоляция сетей
• Сетевая инфраструктура Azure состоит трех VLAN:
– Основной VLAN - объединяет узлы подписчиков без доверия
– VLAN FC - содержит доверенные узлы FC и вспомогательных систем
– VLAN устройств – доверенная сеть и другие устройства
инфраструктуры
7. Безопасность доступа из кода в Windows
Azure
Выполнение
неуправляемог
о кода
Запрещено
Выполнение
без Переменные
администрати среды
вного доступа
Ограничено
Доступ к
файловой P/Invoke
системе
Запрещено
Ограничено
Доступ к
реестру
Запрещено
8. Основные вопросы клиентов
Перемещение данных в Сложность решения
облако Управление и защита в
Конфиденциальность и гибридных сценариях
приватность данных
Доверие облачному Доступность приложения
провайдеру или сервиса через Интернет
Это даже не вопрос SLA, Возможность внешней атаки
безопасности или на систему
сертификации
9. Обеспечение безопасности
Защита канала Интеграция с Защита
коммуникаций back-end (BE) Интернет-
системами приложений
Использование Защита
существующих уязвимых
учетных данных данных в
в облаке облаке
10. Защита канала коммуникаций: сценарий
• Интернет — это механизм транспорта
между клиентами, облаком, BE системами
• Защита канала пользователь-облако
– Использование SSL/TLS
• Защита канала локальная
инфраструктура-облако (сложнее)
– Подходы и стандарты в процессе
становления
12. Интеграция с back-end (BE) системами:
вопросы
• BE системы обычно не доступны из вне
• BE обычно соединены с другими BE системами или с FE
системам: Что произойдет, если облачное приложение
или сервис станет частью процесса взаимодействия
• Топология сети обычно уже сформирована
• BE системы бывают разными (не только Microsoft
продуктами)
14. Интеграция с back-end (BE) системами:
подход
• Новый локальной интеграционный слой на стороне
клиента
• Обращение к BE системам с помощью стандартных XML
Web сервисов (SOAP/REST)
• Кастомный сервис маркеров (билетов) Кербероса для
управления доступом и проверки подлинности
• Обязательно реализация защиты данных в процессе
передачи
• Управление доступом и проверка подлинности
(аутентификация, авторизация, аудит) на каждой
стороны
• Регулярная проверка доступности интернет
ресурсов, участвующих в интеграции
16. Интеграция с back-end (BE) системами:
выводы
• Вовлечении облака требует пере смотрения традиционных
подходов к сетевой безопасности (например, ДМЗ)
• Минимизируйте возможности для атаки (attack surface)
• Не забывайте о IDS/IPS и SIEM утилитах (и процессах) для
того, чтобы обнаружить и заблокировать подозрительный
трафик или DDOS атаки на стороне клиента
• Используйте файрвол на уровне веб-приложения (Web
Application Firewall) для анализа и валидации входящего
трафика и данных для того, чтобы закрывать подозрительные
соединения
17. Защита Интернет-приложений: вопросы
• Не забывайте, что теперь и облачные, и локальные
компоненты доступны из вне (через Интернет)
• Уровень приложения – это последняя граница
безопасности
– Если с приложением что-то не так, то и сервис и данные
могут быть скомпрометированы
• Windows Azure берет часть задач по обеспечению
безопасности на себя, но для нас так же остаются задачи
18. Защита Интернет-приложений: DDOS
атаки
• Неотъемлемая часть Интернет систем
• С Windows Azure в меньшей степени является поводом
для беспокойства
– Microsoft имеет защиту ЦОДов на инфраструктурном уровне
(GFS процессы)
– Не беспокойтесь о повышении стоимости ресурсов
• Больше внимание следует уделить атакам на локальные
компоненты
– Обычно более слабые точки с точки зрения
инфраструктуры и процессов
– Потенциально может скопрометировать все решение
19. DDOS атаки: подход
• Локальный репозиторий в облаке и асинхронная
передача уменьшить зависимость от локальной системы
• Минимизируйте возможности для атаки (attack surface)
– Аутентификация для всех входных точек
– IP-фильтрация: ограничение входящего трафика для
Windows Azure диапазона
– Регулярная оценка уязвимостей и проверка кода
• Протоколирование действий и мониторинг всех
компонентов приложения
20. Использование существующих учетных
данных в облаке: вопросы
• Идентификационная информация является одной из самых важных
– Нет желания переносить эти данные в облако
– В некоторых случаях есть юридические ограничения
• Требование заказчика: использовать существующие системы
аутентификации и авторизации и в облаке
• Не только каталоги Microsoft
– Novell, Oracle/Sun, IBM
• Отсутствие поддержки протокола SAML 2.0 (SAML-P) в Windows Azure
– Только SAML 2.0 формат маркера поддерживается
21. Использование существующих учетных
данных в облаке: подход
• Идентификационные данных в локальной
IdM
.NET бизнес
приложение
Интернет
Oracle бизнес
приложение Веб-
приложение
J2EE бизнес
приложение
22. Использование существующих учетных
данных в облаке: пример
2. Запрос к ACS 4. Аутентификация пользователя в SAT IdP
З. Перенаправление к SAT
Windows Idp
Azure ACS 6. Перенаправление Novell Access
обратно кACS Manager
8. ACS 7. Маркер
валидирует IdP отправляется ACS
маркер, создает 5. Создается
ACS маркер маркер с Novell Cloud
9. Маркер отправляется заявками Security Services
приложению
1. Запрос к приложению,
перенаправление к ACS Novell eDirectory
Приложение Проверка подлинности
осуществляется через SAT
Novell Cloud Security федерированный
10. Пользователю разрешен Service, сервис
доступ
взаимодействующий с
Novell eDirectory
24. Использование существующих учетных
данных в облаке: выводы
• Используйте индустриальный стандарты для федерации
между облаком и провайдерами учетных данных (IdP)
• Ориентируйтесь на создание приложений, использующих
утверждения (claim aware)
– Используйте WIF
– Разделяйте бизнес-модули и модули AuthNAuthZ
• Используйте Windows Azure ACS как брокер для облачных
приложений
• Используйте WS-Federation пока ACS не поддерживает SAML-P
25. Гибридное решение - Пряники
SQL Azure Data Sync,
Windows Azure Service Bus
Sync Framework/WCF
Web Worker SQL
Azure
Forms WIF
ADFS Proxy SharePoint Пряники
On-
premise
Active Active
Web Clients
Directory Directory
26. Сервис Пряники – аутентификация
1. User запрашивает страницу SharePoint, на которой есть WebParts, представляющие собой
обычные iFrame.
2. WebParts пробуют начать загруать содерджимое с Azure
3. в этот момент Azure возвращает Redirect на ADFS или ADFS Proxy для аутентификации
4. Пользователь вводит учетные данные или аутентифицируется автоматически (для зоны Intranet) -
его вместе с токеном передают обратно в Azure
Плюсы - простая реализация
Минуcы - редирект пользователя, невозмодность закешировать данные на стороне клиента
Azure
ADFS
Proxy 4 2
SharePoint
3
1
USER Pryaniky
Active
(iFrame)
Directory
27. Сервис Пряники – аутентификация
WСF +ADFS: позволяет аутентифицировать пользователей из домена в облачном сервисе без
активного участия пользователей
1. Пользователь получает страницу SharePoint
2. При генерации страницы вызывается WCF/WIF компонена которая делает запрос к Azure
3. В процессе установки защищенного соединения и аутентификации пользователя на сервисе требуется
токен, который получается WCF-клиентом от ADFS или ADFS-Proxy
4. В результате после аутентификации клиента WebParts получает необходинмые данные для
отображения
Данный подход позволяет не только кешировать данные, но и сохранить полученный токен для
аутентификации в последующих запросах
Azure
4 2
ADFS
Proxy 3
WCF с SharePoint
WIF
USER 1
Active Pryaniky
Directory
29. Защита данных в облаке: вопросы
• Облачный провайдер имеет неограниченный
доступ к хранящимся данным (неизменный
закон безопасности # 3)
• Как снизить риск злоупотребления данными,
хранящимися в облаке
• Шифрование данных в процессе передачи и
хранения
30. Защита данных в облаке: шифрования
• На данный момент нет OOB поддержки шифрования для хранилища или базы
данных
• Данные хранятся в хранилище в открытом виде
• SQL Database (SQL Azure) на данный момент не поддерживает Transparent Data
Encryption
• На данный момент нет поддержки Data Protection API (DPAPI) для хранения
секретовключей в хранилище Windows Azure
• Подходы к шифрованию
– Windows Azure Trust Service
– Собственные модули шифрования (AES)
31. Защита данных: выводы
• Размещайте ключи вне облака
• Используйте стандартные алгоритмы шифрования
• Баланс между защитой и накладными расходами
(шифруйте только то, что действительно требуется
шифровать)
• Не забудьте о возможных последствия для поиска и
индексирования
32. Облако как связующее звено
SQL
Контрольная Azure
панель
администратора
на Silverlight
WPF, Win32 Web Role
MultiTenant ASP.NET
Blob
Store
Worker
Role
Обработка
данных,
биллинг
33. Выводы
• Безопасность — это
общая ответственность
облачного
провайдера, разработч
ика и клиента
• Безопасность
приложений важно -
следуйте SDL при
разработке решения
(SDL – Security
Development Life
Cycle)
34. Windows Azure в России
Веб платформа для
спортивных команд Пряники – сервис для Сервис для удаленного
нематериальной Wizee Шопинг – мобильный
управления IT ресурсами
мотивации персонала гид по торговым центрам
Инструмент для выбора
надежного партнера по Облачный сервис по
Всероссийская извлечению данных Облачный сервис для
разработке веб-сайтов
школьная организации и
образовательная сеть проведения онлайн
мероприятий
Сервис для поиска работы
Управление процессом
подбора персонала
Сервис для путешественников
Трансляция премии
―Золотой граммофон‖ онлайн
Тегирование изображений
Онлайн трансляции
35. Windows Azure в России
Инструмент
Платформа создания Сервис создания и Облачный сервис для поиска по
бизнес-приложений обработки диаграмм дистрибуции авторского социальным
контента медиа
ERP в облаке Сервис создания Новостной сервис на всех
динамического платформах
Портал для малого видео
бизнеса
Социальная сеть
Видео- интересных мест
трансляции
Универсальный
SaaS для малого
бизнеса
Электронный Облачный хостинг блогов
36. Windows Azure в России
Система управления и
контроль внутренних Мониторинг и аналитика
процессов брендов Рейтинг блогосферы
Википедия бизнес-контактов
Обмен информацией о
продуктах и технологиях
37. Спасибо за внимание!
Email: natale@microsoft.com
Twitter: @nefimtseva
Russia Azure Program
<azurerus@microsoft.com>
Editor's Notes
Windows Azure = PaaS + IaaS.IaaS – возможность размещать виртуальные машины в облаке Microsoft, т.е. передать часть функций по инфраструктуре Microsoft (серверные, каналы связи и т.п.)PaaS – это еще один слой абстрагирования.Особенностью Windows Azure как модели PaaS является разделение приложения и инфраструктуры: разработчику достаточно лишь определить необходимый для работы приложения объем ресурсов, а все действия по предоставлению запрашиваемых ресурсов, управлению ими, динамическому распределению, мониторингу, масштабированию выполняются автоматически платформой Windows Azure.Windows Azure как PaaSобеспечит не только базовые функции операционной системы, но и дополнительные: выделение ресурсов по требования для неограниченного масштабирования, автоматическую синхронную репликацию данных для повышения отказоустойчивости, обработку отказов инфраструктуры для обеспечения постоянной доступности и многое другое.Помимо этого Windows Azure предоставляет набор сервисов, которые могут быть использованы как в PaaS, так и в IaaS: кэширование, виртуальные сети, хранилища данных (BLOB) и т.п.[Демо]
Больший упор сделаем на обсуждение безопасности в гибридных сценария
Коммуникации внутри ЦОДСетевая безопасность Azure была спроектирована не только для защиты инфраструктуры от атак извне, но также изнутри.Брандмауэр корневой ВМ обеспечивает невозможность подмены IP-адреса внутри ЦОД.Внутренние IP-адреса являются доверенными, так что нет необходимости использовать IPsec между узламивнутри ЦОД.Гипервизор отвечает за разграничение сетевых ресурсов между ВМ и предотвращает DOS-атакиТрафик Windows Azure проходит через несколько брандмауэров. Некоторые из них могут быть сконфигурированы владельцем сервиса, некоторые управляются фабрикой.Брандмауэр гостевой VMБрандмауэр хост-VMБрандмауэр SQL AzureЛокальные БрандмауэрыФильтрация пакетовТрафик проходит через брандмауэры гостевыхВМи корневые брандмауэры.Весь доступ к диску фильтруется «корневой» виртуальной машиной.Роль Azure содержит хранилище сертификатов X.509, которые загружаются в хранилище сертификатов ВМ.Сертификаты ролей используются для:SSL-каналовОбмена симметричными ключамиЦифровых подписей
Clients <-> Web and worker rolesClients <-> Storage endpointsWeb roles <-> web and worker roles over internal endpointsWeb and worker roles <-> Storage endpointsThe developer registers x.509 certificates in the portal.Certificates deployed to roles are used to establish SSL channels with the client.Certificates deployed to the subscription are used to authenticate tools that use the Windows Azure management API. The SSL channel used for management has mutual authentication. Both the customer and Windows Azure must authenticate each other using the other’s party certificate.Зачем используется SSLКлиент – РольБизнес-активности могут содержать секретные данные.Предотвращает атаки "ManInTheMiddle"АдминистрированиеWindows Azure и разработчик выполняют взаимную аутентификацию. Обеспечивает администрирование вне портала.
Модель безопасности бинарных объектов
Позволяет получить доступ к закрытым бинарным объектам без ключа доступа.Создается специальный URL для передачи пользователям, которым предоставляется доступДетализация разрешенийДоступ на определенный период времениУказание операций, которые может выполнять пользователь с бинарным объектом
Microsoft Codename "SQL Azure Security Services« - http://www.microsoft.com/en-us/sqlazurelabs/labs/sqlazuresecurityservices.aspx
Когда Заказчик рассматривает облако, то помимо явных преимуществ (time to market, отказоустойчивость, масштабируемость и т.п.) возникают некоторые другие вопросы – чаще всего это вопросы о безопасности.На слайде представлены 4 основных вопроса, которые могут возникать.Может ли Windows Azure и облачных провайдердействительно защитить данные. Клиенты хотят быть уверенными, что не произойдет утечка данных.Второй вопрос (сложность решения) возникает в случае, если требуется гибридный сценарий. Например, интеграция с локальными приложениями или портальными решениями. Здесь подразумевается вопрос единой системы или процесса обеспечения безопасности (как для локальных компонентов, так и для облачных). Часто это так же common подход по безопасности для различных платформ, продуктов и вендоров. Локально могут располагаться: каталог учетных данных, хранилище данных (datawarehouse). Компоненты находятся не только локально, но и в облаке, эти компоненты должны обращаться к локальным системам, доступа к которым обычно нет из вне.И последнее: доверие Microsoft как провайдеру.Moving data to the cloudConcerns about data confidentiality and privacyComplexity of the solutionProtecting and managing a solution with components on premises and in the cloudTrust in the cloud providerNot a matter of SLA’s, security standards or certifications.Exposing core services to the InternetIncreasing the risk exposure of the existing systems
Здесь представлены основные вопроса, которые необходимо преодолеть\\очертить при создании облачного приложения или сервиса. И далее я расскажу, каким образом это решается в Windows Azure.Каким образом защищается канал коммуникаций, т.к. в гибридном сценарии у нас возникает «посредник» Интернет между облачной частью системы и локальной.Каким образом можно надежно выполнить интеграцию с BE системами.Каким образом защищать решение, которое будет доступно из интернета практически любому желающему.Каким образом можно использовать имеющиеся системы управления доступом для приложений и сервисов, развернутых в облаке.Каким образом мы можем обеспечить шифрование важных данных.--------Protecting data over the InternetEnabling connectivity to back-end systems Securing Internet-facing applicationsUsing existing identities in the cloudProtecting sensitive data in the cloud
Решение гибридно, это означает, что в процессе коммуникаций появляется посредник – Интернет. Поэтому необходимо защитить два основных канала\\способа взаимодействия:пользователь-облакооблако-локальная инфраструктура.Первое (пользователь-облако) – это хорошо известная схема. Способ решения – это SSL канал, любой браузер может создавать такое защищенное соединение.Второе – более сложное. Любое изменение в системе (дополнительные компоненты или открытые порты) рассматриваются безопасностью как дополнительная зона риска. Поэтому нам нужно решение, которое может этот риск свести к минимому.Better virtual networking in the Windows Azure Roadmap, however current feature set not suitable for our scenarioMore about that in a minutePrivate links or site-to-site VPNs are not an option todayIn the end no other choice other to implement communications between Cloud and on-premises at application level---------------------------------------------------------Internet is the transport mechanism between clients, cloud and on-premises back-endProtecting client-to-Cloud communications a more well known problemUse of SSL/TLS for server authentication and data protectionProtecting Cloud-to-premises communications a much more challenging issueNo established approach and technology yetIntroducing changes and increasing exposure to critical back-end systems one of the first risks identified in the solution
Better virtual networking in the Windows Azure Roadmap, however current feature set not suitable for our scenarioMore about that in a minutePrivate links or site-to-site VPNs are not an option todayIn the end no other choice other to implement communications between Cloud and on-premises at application level
Для создания безопасного канала коммуникаций между Windows Azure и локальной системой может использоваться специальный сервис Windows Azure – виртуальная сеть.С помощью виртуальной сети вы можете создавать традиционные VPN-сети для безопасного масштабирования емкости центра обработки данных. Виртуальная сеть использует стандартный сквозной протокол IPSEC для установки защищенного подключения между корпоративным VPN-шлюзом и Windows Azure.ADв Windows Azure или вне Windows Azure (репликация)DNS в Windows Azure или вне Windows Azure (репликация)
Обычно заказчики не просто соглашаются открыть канал для взаимодействия с BE системами из облака. Это касается не только хранилищ данных, но и систем хранящих учетные данные.Один из вариантов – это создать специальные интеграционные сервис на стороне заказчика.BE’s are usually not connected to the external worldBE’s connects to other BE or FE applications – What happen when the cloud becomes part of an application process?Network topologies are already in placeIn our case, BE’s are all kind of technologies but Microsoft
Пример может быть таким. На слайде вы видите 4 зоны безопасности, которые созданы на стороне заказчика, фактически наиболее традиционна модель. Приложения и системы находятся в корпоративной сети, к которой не подразумевается прямой коннект из облака.Typical (Non-Cloud Ready) Scenario
Создали новый интеграционный слой, который принимает, например, веб-запросы и для аутентификации используется билет кербероса.При этом необходим позаботиться о безопасности передаваемых данных.A new local integration layer at the customer sideConnect to back-end systems using standards-based XML Web services (SOAP/REST)A custom kerberos token service for access controlWe ensure confidentiality and integrity of data-in-transit end to endWe ensure proper access control (authorization, authentication, and auditing) on both sidesWe ensure the availability of the internet facing resources
Может потребоваться внести изменения в архитектуру, чтобы создать зону безопасности.
Когда применяется облако необходимо немного иначе взглянуть на безопасность. В Windows Azure есть веб-роли, воркер-роли, но нет такого понятия как зоны безопасности, fault\\upgrade domain.Все равно надо использовать традиционные способы обнаружение атак и вторжений.Например, если токен неправильного формата – то сразу прерываем соединение.A web application firewall (WAF) is an appliance, server plugin, or filter that applies a set of rules to an HTTP conversationCloud computing requires rethinking the traditional network security zones, such as DMZsReduce attack surface!Invest in IDS/IPS and SIEM tools (and processes!) in order to detect and prevent malicious traffic or DOS attacks at the customer side.Consider using a Web Application Firewall to inspect and validate incoming traffic in order to drop malicious connections
Многие функции и сервисы реализуются на уровне приложений и получается, что они теперь открыты через Интернет. Возникает вопрос их защиты. Для традиционной архитектуры и инфраструктуры наиболее привычный метод защиты – файрволы, сегментация сети. Для облака не все так просто, в облаке очень важно, чтобы приложение было написано корректно. Если что-то не так с приложение, данные так же могут быть скомпрометированы.---------Refers to both the Cloud as well as the on-premises components now exposed to the InternetThe application is the last frontier for security prevention.Once it is broken, the service and the data could be compromised.When an application is moved to the cloud we can not rest in the security capabilities of the Windows Azure platform
DDOS атаки – это вопрос, который возникает практически всегда. Если у нас гибридная система, то большее беспокойство вызывает даже не атаки на облачную часть системы, а на опубликованную во вне часть локальной инфраструктуры. И очень часто это как раз и есть наиболее слабое звено. Особенно, если это не ИТ организация, то фокус на защиту для таких организаций не всегда является основным. Как раз рекомендуем ориентироваться на то, что если и будут атаки, то скорее на локальную часть системы.---Inherent risk in any Internet-facing systemLess of a concern for Windows Azure componentsMicrosoft robust infrastructure, GFS operations Not worried about billing costsBiggest concern is an attack against on-premises componentsWeakest point in terms of infrastructure and operationsCould potentially disrupt the entire solution
Что же можно сделать? Рассматривать локальный сервис в гибридной архитектуре как потенциально не доступный в любой момент времени -> применять локальный репозиторий, из которого данные асинхронно уже будут передавать в систему локальную. Если нет связи с локальной точкой, то по крайней мере пользователи ничего не должны заменить, например, данные которые они передают должны быть приняты вашей облачной стороной.Второй вопрос – это уменьшения площади для атаки. Для любой службы доступной через интернет не должно быть никакого анонимного доступа, только аутентифицированного (WCF сервис httpgetenable=false), даже для получения метаданных. А так же IP фильтрация по IP адресам только Windows Azure. Инфраструктура Microsoft сразу отклонить соединение. Код ревью так же играет не маловажную роль.И, конечно, аудит и анализ этих данных – это важная часть. Например, с помощью SCOM.Меняйте ключи, обновляйте сертификаты------------Local repository in the cloud and asynchronous transfer to on-premises systems reduce dependency on on-premises systemsReduction of attack surfaceAuthentication required in all entry pointsIP Filtering restricting incoming traffic to Windows Azure rangesVulnerability assessment and security code reviewLogging and monitoring of all application components
Меняйте ключи, обновляйте сертификатыToken signing certificates. Renew token signing certificates periodically to avoid denial of service. Windows Azure AD Access Control signs all security tokens it issues. X.509 certificates are used for signing when you build an application that consumes SAML tokens issued by ACS. When signing certificates expire you will receive errors when trying to request a token.Token signing keys. Renew token signing keys periodically to avoid denial of service. Windows Azure AD Access Control signs all security tokens it issues. 256-bit symmetric signing keys are used when you build an application that consumes SWT tokens issued by ACS. When signing keys expire you will receive errors when trying to request a token.WIF - cookieHandlerrequireSsl=“true”. Specifies whether session cookies transferred over the SSL protocol.http://www.windowsazure.com/en-us/develop/net/best-practices/security/?redirectToLocale=falsecookieHandlerrequireSsl=“true”. Specifies whether session cookies transferred over the SSL protocol.--------------Adopt a “security by design” approachEnsure the correct implementation of service interfaces and protocols Use mutual authentication on all communications over the InternetMove the authentication and authorization logic, from the application to an independent block.Audit and monitor the your service
Дневник.Ру---------Identity information is one of the most valuable assets of a customerNot willing to move this data to the cloudIn some cases not legally able to do soCustomer requirement of using existing identity repository (on premises) for cloud authentication and authorizationIdentity repositories not using Microsoft technologyNovell, Oracle/Sun, IBM, strong players in this marketLack of support of the SAML 2.0 protocol (SAML-P) in Windows AzureOnly SAML 2.0 token format currently support
Реопизторий учетных данных располагается на стороне клиента (с IaaS можно синхронизировать с облачным). Вопрос: как использовать локальный IdP? Чтобы дать доступ пользователям.
ПряникиИногда требования бывают интересными: Заказчик не хочет, чтобы учетные данные хранились даже во временном хранилище (области). Мы имеем дело только с маркером. Облако только получает токен, которому может доверять.При таком подходе пользователь никогда даже не пересылает учетные данные облаку.ACS – брокер, который общается с локальным IdP.Используем WIF в приложение, чтобы иметь возможность работать с заявками.1. User connects to App, redirected to ACS2. User connects to ACS3. User redirected to the SAT IdP4. User authenticates to SAT IdP5. Token with claims generated for user6. User redirected back to ACS7. User sends token to ACS8. ACS validates IdP token, generates ACS token 9. User redirected to Azure Service10. Send token to service11. Access granted to the userAuthentication is managed from the Novell Cloud Security Service through the Novell eDirectory
С появлением IaaS для учетных данных еще есть новая возможность: разместить AD а облаке, который синхронизируется с локальным AD.-------------------------------------------------Windows Azure Active Directory is a modern cloud service providing identity management and access control capabilities to cloud applications, whether those are Windows Azure applications, Microsoft Office 365, Dynamics CRM Online, Windows Intune or other 3rd party cloud services. Combines the proven enterprise capabilities of Active Directory with the scale and elasticity of Windows Azure, so you can bring your applications to the cloud easily. Windows Azure Active Directory provides an identity provider, access control, easy integration with your on-premises AD deployments, and full support of third party identity providers.Benefits of the Windows Azure Active Directory include:Single sign-on across your cloud applications: Windows Azure Active Directory (AD) gives end users a seamless single sign-on experience for Microsoft and third party cloud services as well as applications built on Azure.Simple integration with your on-premises Active Directory: You can quickly extend your existing on-premises Active Directory to apply policy and control and authenticate users with their existing accounts to Windows Azure and other cloud services. Easily create and manage identities in the Cloud : For organizations that don’t require an on-premise AD deployment, Windows Azure Active Directory provides an easy way to create and manage identities in the Cloud.Build social enterprise apps: Windows Azure Active Directory provides an enterprise social graph for applications to discover information and relationships between identities easily so that developers and ISVs can build a richer end user experience. Flexibility to use your development tools and social identities : With Windows Azure Active Directory, you can use .NET, PHP, Java and Node.js and get out-of-the-box support for popular web identity providers including Windows Live ID, Google, Yahoo!, and Facebook.
Используйте федерацию, где это возможно. С тем, чтобы это использовать необходимо создавать приложения, использующие утверждения. В этом может помочь WIF.Необходимо разделять бизнес-логику приложения и AuthZ\\N и перемещать эту логик в ACS.И последнее, Windows Azure поддерживает SAML в виде формата маркера, но не как протокол на данный момент. Поэтому можно использовать WS-Federation протокол.------------Use the industry-standard approach of federation between the Cloud and identity providers (IdPs)Develop claims-aware applications using Windows Identity Foundation, decoupling AuthN and AuthZ from business logicUse Windows Azure AppFabric ACS as the identity broker for the cloud applicationsRely on WS-Federation as ACS does not support SAML-P (yet)
Пряники – гибридное решение, настроена ADFS иACS.
Социальная сеть – гибридное решение: ресурсоемкие операции в облаке, персональные данные локально.
И последний, но не по значимости вопрос – как защищать данные, которые хранятся в облаке. Очевидный ответ – шифрование данных.-------------Cloud Service Provider has unrestricted access to data at rest (Immutable Law of Security #3)Once the customer have data stored in Windows Azure (Blob, Table, or SQL Azure), how does the customer mitigates the risk of abuse of that dataEncryption of data-at-rest when it is in a public cloud becomes a hot topic vs when the customer has data located in its own datacenter
В Windows Azure на данный момент нет OOB поддержки шифрования. Данные хранятся в открытом виде.-------------Today there is no native support for encryption in either Windows Azure Storage (Blob or Tables) or SQL Azure. Data in Windows Azure Storage is stored in clearSQL Azure does not currently support the Transparent Data Encryption (TDE) feature available in Microsoft SQL Server.Currently there is no support for Data Protection API (DPAPI)-like persistence of secret data in Windows Azure Storage. There is no option to encrypt the data other than developing your own encryption codeШифрование данных возможно только в вашем кодеПриложения должны предоставлять соответствующий ключ для дешифрации данных
Шифрование с помощью сертификата, ключ которого хранится на стороне клиента в защищенном хранилище.Данные шифруются (симметричным ключом), далее ключ шифруется публичном ключом заказчика. Данные сохраняются в хранилище Windows Azure.Для дешифрования получает сессионных ключ шифрования. Который будет декриптованпрайват ключом.
На данный момент шифрование можно осуществлять только на уровне приложения. Соответственно ключ должен хранится даже не в облаке. Для большей безопасности – криптованиеможно даже--------------------Keep your keys outside the cloudUse standard encryption algorithmsBalance between protection and processing overhead required (only encrypt what you need to encrypt!)Consider potential implications for search and indexing
АналогIntune – через облако передаются команды на управления серверами.
Продукты Microsoft разработаны в соответствии c процессом SDLНормативный и практичный подходПроактивный– не только поиск уязвимостейУстранение проблем безопасности на ранних этапахПредсказуемый результатРазрабатывайте ваши приложения с SDL и защищайте ваших клиентовСнижайте количество уязвимостейСнижайте влияние уязвимостей