Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Visão geral
O elemento <authentication>
permite que você configure as contas de usuário que podem acessar os sites em um servidor. Usar a autenticação em combinação com a autorização para proteger o acesso ao conteúdo no servidor. A autenticação confirma a identidade de um usuário, enquanto a autorização determina quais recursos os usuários podem ou não acessar.
O IIS define um tipo de regra de autenticação, Regras de negação. As regras de negação permitem definir as contas de usuário ou grupos de usuários que não podem acessar os sites em um servidor.
Compatibilidade
Versão | Observações |
---|---|
IIS 10.0 | O elemento <authentication> não foi modificado no IIS 10.0. |
IIS 8.5 | O elemento <authentication> não foi modificado no IIS 8.5. |
IIS 8.0 | O elemento <authentication> foi introduzido no IIS 8.0. |
IIS 7.5 | N/D |
IIS 7.0 | N/D |
IIS 6,0 | N/D |
Instalação
Para dar suporte à negação de acesso por meio da autenticação no seu servidor FTP, você deve instalar o serviço de função do Serviço FTP.
Windows Server 2012
Pressione a tecla do logotipo do Windows e clique em Gerenciador do Servidor.
No Gerenciador do Servidor, clique em Gerenciar e depois em Adicionar Funções e Recursos.
No assistente Adicionar Funções e Recursos:
- Na página Antes de Começar, clique em Avançar.
- Na página Tipo de Instalação, selecione o tipo de instalação e clique em Avançar.
- Na página Seleção do Servidor, selecione o servidor apropriado e clique em Avançar.
- Na página Funções do Servidor, verifique se o Servidor Web (IIS) está selecionado e expanda-o.
- Expanda o Servidor FTP, selecione Serviço FTP e Extensibilidade FTP e clique em Avançar.
- Na página Recursos, clique em Next.
- Na página Confirmar Seleções de Instalação, clique em Instalar.
- Na página Resultados , clique em Fechar.
Windows 8
- Abra o Painel de Controle do Windows.
- No Painel de Controle do Windows, abra Programas e Recursos.
- Em Programas e recursos, clique em Ativar ou desativar recursos do Windows.
- Na caixa de diálogo Recursos do Windows, expanda Serviços de Informações da Internet e Servidor FTP.
- Em Servidor FTP, selecione Serviço FTP e Extensibilidade FTP e, em seguida, clique em OK.
Instruções
Como negar acesso ao servidor FTP com base na taxa de falha de logon
Abra o Gerenciador do IIS (Serviços de Informações da Internet):
Se você estiver usando o Windows Server 2012 ou posterior:
- Na barra de tarefas, clique em Gerenciador do Servidor, em Ferramentas e em Gerenciador do IIS (Serviços de Informações da Internet).
Se você estiver usando o Windows 8 ou versões posteriores:
- Mantenha pressionada a tecla Windows, pressione a letra X e clique em Painel de Controle.
- Clique em Ferramentas Administrativas e clique duas vezes em Gerenciador do IIS (Serviços de Informações da Internet).
No painel Conexões, selecione o servidor.
No painel Página Inicial, clique duas vezes no recurso Restrições de Tentativa de Logon FTP.
Na caixa de diálogo Restrições de Tentativa de Logon FTP, clique em Habilitar para habilitar as restrições e, em seguida, insira o número máximo de falhas e o período em que essas falhas solicitarão que o acesso ao serviço FTP seja negado.
Clique em Gravar somente no log para registrar que a condição foi atendida, mas para não bloquear as tentativas de logon.
Clique em Aplicar no painel Ações.
Configuração
O elemento <authentication>
é configurado no nível do servidor.
Atributos
Nenhum.
Elementos filho
Elemento | Descrição |
---|---|
denyByFailure |
Elemento opcional. Configura o serviço FTP para negar o acesso com base na taxa de falha. |
Exemplo de configuração
O exemplo a seguir configura um elemento<denyByFailure>
.
<system.ftpServer>
<security>
<authentication>
<denyByFailure enabled="true" maxFailure="5" entryExpiration="00:00:45" loggingOnlyMode="false" />
</authentication>
</security>
</system.ftpServer>
Exemplo de código
Os exemplos de código a seguir configuram o acesso de negação ao servidor FTP com base na taxa de falha de logon.
AppCmd.exe
appcmd.exe set config -section:system.ftpServer/security/authentication /denyByFailure.enabled:"True" /denyByFailure.maxFailure:"10" /denyByFailure.entryExpiration:"00:00:35" /denyByFailure.loggingOnlyMode:"False" /commit:apphost
Observação
Defina o parâmetro commit para apphost
quando usar AppCmd.exe para definir essas configurações. Isso confirma as definições de configuração para a seção de local apropriado no arquivo 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 authenticationSection = config.GetSection("system.ftpServer/security/authentication");
ConfigurationElement denyByFailureElement = authenticationSection.GetChildElement("denyByFailure");
denyByFailureElement["enabled"] = true;
denyByFailureElement["maxFailure"] = 10;
denyByFailureElement["entryExpiration"] = TimeSpan.Parse("00:00:35");
denyByFailureElement["loggingOnlyMode"] = false;
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 authenticationSection As ConfigurationSection = config.GetSection ("system.ftpServer/security/authentication")
Dim denyByFailureElement As ConfigurationElement = authenticationSection.GetChildElement("denyByFailure")
denyByFailureElement("enabled") = true
denyByFailureElement("maxFailure") = 10
denyByFailureElement("entryExpiration") = TimeSpan.Parse("00:00:35")
denyByFailureElement("loggingOnlyMode") = false
serverManager.CommitChanges
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var authenticationSection = adminManager.GetAdminSection("system.ftpServer/security/authentication", "MACHINE/WEBROOT/APPHOST");
var denyByFailureElement = authenticationSection.ChildElements.Item("denyByFailure");
denyByFailureElement.Properties.Item("enabled").Value = true;
denyByFailureElement.Properties.Item("maxFailure").Value = 10;
denyByFailureElement.Properties.Item("entryExpiration").Value = "00:00:35";
denyByFailureElement.Properties.Item("loggingOnlyMode").Value = false;
adminManager.CommitChanges();
VBScript
Set adminManager = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set authenticationSection = adminManager.GetAdminSection("system.ftpServer/security/authentication", "MACHINE/WEBROOT/APPHOST")
Set denyByFailureElement = authenticationSection.ChildElements.Item("denyByFailure")
denyByFailureElement.Properties.Item("enabled").Value = true
denyByFailureElement.Properties.Item("maxFailure").Value = 10
denyByFailureElement.Properties.Item("entryExpiration").Value = "00:00:35"
denyByFailureElement.Properties.Item("loggingOnlyMode").Value = false
adminManager.CommitChanges()
PowerShell
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.ftpServer/security/authentication/denyByFailure" -name "enabled" -value "True"
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.ftpServer/security/authentication/denyByFailure" -name "maxFailure" -value 10
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.ftpServer/security/authentication/denyByFailure" -name "entryExpiration" -value "00:00:35"
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.ftpServer/security/authentication/denyByFailure" -name "loggingOnlyMode" -value "False"