'

Технологии разработки Internet-приложений

Понравилась презентация – покажи это...





Слайд 0

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


Слайд 1

Для обеспечения безопасного авторизированного доступа к Web-приложению и его ресурсам необходимо решить следующие задачи: Выбор варианта проверки подлинности (см. далее), при необходимости – конфиденциальности и целостности. Реализация аутентификации пользователя – определение идентичности пользователя и обеспечения гарантий этой идентичности. Реализация авторизации – управление списком разрешающих или запрещающих правил, регулирующих доступ к содержимому аутентифицированного пользователя.


Слайд 2

Проверка подлинности ASP.NET анонимная проверка подлинности проверки подлинности с использованием олицетворения ASP.NET обычная проверка подлинности дайджест-проверки подлинности проверка подлинности с помощью форм проверка подлинности Windows сопоставление сертификата клиента Страницы ASP.NET исполняются внутри процесса или программы Windows. Все программы Windows работают с отдельным удостоверением безопасности. На веб-сервере, работающем под управлением IIS 6, 7, рабочий процесс ASP.NET выполняется в пуле приложений. Пул приложений определяет удостоверение, под которым выполняется ASP.NET (по умолчанию – учетная запись NetworkService, для IIS 5 – ASPNET). В качестве альтернативы, с помощью настройки использования приложения с олицетворением (доступно в IIS 7), можно задать для ASP.NET выполнение под другим удостоверением или под удостоверением Windows пользователя, сделавшего запрос. Варианты проверки подлинности:


Слайд 3

Консоль диспетчера IIS 7


Слайд 4

Анонимная проверка подлинности Включение анонимной проверки подлинности позволяет редактировать учетную запись, которая используется службами IIS для доступа к узлу и приложению. При анонимном доступе IIS 7 по умолчанию использует IUSR в качестве имени пользователя. Пользователь IUSR создаётся при установке IIS. Замечание. Если изменить учётную запись анонимной проверки подлинности с IUSR на какую-либо другую, например, на сетевую, то анонимные клиенты Web-приложений получат доступ ко всей внутренней сети!


Слайд 5

Проверка подлинности с использованием олицетворения ASP.NET с помощью пользовательского интерфейса, команды Appcmd.exe в окне командной строки, прямым изменением файлов конфигурации, посредством написания сценариев WMI (Windows Management Instrumentation) – VBScript, Windows PowerShell. Рассмотрим 1, 3 Олицетворение ASP.NET используется, когда необходимо выполнить приложение пользователя ASP.NET в контексте безопасности, отличном от контекста по умолчанию для приложения ASP.NET. Если разрешить олицетворение для приложения ASP.NET, это приложение сможет работать в одном из двух вариантов: от имени пользователя, прошедшего проверку подлинности в службах IIS 7, или от имени произвольной учетной записи, заданной пользователем. По умолчанию олицетворение ASP.NET выключено. Процедуру олицетворения можно выполнить несколькими способами:


Слайд 6

Олицетворение с помощью диспетчера IIS 7 После этого выбора службы IIS будут использовать выбранное удостове-рение для контекста безопасности приложения ASP.NET. Приложение будет работать от заданной учётной записи для анонимного доступа, т.е. для пользователей, не прошедших проверку подлинности Приложение будет работать от имени пользователя, прошедшего проверку подлинности


Слайд 7

Олицетворение с помощью настройки конфигурации <identity> в <system.web> (Имперсонализация ) <identity impersonate="true|false" userName="domain|username" password="<secure password>"/> Атрибут impersonate указывает, следует ли использовать олицетворение клиента. Атрибут password задает используемый пароль, если impersonate имеет значение true. Атрибут userName задает имя пользователя, если impersonate имеет значение true. Чтобы зашифровать имя пользователя и пароль и сохранить их в реестре, установите значения атрибутов userName и password, как показано в следующем примере: userName="registry:HKLM\Software\AspNetProcess,Name" password="registry:HKLM\Software\AspNetProcess,Pwd" Учетные данные должны быть представлены в формате REG_BINARY и содержать результат вызова функции Windows API CryptProtectData. Для создания зашифрованных учетных данных и сохранения их в реестре можно воспользоваться программой Aspnet_setreg.exe, которая выполняет операции шифрования с помощью функции CryptProtectData.


Слайд 8

Доступ к параметрам конфигурации ASP.NET программными средствами <%@ Import Namespace="System.Web.Configuration" %> <%@ Import Namespace="System.Configuration" %> <%@ Import Namespace="System.Text" %> try { // Установка пути к Web-приложению, где находится Web.config string configPath = "/MyAppRoot"; // Получение объекта конфигурации по заданному пути к Web.config Configuration config = WebConfigurationManager.OpenWebConfiguration(configPath); // Получение объекта, соответствующего разделу <identity> IdentitySection section = (IdentitySection)config.GetSection("system.web/identity"); // Чтение раздела <identity> StringBuilder identity = new StringBuilder(); identity.Append("Impersonate: "); identity.Append(section.Impersonate.ToString()); // Показ информации раздела <identity> ConfigId.Text = identity.ToString(); } catch (Exception e) { ConfigId.Text = e.ToString(); }


Слайд 9

Обычная проверка подлинности Для обычной проверки подлинности необходимо, чтобы для доступа к содержимому пользователи предоставляли имя пользователя и пароль. Для этого метода проверки подлинности не требуется специальный обозреватель. Она также работает при подключении через брандмауэры и прокси-серверы. Однако недостатком метода является то, что при его использовании по сети пересылаются незашифрованные пароли. Замечание. Обычная проверка подлинности может использоваться, только если известно, что соединение между клиентом и сервером безопасно. Подключение должно устанавливаться по выделенной линии или с помощью SSL-шифрования и протокола TSL.


Слайд 10

Дайджест-проверка подлинности При дайджест-проверке подлинности контроллер домена Windows используется, чтобы проверить подлинность пользователей, которые запросили доступ к содержимому веб-сервера. Дайджест-проверка подлинности в службах IIS 6.0 называлась расширенной краткой проверкой подлинности. Когда требуется более высокий по сравнению с обычной проверкой подлинности уровень безопасности, рекомендуется применять дайджест-проверку подлинности, особенно если в производственной среде имеются брандмауэры и прокси-серверы. Проверка подлинности с помощью форм При проверке подлинности с помощью форм используется перенаправление на стороне клиента, чтобы направить непроверенных пользователей к HTML-форме, в которую они могут ввести свои учетные данные, обычно в виде имени пользователя и пароля. После проверки учетных данных пользователи перенаправляются на страницу, которую они первоначально запросили. Замечание. При проверке подлинности с помощью форм имя пользователя и пароль пересы-лаются в веб-сервер в виде обычного текста, поэтому следует использовать шифрование SSL для страницы входа и всех других страниц приложения.


Слайд 11

Проверка подлинности Windows Проверку подлинности Windows следует использовать при необходимости проверки подлинности пользователей с помощью протоколов NTLM или Kerberos. Проверка подлинности Windows не пригодна для использования в Интернете, так как эта среда не требует и не шифрует учетные данные пользователя. Проверка подлинности Windows лучше всего подходит для интрасети по приведенным ниже причинам: Клиентские компьютеры и веб-серверы находятся в одном домене. Администраторы могут обеспечить наличие на всех компьютерах обозревателей Internet Explorer не ниже версии 2.0. Не требуется подключений через HTTP-прокси, которые не поддерживаются NTLM. Для работы Kerberos v5 требуется подключение к службе каталогов Active Directory, что не представляется возможным в Интернете.


×

HTML:





Ссылка: