
Vamos considerar na prática o uso do Windows Active Directory + NPS (2 servidores para garantir a resiliência) + o padrão 802.1x para controle de acesso e autenticação de usuários - computadores de domínio - dispositivos. Você pode consultar a teoria sobre o padrão na Wikipedia, através do link:
Como meu 'laboratório' é limitado em recursos, eu unifico as funções de NPS e controlador de domínio, mas recomendo que você mantenha serviços críticos separados.
Não conheço métodos padrão de sincronização de configurações (políticas) do Windows NPS, portanto vamos usar scripts PowerShell, executados pelo agendador de tarefas (o autor é meu ex-colega). Para autenticação de computadores de domínio e dispositivos que não suportam 802.1x (telefone, impressoras etc.), será configurada uma política de grupo e criados grupos de segurança.
No final do artigo, falarei sobre algumas particularidades do trabalho com 802.1x - como usar switches não gerenciados, ACLs dinâmicas etc. Compartilharei informações sobre 'bugs' que encontrei...
Começaremos com a instalação e configuração do NPS de failover no Windows Server 2012R2 (no 2016 é tudo similar): através do Gerenciador de Servidores -> Assistente para Adicionar Funções e Recursos, escolha apenas o Servidor de Políticas de Rede.

ou usando PowerShell:
Install-WindowsFeature NPAS -IncludeManagementToolsUma pequena observação - como para Protected EAP (PEAP) você precisará obrigatoriamente de um certificado que comprove a autenticidade do servidor (com os direitos adequados para uso), que será confiável nos computadores clientes, então provavelmente você precisará instalar também a função Certification Authority. Mas vamos considerar que CA já está instalado em sua máquina...
Faremos o mesmo no segundo servidor. Criaremos uma pasta para o script C:Scripts em ambos os servidores e uma pasta compartilhada no segundo servidor SRV2NPS-config$
No primeiro servidor, criaremos um script PowerShell C:ScriptsExport-NPS-config.ps1 com o seguinte conteúdo:
Export-NpsConfiguration -Path "SRV2NPS-config$NPS.xml"Depois disso, configuraremos uma tarefa no Agendador de Tarefas: “Export-NpsConfiguration”
powershell -executionpolicy unrestricted -f "C:ScriptsExport-NPS-config.ps1" Executar para todos os usuários — Executar com os mais altos privilégios
Diariamente — Repetir a tarefa a cada 10 minutos durante 8 horas.
No NPS de backup, configuraremos a importação da configuração (políticas):
criaremos um script PowerShell:
echo Import-NpsConfiguration -Path "c:NPS-configNPS.xml" >> C:ScriptsImport-NPS-config.ps1e uma tarefa para executá-lo a cada 10 minutos:
powershell -executionpolicy unrestricted -f "C:ScriptsImport-NPS-config.ps1" Executar para todos os usuários — Executar com os mais altos privilégios
Diariamente — Repetir a tarefa a cada 10 minutos durante 8 horas.
Agora, para verificação, vamos adicionar ao NPS em um dos servidores (!) dois switches como clientes RADIUS (IP e Shared Secret), duas políticas de conexão: WIRED-Connect (Condição: “Tipo de porta NAS – Ethernet”) e WiFi-Enterprise (Condição: “Tipo de porta NAS – IEEE 802.11”), além da política de rede Access Cisco Network Devices (Network Admins):
Condições:
Grupos Windows - domainsg-network-admins
Restrições:
Métodos de autenticação - Autenticação em texto simples (PAP, SPAP)
Parâmetros:
Atributos RADIUS: Padrão - Service-Type - Login
Dependentes do fornecedor - Cisco-AV-Pair - Cisco - shell:priv-lvl=15Do lado dos switches, as seguintes configurações:
aaa new-model
aaa local authentication attempts max-fail 5
!
!
aaa group server radius NPS
server-private 192.168.38.151 auth-port 1812 acct-port 1813 key %shared_secret%
server-private 192.168.10.151 auth-port 1812 acct-port 1813 key %shared_secret%
!
aaa authentication login default group NPS local
aaa authentication dot1x default group NPS
aaa authorization console
aaa authorization exec default group NPS local if-authenticated
aaa authorization network default group NPS
!
aaa session-id common
!
identity profile default
!
dot1x system-auth-control
!
!
line vty 0 4
exec-timeout 5 0
transport input ssh
escape-character 99
line vty 5 15
exec-timeout 5 0
logging synchronous
transport input ssh
escape-character 99Após a configuração, em 10 minutos, todos os clientes das políticas devem aparecer também no NPS de reserva e conseguiremos nos autenticar nos switches usando uma conta Active Directory, membro do grupo domainsg-network-admins (que criamos anteriormente).
Vamos passar para a configuração do Active Directory - criaremos a política de grupo e a política de senha necessárias, além de criar os grupos essenciais.
Política de Grupo Computers-8021x-Settings:
Configuração do Computador (Habilitado)
Políticas
Configurações do Windows
Configurações de Segurança
Serviços do Sistema
Wired AutoConfig (Modo de Inicialização: Automático)
Políticas de Rede com Fio (802.3)
NPS-802-1x
Nome NPS-802-1x
Descrição 802.1x
Configurações Globais
CONFIGURAÇÃO VALOR
Usar serviços de rede LAN com fio do Windows para clientes Habilitado
Credenciais de usuário compartilhadas para autenticação na rede Habilitado
Perfil de Rede
Configurações de Segurança
Habilitar uso de autenticação IEEE 802.1X para acesso à rede Habilitado
Forçar uso de autenticação IEEE 802.1X para acesso à rede Desabilitado
Configurações IEEE 802.1X
Autenticação de Computador Somente computador
Máximas Falhas de Autenticação 10
Máximas Mensagens EAPOL-Start Enviadas
Período Retido (segundos)
Período de Início (segundos)
Período de Autenticação (segundos)
Propriedades do Método de Autenticação da Rede
Método de autenticação PEAP protegido (Protected EAP)
Validar certificado do servidor Habilitado
Conectar a estes servidores
Não solicitar ao usuário autorização para novos servidores ou autoridades certificadoras confiáveis Desabilitado
Habilitar reconexão rápida Habilitado
Desconectar se o servidor não apresentar TLV de criptografia Desabilitado
Forçar proteção de acesso à rede Desabilitado
Configuração do Método de Autenticação
Método de autenticação Senha segura (EAP-MSCHAP v2)
Usar automaticamente meu nome de logon e senha do Windows (e domínio, se houver) Habilitado
Vamos criar um grupo de segurança sg-computers-8021x-vl100, onde adicionaremos os computadores que queremos distribuir na VLAN 100 e configuraremos a filtragem para a política de grupo criada anteriormente para esse grupo:

