O IEEE 802.1X define os detalhes de autenticação dos users na LAN, usando o Extensible Authentication Protocol (EAP), RFC 3748.
O EAP inclui mensagens do protocolo pelo que o user pode ser desafiado a fornecer uma password, bem como os flows para a criação de one-time passwords (OTPs) RFC 2889
As EAP messages são encapsuladas diretamente em frames ethernet entre 802.1X supplicant (user device) e o 802.1X authenticator (switch). Estas frames chamam-se EAP over LAN (EAPoL). O RADIUS espera por EAP messages com uma estrutura chamada de RADIUS Attribute, com estes atributos dentro de uma mensagem normal de RADIUS. Para suportar os 2 protocolos o switch faz translate de mensagens EAPoL e RADIUS que necessitem de fluir entre o supplicant e o authentication server. A VLAN na porta do switch é assignada com base nos atributos enviados pelo RADIUS server, específico do Vendor:
–[64] Tunnel-Type = VLAN
–[65] Tunnel-Medium-Type = 802
–[81] Tunnel-Private-Group-ID = VLAN name or VLAN ID
Attribute [64] must contain the value VLAN (type 13). Attribute [65] must contain the value 802 (type 6). Attribute [81] specifies the VLAN name or VLAN ID assigned to the 802.1X-authenticated user.
A figura seguinte mostra uma vista simplista dos fluxos do processo de authentication. O switch e o supplicant criam uma OTP usando uma key temporária, com o switch a fazer forwading da authentication request para o server authentication.
Os roles 802.1x na acima sumarizam-se em:
- Supplicant — The 802.1X driver that supplies a username/password prompt to the user and sends/receives the EAPoL messages
- Authenticator — Faz a translação entre as mensagens EAPoL e o RADIUS em ambas as direções, e ativa/desativa as portas com base no resultado (success/failure) obtido da authentication
- Authentication server — guarda os usernames/passwords e verifica se os valores enviados estão corretos antes de autenticar o user
O Switch trata a authentication do user 802.1X como outra opção para a authentication AAA, seguindo os passos:
- Config do comando aaa new-model
- Definir os IPs dos RADIUS e Keys através do comando radius-server host e radius-server key
- Definir o método de authentication (o único método disponível é o RADIUS) usando o comando aaa authentication dot1x default ou, para múltiplos grupos aaa authentication dot1x group name
- Ativar o 802.1X globalmente através do comando dot1x system auth-control
- Definir em interface o comando dot1x port-control {auto | force-authorized | force-unauthorized} para usar 1 dos 3 métodos:
- Usar 802.1X (auto )
- Não usa o 802.1X, mas a interface é autorizada automaticamente (force-authorized) (default)
- Não usa o 802.1X, mas a interface não é autorizada automaticamente, ficando no estado não autorizado permanentemente (force-unauthorized)
!Permite varios hosts 802.1x na mesma porta
dot1x host-mode multi-host
!Re-autenticar manualmente um cliente
dot1x re-authenticate interface interface-id
!Ativar a re-autenticacao do cliente(disabled by default)
interface interface-id
dot1x reauthentication
dot1x timeout reauth-period seconds
!Configurar VLAN Guest
dot1x guest-vlan vlan-id
Exemplo:
Ligações:
Cliente————-f1/1-Sw01Sem_802.1x——-f1/2-Sw01
BLACK_PORT——-f1/2-Sw01
Sw01(config)#
aaa new-model
radius-server host 192.168.50.10 auth-port 1645 acct-port 1646 key CCIE
aaa authentication dot1x 802.1X group radius
dot1x system-auth-control
interface FastEthernet1/1
switchport mode access
dot1x port-control auto
!
interface FastEthernet1/2
switchport mode access
dot1x port-control force-authorized
!
interface FastEthernet1/3
switchport mode access
dot1x port-control force-unauthorized
R3#show dot1x all
Sysauthcontrol Enabled
Dot1x Protocol Version 2
Dot1x Info for FastEthernet1/1
———————————–
PAE = AUTHENTICATOR
PortControl = AUTO
ControlDirection = Both
HostMode = SINGLE_HOST
ReAuthentication = Disabled
QuietPeriod = 60
ServerTimeout = 30
SuppTimeout = 30
ReAuthPeriod = 3600 (Locally configured)
ReAuthMax = 2
MaxReq = 2
TxPeriod = 30
RateLimitPeriod = 0
Dot1x Info for FastEthernet1/2
———————————–
PAE = AUTHENTICATOR
PortControl = FORCE_AUTHORIZED
ControlDirection = Both
HostMode = SINGLE_HOST
ReAuthentication = Disabled
QuietPeriod = 60
ServerTimeout = 30
SuppTimeout = 30
ReAuthPeriod = 3600 (Locally configured)
ReAuthMax = 2
MaxReq = 2
TxPeriod = 30
RateLimitPeriod = 0
Dot1x Info for FastEthernet1/3
———————————–
PAE = AUTHENTICATOR
PortControl = FORCE_UNAUTHORIZED
ControlDirection = Both
HostMode = SINGLE_HOST
ReAuthentication = Disabled
QuietPeriod = 60
ServerTimeout = 30
SuppTimeout = 30
ReAuthPeriod = 3600 (Locally configured)
ReAuthMax = 2
MaxReq = 2
TxPeriod = 30
RateLimitPeriod = 0
!Re-autenticar manualmente
dot1x re-authenticate interface fastethernet0/1