802.1x

IEEE 802.1X (também chamado de dot1x) é um padrão IEEE RFC 3748 para controle de acesso à rede. Ele prove um mecanismo de autenticação para hosts que desejam conectar-se a um Switch, por exemplo. A funcionalidade é também bastante poderosa para vinculo de VLANs, VLANs Guest e ACL’s dinâmicas. As funcionalidades do 802.1x permitem por exemplo, que caso um computador não autentique na rede, a máquina seja redirecionada para uma rede de visitantes, etc.

O padrão 802.1x descreve como as mensagens EAP são encaminhadas entre um suplicante (dispositivo final, como um host da rede) e o autenticador (Switch ou access point), entre o autenticador e o servidor de autenticação. O autenticador encaminha as informações EAP para o servidor de autenticação pelo protocolo RADIUS.

Uma das vantagens da arquitetura EAP é a sua flexibilidade. O protocolo EAP é utilizado para selecionar o mecanismo de autenticação. O protocolo 802.1x é chamado de encapsulamento EAP over LAN (EAPOL). Atualmente ele é definido para redes Ethernet, incluindo o padrão 802,11 para LANs sem fios.

Os dispositivos que compõem a topologia para o funcionamento do padrão 802.1x são:

  • Suplicante (Supplicant): um suplicante pode ser um host com suporte a 802.1x com software cliente para autenticação, um telefone IP com software com suporte a 802.1x etc.
  • Autenticador (Authenticator): Dispositivo (geralmente o Switch, AP, etc) no meio do caminho que efetua a interface entre o Autenticador e o Suplicante. O autenticador funciona como um proxy para fazer o relay da informação entre o suplicante e o servidor de autenticação. O Switch recebe a informação de identidade do suplicante via frame EAPoL (EAP over LAN) que é então verificado e encapsulado pelo protocolo RADIUS e encaminhado para o servidor de autenticação. Os frames EAP não são modificados ou examinados durante o encapsulamento. Já quando o Switch recebe a mensagem do RADIUS do Servidor de autenticação, o cabeçalho RADIUS é removido, e o frame EAP é encapsulado no formato 802.1x e encaminhado de volta ao cliente.
  • Servidor de Autenticação (Authentication Server): O Servidor RADIUS é responsável pelas mensagens de permissão ou negação após validação do usuário. Durante o processo de autenticação o Authentication Server continua transparente para o cliente pois o suplicante comunica-se apenas com o authenticator. O protocolo RADIUS com as extensões EAP são somente suportados pelo servidor de autenticação.

  1. O suplicante envia uma mensagem start para o autenticador.
  2. O autenticador envia uma mensagem solicitando um login ao suplicante.
  3. O suplicante responde com o login com as credenciais do usuário ou do equipamento.
  4. O autenticador verifica o quadro EAPoL e encapsula-o no formato RADIUS, encaminhando posteriormente o quadro para o servidor RADIUS.
  5. O servidor verifica as credenciais do cliente e envia uma resposta ao autenticador com a aplicação das políticas.
  6. Baseado ne mensagem da resposta, o autenticador permite ou nega o acesso a rede para a porta do cliente.

EAP Types

Os tipos de EAP podem ser divididos em duas categorias: ‘EAP native’ e ‘EAP tunelled’ (que usa um túnel TLS entre o suplicante e o autenticador).

Native EAP Types:

EAP-MD5: Envia as credenciais escondidas em hash. O hash é enviado para o servidor que então compara com o hash local. Entretanto o EAP-MD5 não possui mecanismo para autenticação mutua, o servidor valida o cliente, mas o cliente não valida o servidor de autenticação. EAP-MD5 é geralmente utilizado em telefones IP e também permite alguns Switches utilizar o MAB (MAC authentication Bypass).

EAP-TLS: utiliza TLS para prover a transação de identidade de forma segura. Utiliza certificados X.509 e prove a habilidade de suportar autenticação mutua onde o cliente e o servidor devem confiar o certificado. É considerado o mais seguro tipo de EAP pois a captura da senha não é uma opção; o dispositivo final ainda deve ter uma chave privada.

EAP-MSCHAPv2: As credenciais do cliente são enviadas criptografadas para o servidor com uma sessão MSCHAPv2. Permite uma simples transmissão do usuário e senha, ou mesmo nome do computador e senha para o servidor RADIUS que autentica com o Active Directory (AD).

EAP-GTC: EAP-Generic Token Card foi criado pela Cisco como alternativa para o MSCHAPv2 que permite autenticação genérica para virtualmente armazenar qualquer identidade, incluindo servidor de Token OTP, LDAP, Novel E-Directory, etc.

Tunneled EAP Types:

O modo native EAP envia suas credenciais imediatamente enquanto o tunneled EAP forma primeiro um túnel criptografado e então transmite as credenciais dentro do tunel.

PEAP: Protected EAP (PEAP): foi originalmente proposto pela Microsoft e rapidamente tornou-se popular e largamente implementado. O PEAP forma um túnel criptografado entre o cliente e servidor utilizando o certificado x.509. Após a formação do túnel, o PEAP utiliza outro tipo EAP como método interno, autenticando o cliente utilizando o EAP dentro do túnel, utilizando EAP-MSCHAPv2, EAP-GTC e EAP-TLS.

EAP-FAST: Flexible Authentication via Secure Tunnel (FAST) é similar ao PEAP. Assim como o PEAP, FAST forma um tunel TLS externo e então transmite as credenciais dentro do túnel. A diferença do FAST para o PEAP é a habilidade PAC ( protected access credentials). O PAC atua como um cookie seguro, armazenando localmente no host uma prova do sucesso da autenticação. Pode utilizar como EAP interno EAP-MSCHAPv2, EAP-GTC e EAP-TLS.

O modo tunneled EAP inclui o conceito de identidade inner e outer  (interna e externa). A identidade inner é o dispositivo que autentica utilizando protocolo native EAP.  A identidade outer é utilizado entre o suplicante e o servidor de autenticação para estabelecimento do TLS.

Exemplo de Configuração para Switches Cisco 3560

aaa new-model
 aaa authentication dot1x default group radius
! utilizará o grupo de servidores RADIUS para autenticação
 dot1x system auth-control 
! Habilitando o 802.1x globalmente.
  
 radius-server host 192.168.1.1 auth-port 1812 acct-port 1646
 radius-server host 192.168.1.2 auth-port 1645 acct-port 1646 
 radius-server key cisco
 ! Configurando os servidores RADIUS a chave para autenticação.
 
 ! Configuração das portas 802.1x como auto | force-authorized | force-unauthorized. 
 int fa0/1
 dot1x port-control force-authorized
 ! A porta como force-authorized não usa 802.1x e autoriza automaticamente.
  int fa0/2
 dot1x port-control auto 
 ! A porta como auto usa 802.1x e solicita autenticação
 int fa0/3
 dot1x port-control force-unathorized
 ! A porta como force-authorized não usa 802.1x e não permite autorização.
	

Referências

CCNP Security SISAS 300-208 Official Cert Guide, Cisco Press 2015, Aaron Woland and Kevin Redmon
http://blog.ccna.com.br/2009/02/25/pr-o-que-e-8021x/
https://tools.ietf.org/html/rfc3748

2 thoughts on “802.1x

    • Diego Cierais 11/13/2017 / 6:25 pm

      Pow André, nem fala, o tempo cada vez mais escasso e a adaptação ao mercado de trabalho tem sido um grande desafio para escrever e administrar o blog.

      Vlw mais uma vez pela sua visita… é um incentivo!

Leave a Reply

Your email address will not be published. Required fields are marked *