[Fedora-users-br] DHCP - IEEE 802.1X

Otto Fuchshuber Filho o2to2f em gmail.com
Sex Jan 6 16:51:17 UTC 2006


Explicando rapidamente o padrão IEEE 802.1X, existem basicamente 3 entidades 
(termos definidos no padrão):
1. Autenticador (authenticator): entidade na extremidade de um segmento de LAN 
ponto-a-ponto que facilita a autenticação da entidade conectada na outra 
extremidade.
2. Servidor de autenticação (authentication server): Entidade que provê serviço 
de autenticação para o autenticador.  Este serviço determina, a partir das 
credenciais de acesso providas pelo suplicante, se ele está autorizado a acessar 
os serviços providos pelo autenticador.
3. Suplicante (supplicant): Entidade na extremidade de um segmento de LAN 
ponto-a-ponto que está sendo autenticada por um autenticador conectado na outra 
extremidade.

Esclarecendo melhor:
1. O autenticador é um switch nas redes cabeadas ou um access point 802.11 nas 
redes wireless, com suporte a 802.1X.
2. O servidor de autenticação é um servidor Radius.
3. O suplicante é um micro, notebook, PDA (Palm, IPaq, ...), etc, com um 
software-cliente 802.1X instalado.

De maneira bem simplificada, o funcionamento na rede cabeada é o seguinte:  as 
portas do switch estão sempre bloqueadas, não permitindo que qualquer tráfego 
ethernet passe por elas, a menos dos pacotes de autenticação.  Ao perceber a 
conexão de um micro em uma de suas portas (logon, presença do sinal link do 
ethernet, etc), o switch pede ao micro que se identifique (ou o próprio micro 
inicia o processo de autenticação).  O micro então informa suas credenciais de 
acesso as quais o switch repassa ao servidor Radius.  Se as credenciais forem 
válidas, o servidor Radius informa ao switch que por sua vez libera a porta.  Se 
as credenciais não forem válidas, o servidor Radius informa ao switch o qual 
mantém a porta bloqueada.  Ao se fazer logoff no micro, desligá-lo ou 
desconectar seu cabo de rede, a porta do switch volta a ser bloqueada.  Se você 
tentar enganar o switch colocando dois micros em uma mesma porta através de um 
hub e autenticando apenas um deles, a porta bloqueia assim que mais de um 
endereço MAC tentar trafegar por ela (em alguns switches, a quantidade de 
endereços MAC permitida é configurável).

Existem implementações proprietárias (por exemplo, as arquiteturas UPN da 
Enterasys e IBNS da Cisco) que, a partir do 802.1X, permitem associar um perfil 
à porta em função das credenciais de acesso apresentadas, permitindo coisas do 
tipo limitar/especificar a banda, especificar que serviços podem ser utilizados, 
que servidores podem ser acessados, qual VLAN se conectar.

As credenciais de acesso podem ser desde a velha dupla username/password até 
certificados digitais, vai depender do mecanismo de autenticação que se deseja 
utilizar (EAP-MD5, LEAP, PEAP, EAP-MSCHAPv2, EAP-TLS, EAP-TTLS), em função do 
nível de segurança requerido.

Então, para implementar um ambiente IEEE 802.1X em rede cabeadas, você precisa 
de switches que tenham suporte a 802.1X, um servidor Radius (ou mais de um para 
alta disponibilidade) e clientes 802.1X instalados nos micros.  Micros que não 
tenham clientes 802.1X simplesmente não conseguem trafegar absolutamente nada na 
rede, sequer conseguem obter endereço pelo DHCP.

O switch, só comprando.  Cisco, Nortel e Enterasys são as opções tradicionais (e 
mais caras), mas pode ser que já existam switches "genéricos" (Planet, Encore, 
etc) que ofereçam suporte a 802.1X.  Teria que pesquisar.

