mssd 2012 russia: Безопасность в windows azure
DESCRIPTION
Обеспечение безопасностиЗащита канала коммуникацийИнтеграция с back-end (BE) системамиЗащита Интернет-приложенийИспользование существующих учетных данных в облакеЗащита уязвимых данных в облакеTRANSCRIPT
Безопасность в Windows Azure
Ефимцева НаталияЭксперт по стратегическим технологиям[email protected]
• Дата-центр - Microsoft• Платформа - Microsoft• Приложение\система –вы
• Часть угроз отслеживается и устраняется самой Windows Azure; но безопасность – это так же и ответственность разработчика
Кто отвечает за безопасность?
Физическая безопасность
Free!
Network Load Balancer / VIP
VLAN
Firewall & Packet Filtering
Limited Hardware / Driver Support
Hyper-V
Hardened VM Guest
Automated Patch Management
• Сетевая инфраструктура Azure состоит трех VLAN:– Основной VLAN - объединяет узлы подписчиков без доверия– VLAN FC - содержит доверенные узлы FC и
вспомогательных систем– VLAN устройств – доверенная сеть и другие устройства
инфраструктуры
Изоляция сетей
Windows Azure Security Guidance
Windows Azure Security Guidance
Безопасность доступа из кода в Windows Azure
Частичное
доверие
Выполнение неуправляемог
о кода
Переменные
среды
P/Invoke
Доступ к реестру
Доступ к файловой системе
Выполнение без
административного
доступа
Ограничено
Ограничено
Запрещено
Запрещено
Запрещено
Основные вопросы клиентовПеремещение данных в облако Конфиденциальность и
приватность данных
Доверие облачному провайдеру Это даже не вопрос SLA,
безопасности или сертификации
Сложность решения Управление и защита в
гибридных сценариях
Доступность приложения или сервиса через Интернет Возможность внешней
атаки на систему
Обеспечение безопасности
Интеграция с back-end (BE) системами
Защита Интернет-приложений
Использование существующих учетных данных в облаке
Защита уязвимых данных в облаке
Защита канала коммуникаций
• Интернет — это механизм транспорта между клиентами, облаком, BE системами
• Защита канала пользователь-облако– Использование SSL/TLS
• Защита канала локальная инфраструктура-облако (сложнее)– Подходы и стандарты в процессе
становления
Защита канала коммуникаций: сценарий
Защита канала коммуникаций: виртуальная сеть
• BE системы обычно не доступны из вне
• BE обычно соединены с другими BE системами или с FE системам: Что произойдет, если облачное приложение или сервис станет частью процесса взаимодействия
• Топология сети обычно уже сформирована
• BE системы бывают разными (не только Microsoft продуктами)
Интеграция с back-end (BE) системами: вопросы
Интеграция с back-end (BE) системами: сценарий без облака
Интернет
ДМЗEmail, веб, e-
коммерция, контент
ЭкстранетВеб, e-коммерция,
базы данных
Корп. сетьПриложения, базы
данных
ИнтранетДесктопы,
корпоративные пользователи
Партнер
WANVPN
• Новый локальной интеграционный слой на стороне клиента• Обращение к BE системам с помощью стандартных XML Web
сервисов (SOAP/REST)• Кастомный сервис маркеров (билетов) Кербероса для
управления доступом и проверки подлинности • Обязательно реализация защиты данных в процессе передачи• Управление доступом и проверка подлинности
(аутентификация, авторизация, аудит) на каждой стороны• Регулярная проверка доступности интернет ресурсов,
участвующих в интеграции
Интеграция с back-end (BE) системами: подход
Интеграция с back-end (BE) системами: подход
Интернет
ДМЗEmail, веб, e-
коммерция, контент
ЭкстранетВеб, e-коммерция,
базы данных
Корп. сетьПриложения, базы
данных
ИнтранетДесктопы,
корпоративные пользователи
Партнер
WANVPN
Область безопасности
• Вовлечении облака требует пере смотрения традиционных подходов к сетевой безопасности (например, ДМЗ)
• Минимизируйте возможности для атаки (attack surface)
• Не забывайте о IDS/IPS и SIEM утилитах (и процессах) для того, чтобы обнаружить и заблокировать подозрительный трафик или DDOS атаки на стороне клиента
• Используйте файрвол на уровне веб-приложения (Web Application Firewall) для анализа и валидации входящего трафика и данных для того, чтобы закрывать подозрительные соединения
Интеграция с back-end (BE) системами: выводы
• Не забывайте, что теперь и облачные, и локальные компоненты доступны из вне (через Интернет)
• Уровень приложения – это последняя граница безопасности– Если с приложением что-то не так, то и сервис и данные
могут быть скомпрометированы
• Windows Azure берет часть задач по обеспечению безопасности на себя, но для нас так же остаются задачи
Защита Интернет-приложений: вопросы
• Неотъемлемая часть Интернет систем• С Windows Azure в меньшей степени является поводом
для беспокойства– Microsoft имеет защиту ЦОДов на инфраструктурном
уровне (GFS процессы)– Не беспокойтесь о повышении стоимости ресурсов
• Больше внимание следует уделить атакам на локальные компоненты– Обычно более слабые точки с точки зрения
инфраструктуры и процессов– Потенциально может скопрометировать все решение
Защита Интернет-приложений: DDOS атаки
• Локальный репозиторий в облаке и асинхронная передача уменьшить зависимость от локальной системы
• Минимизируйте возможности для атаки (attack surface)– Аутентификация для всех входных точек– IP-фильтрация: ограничение входящего трафика для Windows
Azure диапазона– Регулярная оценка уязвимостей и проверка кода
• Протоколирование действий и мониторинг всех компонентов приложения
DDOS атаки: подход
• Идентификационная информация является одной из самых важных– Нет желания переносить эти данные в облако– В некоторых случаях есть юридические ограничения
• Требование заказчика: использовать существующие системы аутентификации и авторизации и в облаке
• Не только каталоги Microsoft– Novell, Oracle/Sun, IBM
• Отсутствие поддержки протокола SAML 2.0 (SAML-P) в Windows Azure– Только SAML 2.0 формат маркера поддерживается
Использование существующих учетных данных в облаке: вопросы
• Идентификационные данных в локальной IdM
Использование существующих учетных данных в облаке: подход
Локальный периметрWindows
AzureIdentity
Management System
.NET бизнес приложение
Oracle бизнес
приложениеJ2EE бизнес приложение
Веб-приложен
ие
Интернет
Использование существующих учетных данных в облаке: пример
Windows Azure
Windows Azure ACS
SAT федерированный
сервис
2. Запрос к ACS
З. Перенаправление к SAT Idp
4. Аутентификация пользователя в SAT IdP
5. Создается маркер с заявками
6. Перенаправление обратно кACS
7. Маркер отправляется ACS
8. ACS валидирует IdP маркер, создает ACS маркер
Приложение
9. Маркер отправляется приложению
10. Пользователю разрешен доступ
Novell Access Manager
Novell Cloud Security Services
Novell eDirectoryПроверка подлинности осуществляется через Novell Cloud Security Service, взаимодействующий с Novell eDirectory
1. Запрос к приложению, перенаправление к ACS
Windows Azure Active Directory – идентификация и управление доступом
Active Directory
на серверах клиента
ADFS 2.0
Сторонние
приложения
Windows AzureActive
Directory
Microsoft Apps
Облачные приложен
ия клиента
• Используйте индустриальный стандарты для федерации между облаком и провайдерами учетных данных (IdP)
• Ориентируйтесь на создание приложений, использующих утверждения (claim aware)– Используйте WIF– Разделяйте бизнес-модули и модули AuthN\AuthZ
• Используйте Windows Azure ACS как брокер для облачных приложений
• Используйте WS-Federation пока ACS не поддерживает SAML-P
Использование существующих учетных данных в облаке: выводы
Гибридное решение - Пряники
WIF
Windows Azure
Web Worker SQL Azure
Web Clients
ADFS Proxy SharePoint
Active Director
y
Forms
Active Director
y
ПряникиOn-
premise
SQL Azure Data Sync, Service BusSync Framework/WCF
http://pryaniky.com• Cервис нематериальной мотивации персонала• Реализован гибридный сценарий через ServiceBus – часть данных в ДЦ клиента• Поддержка авторизации через Active Directory ( сервер AD у клиента )
Сервис Пряники – аутентификация1. User запрашивает страницу SharePoint, на которой есть WebParts, представляющие
собой обычные iFrame.2. WebParts пробуют начать загруать содерджимое с Azure 3. в этот момент Azure возвращает Redirect на ADFS или ADFS Proxy для аутентификации4. Пользователь вводит учетные данные или аутентифицируется автоматически (для
зоны Intranet) - его вместе с токеном передают обратно в AzureПлюсы - простая реализацияМинуcы - редирект пользователя, невозмодность закешировать данные на стороне клиента
Azure
ADFS Proxy
SharePoint
Active Director
y
Pryaniky (iFrame)
USER1
2
3
4
Сервис Пряники – аутентификацияWСF +ADFS: позволяет аутентифицировать пользователей из домена в облачном сервисе без активного участия пользователей1. Пользователь получает страницу SharePoint2. При генерации страницы вызывается WCF/WIF компонена которая делает запрос к Azure3. В процессе установки защищенного соединения и аутентификации пользователя на
сервисе требуется токен, который получается WCF-клиентом от ADFS или ADFS-Proxy4. В результате после аутентификации клиента WebParts получает необходинмые данные
для отображения Данный подход позволяет не только кешировать данные, но и сохранить полученный токен для аутентификации в последующих запросах
Azure
ADFS Proxy
SharePoint
Active Director
y
Pryaniky
WCF с WIF
USER 1
2
3
4
Надежность и автомасштабирование• Всероссийская школьная образовательная сеть ( 19 620 школ, 2.4 млн
учеников )• Реализовано автоматическое масштабирование сервиса в
зависимости от нагрузки• Используется геобалансировка для повышения отказоустойчивости
http://dnevnik.ru
• Облачный провайдер имеет неограниченный доступ к хранящимся данным (неизменный закон безопасности # 3)
• Как снизить риск злоупотребления данными, хранящимися в облаке
• Шифрование данных в процессе передачи и хранения
Защита данных в облаке: вопросы
• На данный момент нет OOB поддержки шифрования для хранилища или базы данных
• Данные хранятся в хранилище в открытом виде
• SQL Database (SQL Azure) на данный момент не поддерживает Transparent Data Encryption
• На данный момент нет поддержки Data Protection API (DPAPI) для хранения секретов\ключей в хранилище Windows Azure
• Подходы к шифрованию– Windows Azure Trust Service– Собственные модули шифрования (AES)
Защита данных в облаке: шифрования
• Размещайте ключи вне облака
• Используйте стандартные алгоритмы шифрования
• Баланс между защитой и накладными расходами (шифруйте только то, что действительно требуется шифровать)
• Не забудьте о возможных последствия для поиска и индексирования
Защита данных: выводы
Облако как связующее звено http://ria-media.net
Worker Role
Обработка данных, биллинг
SQL Azur
e
Blob Store
Web Role
ASP.NET
Контрольная панель администратора на Silverlight
MultiTenant
WPF, Win32
• Cервис для удаленного администрирования компьютерами Windows
• Windows Azure используется как связующее звено между лэптопом администратора и удаленным компьютером
• Реализована технология hole-punching для доступа через RDP
• Безопасность — это общая ответственность облачного провайдера, разработчика и клиента
• Безопасность приложений важно - следуйте SDL при разработке решения (SDL – Security Development Life Cycle)
Выводы
Conception
Release
Веб платформа для спортивных команд Пряники – сервис
для нематериальной мотивации персонала
Сервис для удаленного управления IT ресурсами
Wizee Шопинг – мобильный гид по торговым центрам
Всероссийская школьная образовательная сеть
Инструмент для выбора надежного партнера по разработке веб-сайтов
Облачный сервис по извлечению данных Облачный сервис для
организации и проведения онлайн мероприятий
Сервис для путешественников
Сервис для поиска работыУправление процессом подбора персонала
Трансляция премии “Золотой граммофон” онлайнОнлайн трансляции
представлений
Тегирование изображений
Windows Azure в России
Платформа создания бизнес-приложений
Сервис создания и обработки диаграмм
Новостной сервис на всех платформах
ERP в облаке
Видео-трансляции
Инструмент поиска по
социальным медиа
Портал для малого бизнеса
Социальная сеть интересных мест
Сервис создания динамического видео
Облачный сервис для дистрибуции авторского контента
Универсальный SaaS для малого бизнеса
Облачный хостинг блогов
Электронный документооборот
Windows Azure в России
Система управления и контроль внутренних процессов
Мониторинг и аналитика брендов Рейтинг блогосферы
Википедия бизнес-контактовОбмен информацией о продуктах и технологиях
Windows Azure в России
Спасибо за внимание!Email: [email protected]
Twitter: @nefimtseva
Russia Azure Program <[email protected]>