Доступ к безопасности <доступа>
Общие сведения
Элемент <access>
позволяет настроить, используют ли веб-сайт или приложение сертификаты клиента для проверки подлинности, и определить криптографическую надежность, необходимую для шифрования этих сертификатов.
Элемент <access>
содержит атрибут sslFlags , которому можно задать одно из следующих значений:
- Нет. Этот параметр по умолчанию отключает SSL для сайта или приложения.
- Ssl. Сайту или приложению требуется ПРОТОКОЛ SSL.
- SslNegotiateCert. Сайт или приложение принимает сертификаты клиента для проверки подлинности.
- SslRequireCert. Сайту или приложению требуются сертификаты клиента для проверки подлинности.
- Ssl128. Сайту или приложению требуется 128-разрядное шифрование SSL-сертификата.
Элемент доступа можно использовать для настройки сайта, приложения или виртуального каталога для требования сертификатов клиента. Для этого задайте привязку HTTPS для сайта или приложения, а затем запросите и получите сертификаты из центра сертификации (ЦС). Это могут быть сертификаты internet server, сертификаты сервера домена или самозаверяющий сертификат сервера. Для сертификатов Internet Server требуется, чтобы ЦС выдаст серверу или серверам сертификат после запроса. Сертификат сервера домена выдается компьютером ЦС, работающим в домене вашей компании, и может помочь управлять доступом к внутренним ресурсам только сотрудникам, которые установили сертификат. Самозаверяющий сертификат можно использовать для устранения проблем со сторонними сертификатами, удаленного управления службами IIS 7, создания безопасного частного канала между сервером и выбранной группой пользователей или тестирования функций приложений, использующих SSL.
Совместимость
Версия | Примечания |
---|---|
IIS 10.0 | Элемент <access> не был изменен в IIS 10.0. |
IIS 8,5 | Элемент <access> не был изменен в IIS 8.5. |
IIS 8,0 | Элемент <access> не был изменен в IIS 8.0. |
IIS 7,5 | Элемент <access> не был изменен в IIS 7.5. |
IIS 7.0 | Элемент <access> появился в IIS 7.0. |
IIS 6,0 | Элемент <access> заменяет свойства метабазы IIS 6.0 SSLAlwaysNegoClientCert и AccessSSLFlags . |
Настройка
Элемент <access>
включен в установку iis 7 по умолчанию.
Инструкции
Как требовать уровень безопасных сокетов
Откройте диспетчер служб IIS:
Если вы используете Windows Server 2012 или Windows Server 2012 R2:
- На панели задач щелкните диспетчер сервера, выберите Сервис, а затем диспетчер служб IIS.
Если вы используете Windows 8 или Windows 8.1:
- Удерживая нажатой клавишу Windows, нажмите букву X и щелкните панель управления.
- Щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
Если вы используете Windows Server 2008 или Windows Server 2008 R2:
- На панели задач нажмите кнопку Пуск, наведите указатель на пункт Администрирование, а затем выберите Пункт Диспетчер служб IIS.
Если вы используете Windows Vista или Windows 7:
- На панели задач нажмите кнопку Пуск, а затем панель управления.
- Дважды щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
В области Подключения перейдите к сайту, приложению или каталогу, для которого требуется настроить требования к SSL. Вы не можете настроить SSL на уровне сервера.
В области Параметры SSL щелкните Требовать SSL.
В области Действия нажмите кнопку Применить.
Конфигурация
Элемент можно настроить <access>
на уровне сервера в файле ApplicationHost.config либо на уровне сайта, приложения или каталога в соответствующем Web.config файле.
Атрибуты
Атрибут | Описание | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
sslFlags |
Атрибут sslFlags может быть одним из следующих возможных значений. Значение по умолчанию — None .
|
Дочерние элементы
Отсутствует.
Образец конфигурации
В следующем примере конфигурации, включенном в файл ApplicationHost.config, требуется SSL-подключение между веб-сайтом Contoso и всеми клиентскими браузерами.
<location path="Contoso">
<system.webServer>
<security>
<access sslFlags="ssl">
</security>
</system.webServer>
</location>
Пример кода
В следующих примерах протокол SSL требуется для доступа к веб-сайту Contoso.
AppCmd.exe
appcmd.exe set config "Contoso" -section:system.webServer/security/access /sslFlags:"Ssl" /commit:apphost
Примечание
При использовании AppCmd.exe для настройки этих параметров для параметра apphost
фиксации необходимо задать значение . Это зафиксирует параметры конфигурации в соответствующем разделе расположения в файле ApplicationHost.config.
C#
using System;
using System.Text;
using Microsoft.Web.Administration;
internal static class Sample {
private static void Main() {
using(ServerManager serverManager = new ServerManager()) {
Configuration config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection accessSection = config.GetSection("system.webServer/security/access", "Contoso");
accessSection["sslFlags"] = @"Ssl";
serverManager.CommitChanges();
}
}
}
VB.NET
Imports System
Imports System.Text
Imports Microsoft.Web.Administration
Module Sample
Sub Main()
Dim serverManager As ServerManager = New ServerManager
Dim config As Configuration = serverManager.GetApplicationHostConfiguration
Dim accessSection As ConfigurationSection = config.GetSection("system.webServer/security/access", "Contoso")
accessSection("sslFlags") = "Ssl"
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var accessSection = adminManager.GetAdminSection("system.webServer/security/access", "MACHINE/WEBROOT/APPHOST/Contoso");
accessSection.Properties.Item("sslFlags").Value = "Ssl";
adminManager.CommitChanges();
VBScript
Set adminManager = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set accessSection = adminManager.GetAdminSection("system.webServer/security/access", "MACHINE/WEBROOT/APPHOST/Contoso")
accessSection.Properties.Item("sslFlags").Value = "Ssl"
adminManager.CommitChanges()