O software Radius Server pode ser adquirido (por exemplo, Cisco ACS, Microsoft 
IAS) ou implementado em uma máquina Linux com o FreeRadius 
(http://www.freeradius.org).  É possível inclusive em certas implementações, 
configurar o Radius para pesquisar as credenciais de acesso em um Active 
Directory ou LDAP.

Já o cliente 802.1X para os micros:
- Para o Linux tem o Open1X (http://open1x.sourceforge.net) e WIRE1x 
(http://wire.cs.nthu.edu.tw/wire1x).
- Para o Win2K-SP2 e XP, existe suporte nativo para alguns mecanismos de 
autenticação (EAP-MSCHAPv2 e EAP-TLS, se não me engano).
- Para outros Windows e/ou outros mecanismos de autenticação, existem os 
clientes "pagos" Odyssey Client da Funk Software 
(http://www.funk.com/radius/wlan/wlan_c_radius.asp) e Aegis Client da 
Meetinghouse (http://www.mtghouse.com/products/aegis_solutions.asp).
- Para outros SO's (outros Unix-like, MAC OS X, etc) tem que pesquisar.

Para o caso dos demais dispositivos ethernet tais como impressoras, já estão 
aparecendo no mercado alguns com suporte a 802.1X (algumas impressoras da HP, se 
não me engano) mas por enquanto acho que a solução ainda é o velho filtro por 
MAC Address e investir em segurança física para eles de tal forma que minimize o 
risco de seus pontos de rede serem utilizados por pessoas não autorizadas.

Enfim, a solução 802.1X é extremamente robusta e altamente escalável mas, por 
isto, sua implementação não é trivial, requer ajustes de configuração que 
precisam ser determinados em um ambiente de teste antes de colocar em produção, 
pois são muitas opções e o que funciona em uma rede pode não funcionar em outra. 
  Algumas das considerações que expus já testei e implementei, outras não.

Finalmente, como leitura, achei este HOW-TO para implementação com FreeRadius e 
Open1X: http://www.tldp.org/HOWTO/html_single/8021X-HOWTO.  Não o li, só passei 
os olhos, mas parece ser bem completo.  Só que é em inglês.

Bem, tentei dar uma geral no 802.1X para você, espero ter ajudado.

Sds,
Otto Fuchshuber Filho
o2to2f em gmail.com

Adere - Levi / Suporte Linux wrote:
> existiria algum manual passo a passo pra mim tentar implantar o 
> protocolo 802.1X, explicasse melhor, em português?
> 
> Otto Fuchshuber Filho escreveu:
> 
>> É possível fazendo bloqueio por MAC ou implementando o protocolo IEEE 
>> 802.1X.
>>
>> Em ambos os casos seu switch precisa ter suporte a estas features e no 
>> caso do 802.1X você ainda precisará de servidores Radius.
>>
>> Sds,
>> Otto Fuchshuber Filho
>> o2to2f em gmail.com
>>
>> Adere - Levi / Suporte Linux wrote:
>>
>>> Pessoal uso DHCP na minha rede, mas as vezes chegam algumas pessoas 
>>> com notebook, espetam seus notebook na minha rede e logo em seguinda 
>>> eles ja adquiriram um numero ip, dns primario, secundario, gateway, 
>>> entre outras coisas, queria saber se tem como barrar isso, quando a 
>>> pessoa colocar o notebook na rede, não vai conseguir fazer nada, não 
>>> vai obter ip, nada, teria como?
>>>
>>> -- 
>>> Fedora-users-br mailing list
>>> Fedora-users-br em redhat.com
>>> https://www.redhat.com/mailman/listinfo/fedora-users-br
>>
>>
>> -- 
>> Fedora-users-br mailing list
>> Fedora-users-br em redhat.com
>> https://www.redhat.com/mailman/listinfo/fedora-users-br
>>
>>
> --
> Fedora-users-br mailing list
> Fedora-users-br em redhat.com
> https://www.redhat.com/mailman/listinfo/fedora-users-br




Mais detalhes sobre a lista de discussão Fedora-users-br