Проф. В.К.Толстых, www.tolstykh.com WCF-службы Понятие безопасности Из цикла лекций «Internet-технологии разработки приложений» для студентов 4-го курса.

Презентация:



Advertisements
Похожие презентации
ДонНУ, кафедра КТ, проф.В.К.Толстых Технологии разработки Internet- приложений ASP.NET приложения: Безопасность – аутентификация Из цикла лекций «Технологии.
Advertisements

ДонНУ, кафедра КТ, проф.В.К.Толстых WCF-службы Создание и тестирование.dll-библиотеки WCF-служб Из цикла лекций «Internet-технологии разработки приложений»
Проф. В.К.Толстых, Технологии разработки Internet- приложений Администрирование IIS 5, 6 сайт, виртуальный каталог, приложение, пул, рабочий.
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения: Безопасность – проверка подлинности, олицетворение Из.
«Управление доступом к данным» Подготовила студентка 2 курса 10 группы ГМУ Филиппова Галина Валерьевна.
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – валидация, валидационные элементы управления Из цикла.
Проф. В.К.Толстых, Технологии разработки Internet- приложений Эталонные страницы – Master pages Из цикла лекций «Технологии разработки.
Лекция 5 - Стандарты информационной безопасности распределенных систем 1. Введение 2. Сервисы безопасности в вычислительных сетях 3. Механизмы безопасности.
Система усиленной аутентификации по отпечатку пальца.
Проф. В.К.Толстых, Выполнил студент: Тышлек С.В., 2009 Технологии разработки Internet- приложений Из цикла лекций «Технологии разработки.
Серверы Сетевые службы, виды и назначение серверов irina
Создание безопасных Веб-приложений Алексей Кирсанов ведущий разработчик компании «Битрикс»
Проф. В.К.Толстых, Технологии разработки Internet- приложений Архитектура IIS 5, IIS 6, исполняющая среда ASP.NET в IIS 7, конфигурирование.
К построению и контролю соблюдения политик безопасности распределенных компьютерных систем на основе механизмов доверия А. А. Иткес В. Б. Савкин Институт.
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET примеры: динамические таблицы, привязка данных к выпадающему списку.
Обеспечение безопасности данных. Управление доступом к данным. Управление доступом к данным. Управление пользователями БД. Управление пользователями БД.
Лекция 6 Безопасность сети. Средства обеспечения безопасности сети.
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET примеры: обработка данных форм. работа с формами работа с формами.
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – локализация ресурсов приложения Из цикла лекций «Технологии.
Раздел 3 Сетевые модели. Тема 3.1 Понятие сетевой модели. Архитектура сети определяет основные элементы сети, характеризует ее общую логическую организацию,
Транксрипт:

проф. В.К.Толстых, WCF-службы Понятие безопасности Из цикла лекций «Internet-технологии разработки приложений» для студентов 4-го курса кафедры Компьютерных технологий физического факультета Донецкого национального университета проф. В. К. Толстых

Обеспечение безопасности вWCF Традиционно безопасность сетевой информационной системы состоит из: 1.Аутентификация, 2.Авторизация пользователя на сервере и серверного приложения для клиента (проверка подлинности службы), 3.Безопасность передачи сообщений, 4.Выбор идентичности (личности) от имени которой на сервере будут выполняться операции, 5.Дополнительные меры безопасности в организации – общая политика безопасности организации. WCF поддерживает ряд механизмов аутентификации, безопасности передачи, авторизации и идентичности. Необходимо выбрать подходящую привязку и настроить её. Рассмотрим подробнее…

Аутентификация Аутентификацией называется процедура, которая выясняет, является ли вызывающая сторона именно тем, за кого она себя выдаёт. WCF поддерживает ряд механизмов аутентификации: Без аутентификации – служба не проверяет от кого поступили вызовы. Обращение разрешено практически любому желающему. Аутентификация Windows – служба работает с удостоверениями клиента (credentials) и проверяет их средствами Windows. Имя пользователя и пароль – служба проверяет полученные имя и пароль по некоторому источнику, например, по учётным записям Windows или по пользовательской БД. Сертификат X509 – клиент идентифицирует себя при помощи сертификата. Служба обращается на сервере для подтверждения подлинности сертификата, а следовательно и клиента. Служба также может автоматически доверять стороне выдавшей сертификат. Пользовательский механизм – WCF позволяет заменить механизм аутентификации любым протоколом и типом удостоверений, например, биометрическими данными. Выдача электронного ключа – например, Windows CardSpace.

Авторизация Авторизация определяет какие действия разрешены вызывающей стороне, обычно – какие операции службы разрешено вызывать клиенту. Авторизация бессмысленна без аутентификации. Служба должна найти роль вызывающей стороны в своём хранилище и убедиться в том, что вызывающая сторона принадлежит к запрашиваемой роли. WCF, аналогично ASP.NET, поддерживает несколько типов хранения авторизационных удостоверений. Наиболее популярные – это: 1.Группы (учётные записи) Windows, 2.Провайдеры ASP.NET для хранения пользовательских учётных записей. WCF позволяет идентифицировать и проверять подлинность службы для защиты от фишинга. Удостоверение конечной точки службы (свойство Identity класса EndpointAddress) генерируется WSDL-кодом службы и распространяется по всем прокси-клиентам. При связи со службой клиент сравнивает её удостоверение с имеющимся действительным значением. Если значения совпадают, значит клиент связался с ожидаемой конечной точкой службы.Identity EndpointAddress Клиент получает такое же значение свойства identity. DNS-имя удостоверения (сертификат X.509 или учётная запись Windows). Здесь имя сертификата совпадает с именем хоста. WCF автоматически принимает сертификат сервера.

Безопасность передачи Выбор правила режима безопасности передачи является самым главным решением при защите службы. Необходимо обеспечить целостность сообщения, его конфиденциальность и взаимную аутентификацию клиента и сервера. Последнее должно предотвращать атаки замещения (злоумышленное повторное использование допустимого сообщения) и атаки на отказ в обслуживании (DoS – фиктивные сообщения высокой частоты для снижения доступа к службе). Режимы передачи данных: 1.None – служба не получает удостоверение клиента, сообщения передаются открыто; 2.Transport – передача данных шифруется при HTTPS, TCP, IPC, MSMQ. Здесь обеспечивается целостность и конфиденциальность данных. Взаимная аутентификация реализуется шифрованием удостоверений (Credentials) клиента вместе с содержимым. Это самый простой и производительный способ гарантии безопасности при подключении клиента к службе без посредников; 3.Message – шифрование сообщения, обеспечивает конфиденциальность, целостность и проверку подлинности на уровне сообщений SOAP (вместо транспортного уровня) для небезопасных протоколов, таких как HTTP. 4.TransportWithMessageCredential – объединяет в себе два предыдущих режима.

Типы учётных данных клиентов При установке того или иного режима передачи данных указывается и тип учётных данных клиентов – clientCredentialType и, возможно, прокси – proxyCredentialType при его использовании клиентом из домена через HTTP. Возможные значения типов учётных данных клиентов: 1.None – без проверки подлинности клиента. Задаётся по умолчанию. 2.Basic – соответствует методу обычной проверки подлинности в IIS. При использовании этого режима на сервере IIS должны быть настроены учетные записи пользователей Windows и соответствующие разрешения файловой системы NTFS. 3.Windows – проверка подлинности встроенной системой безопасности Windows в IIS. При задании этого значения также предполагается, что сервер находится в домене Windows, в котором для взаимодействия с контроллером домена используется протокол Kerberos. 4.Certificate – в IIS предусмотрена функция, требующая, чтобы клиенты входили в систему с использованием сертификата. 5.Digest – дайджест-проверка подлинности подобна обычной проверке, но учетные данные передаются в виде хэша, а не открытого текста. 6.Ntlm – позволяет серверу использовать NTLM для проверки подлинности в случае сбоя протокола Kerberos.

Примеры настройки безопасности

Поведения (behaviors) безопасности Поведения безопасности позволяют сервисам управлять учетными данными, проверкой подлинности, авторизацией и журналами аудита. Пример конфигурирования: ... Аутентификация пользователей. В примере – через MembershipProvider в пользовательской БД Авторизация групп пользователей через роли "CustomRolesProvider" в пользовательской БД Клиент передаёт пользовательские учётные данные в сервис через свой прокси: proxy.ClientCredentials.UserName.UserName = "login"; proxy.ClientCredentials.UserName.Password = "PWD"; Сервис их получает как ServiceSecurityContext ssc = ServiceSecurityContext.Current; if (!ssc.IsAnonymous && ssc.PrimaryIdentity != null) {string userName=ServiceSecurityContext.Current.PrimaryIdentity.Name;} Для реализации данного механизма необходимо использовать сертификаты.использовать сертификаты

Личность и перевоплощение службы Личность Windows ( WindowsIdentity ) – это учётная запись Windows или электронный ключ с которым подключается клиент. При обслуживании запросов клиентов хостовый процесс сервиса и его программные потоки запускаются (выполняются) от системной учётной записи. Например, для IIS 7 – это Network Service. Перевоплощение позволяет службе запускаться от личности клиента. Например, это может использоваться для авторизованного, персонального доступа к файловой системе, SQL-серверу и т. д. Пример перевоплощения операции: Public viod MyMethod() { using(ServiceSecurityContext.Current.WindowsIdentity.Impersonate()) { //Работа с использованием личности клиента } Если при проектировании системы используется многоуровневая архитектура, то каждый уровень работает под своей личностью. В тоже время, перевоплощение требует передачи личности далее и далее, вплоть до низкоуровневых ресурсов. Здесь количество ресурсов будет совпадать с количеством клиентов, что не всегда верно и возможно.

Источники Джувел Лёве. Создание служб Windows Communication Foundation. – СПб.: Питер, – 592 с.: ил.