Para verificar se a política foi aplicada com sucesso, abra "Central de Rede e Compartilhamento (Configurações de Rede e Internet) – Alterar as configurações do adaptador (Configurar as configurações do adaptador) – Propriedades do adaptador", donde poderemos ver a aba "Autenticação":

Quando tivermos certeza de que a política está sendo aplicada com sucesso, podemos passar para a configuração da política de rede no NPS e das portas do switch de acesso.
Vamos criar uma política de rede neag-computers-8021x-vl100:
Condições:
Grupos do Windows - sg-computers-8021x-vl100
Tipo de Porta NAS - Ethernet
Restrições:
Métodos de Autenticação - Microsoft: EAP Protegido (PEAP) - Autenticação não criptografada (PAP, SPAP)
Tipo de Porta NAS - Ethernet
Configurações:
Padrão:
Framed-MTU 1344
TunnelMediumType 802 (inclui todos os meios 802, além do formato canônico Ethernet)
TunnelPrivateGroupId 100
TunnelType VLANs Virtuais 
Configurações típicas para a porta do switch (ressalto que o tipo de autenticação “multi-dominio” – Data & Voice, além da possibilidade de autenticação por endereço MAC. Durante o “período de transição”, é sensato usar nos parâmetros:
evento de falha de autenticação ação autorizar vlan 100
ação de no-response de evento de autenticação autorizar vlan 100
o id da vlan não é “quarentena”, mas sim aquele em que o computador do usuário deve entrar, após autorização bem-sucedida – enquanto não tivermos certeza de que tudo está funcionando corretamente. Esses mesmos parâmetros podem ser usados em outros cenários, por exemplo, quando um switch não gerenciado é conectado a esta porta e você deseja que todos os dispositivos conectados a ele e que não passaram pela autenticação sejam colocados em uma VLAN específica (“quarentena”).
configurações da porta do switch no modo 802.1x host-mode multi-domain
default int range Gi1/0/39-41
int range Gi1/0/39-41
shu
des PC-IPhone_802.1x
switchport mode access
switchport nonegotiate
switchport voice vlan 55
switchport port-security maximum 2
evento de falha de autenticação ação autorizar vlan 100
evento de no-response de autenticação ação autorizar vlan 100
autenticação host-mode multi-domain
autenticação controle da porta automático
autenticação violação restrita
mab
dot1x pae authenticator
dot1x timeout quiet-period 15
dot1x timeout tx-period 3
storm-control broadcast level pps 100
storm-control multicast level pps 110
no vtp
lldp receive
lldp transmit
spanning-tree portfast
no shu
exitVerifique se os computadores/telefonem foram autenticados com sucesso usando o comando:
sh authentication sessions int Gi1/0/39 detAgora, vamos criar um grupo (por exemplo, sg-fgpp-mab ) no Active Directory para telefones e adicionaremos um aparelho para testes (no meu caso, é Grandstream GXP2160 com o endereço MAC 000b.82ba.a7b1 e a conta correspondente domain 00b82baa7b1).
Para o grupo criado, reduziremos as exigências da política de senhas (usando pelo Active Directory Administrative Center -> domain -> System -> Password Settings Container) com os seguintes parâmetros Password-Settings-for-MAB:

dessa forma, permitiremos usar o endereço MAC dos dispositivos como senhas. Após isso, poderemos criar uma política de rede para autenticação 802.1x método mab, chamaremos de neag-devices-8021x-voice. Os parâmetros são os seguintes:
- NAS Port Type – Ethernet
- Windows Groups – sg-fgpp-mab
- EAP Types: Autenticação não criptografada (PAP, SPAP)
- Atributos RADIUS – Específico do Fornecedor: Cisco – Cisco-AV-Pair – Valor do atributo: device-traffic-class=voice
após a autenticação bem-sucedida (não esquecer de configurar a porta do switch), vamos verificar as informações da porta:
sh authentication se int Gi1/0/34
----------------------------------------
Interface: GigabitEthernet1/0/34
Endereço MAC: 000b.82ba.a7b1
Endereço IP: 172.29.31.89
Nome de Usuário: 000b82baa7b1
Status: Authz Success
Domínio: VOICE
Modo operacional do host: multi-domain
Direção de controle operacional: both
Autorizado por: Servidor de Autenticação
Tempo de sessão: N/A
Tempo ocioso: N/A
ID de Sessão Comum: 0000000000000EB2000B8C5E
ID de Sessão de Contabilidade: 0x00000134
Handle: 0xCE000EB3
Lista de métodos executáveis:
Método Estado
dot1x Falhou
mab Authc SucessoAgora, como prometido, vamos considerar algumas situações não tão óbvias. Por exemplo, precisamos conectar equipamentos de usuários através de um switch não gerenciado. Neste caso, as configurações da porta para ele serão as seguintes:
configurações da porta do switch em modo 802.1x host-mode multi-auth
interface GigabitEthernet1/0/1
descrição *SW – 802.1x – 8 mac*
shu
switchport mode access
switchport nonegotiate
switchport voice vlan 55
switchport port-security maximum 8 ! aumentamos o número permitido de endereços MAC
authentication event fail action authorize vlan 100
authentication event no-response action authorize vlan 100
authentication host-mode multi-auth ! – modo de autenticação
authentication port-control auto
authentication violation restrict
mab
dot1x pae authenticator
dot1x timeout quiet-period 15
dot1x timeout tx-period 3
storm-control broadcast level pps 100
storm-control multicast level pps 110
no vtp
spanning-tree portfast
no shuP.S. notei um erro muito estranho – se o dispositivo foi conectado através de tal switch e depois inserido em um switch gerenciado, ele NÃO funcionará, a menos que reiniciemos(!) o switch. Até agora, não encontrei outras maneiras de solucionar esse problema.
Outro ponto relacionado ao DHCP (se o ip dhcp snooping for usado) – sem essas opções:
ip dhcp snooping vlan 1-100
no ip dhcp snooping information optionpor algum motivo, não é possível obter o endereço IP... embora isso possa ser uma característica do nosso servidor DHCP
Além disso, o Mac OS & Linux (nos quais o suporte a 802.1x é nativo) tentam passar pela autenticação do usuário, mesmo que a autenticação por endereço MAC esteja configurada.
Na próxima parte do artigo, vamos examinar a aplicação do 802.1x para Wireless (dependendo do grupo ao qual a conta do usuário pertence, iremos 'jogar' ele na rede correspondente (VLAN), embora eles se conectem a um único SSID).
Fonte: habr.com
