Servidor de autenticação 802.1x com Freeradius

Instalação completa de um servidor de autenticação 802.1x para redes sem fio (wireless) e redes com fio (wired), abordando a configuração do servidor (passo a passo), do cliente (sistema operacional) e do suplicante (Access Point).

[ Hits: 282.709 ]

Por: Marcos Antonio Rosa em 31/10/2007


Introdução



Este é o primeiro de 6 artigos que pretendo apresentar sobre autenticação IEEE 802.1x e RADIUS.

Pretendo dividir os arquivos da seguinte forma:
  • 01. Instalação de servidor Radius (FreeRadius) e configurações para autenticação de clientes wireless com PEAP-MSCHAPv2 (usuário e senha);
  • 02. Instalação de um portal de autenticação HotSpot (Captive Portal), utilizando o NoCat.
  • 03. Instalação de ferramenta de gerencia gráfica para o FreeRadius (phpRadmin) e autenticação com base de dados MySQL;
  • 04. Integração do FreeRadius com AD e LDAP.
  • 05. Autenticação 802.1x utilizando certificado Digital;
  • Integração da gerência do FreeRadius, MySQL, DHCP Server, OpenSSL, DNS, Apache e Nocat, com o WebMin.

Neste artigo então trataremos de instalar o servidor e configurá-lo de modo que possamos autenticar clientes de redes wireless, utilizando como credenciais de acesso "usuário e senha", substituiremos o MD5 pelo MS-CHAPv2 por questões de segurança visto que o MD5 não utiliza sessões cifradas entre o suplicante e o server FreeRadius, a MS não disponibiliza em seu cliente XP MD5 para Wireless apenas Wired.

Bom, com este modelo de autenticação já é possível montar uma rede wireless com um bom nível de segurança, permitindo uma base de usuários em arquivo texto, o qual futuramente migraremos para um banco MySQL e depois para AD ou LDAP.

Neste modelo de autenticação é possível configurar SSO (Single sign-on) e também passar como parâmetro a VLan ao qual o Cliente estará associado.

A base de usuários neste primeiro artigo será em arquivo texto para diminuir a complexidade e facilitar o entendimento.

Diagrama lógico:



Pré-requisitos

Instalação do Fedora Core 6, marcando as seguintes opções na instalação inicial:
  • Servidor web;
  • Servidor MySQL;
  • Desenvolvimento KDE;

Obs:
  1. Outras distribuições Linux podem ser utilizadas sem problemas.
  2. Não abordarei a instalação do Fedora Core, mesmo porque este processo está muito fácil nesta distribuição, dê o boot pelo CD e siga os passos do wizard de instalação e quando for solicitado selecione os pacotes acima, a instalação da interface gráfica não é pré-requisito, pois o gerenciamento do servidor Radius pode ser feito via navegador a partir de outra máquina.

    Próxima página

Páginas do artigo
   1. Introdução
   2. Instalação
   3. FASE 1
   4. Métodos de autenticação
   5. FASE 2
   6. Configuração AP (Access Point)
   7. Configuração cliente (Windows XP)
Outros artigos deste autor

Instalação de MRTG em ambiente Windows

Instalação do Freeradius com suporte a EAP-TLS e PEAP-TTLS MSCHAPv2 no Ubuntu

Portal de autenticação wireless (HotSpot)

Leitura recomendada

13 dicas de segurança para o Apache

Análise Forense - Aspectos de perícia criminal

Quebrando chave WEP - Wired Equivalent Privacy (parte 2)

Definição de hacker

Autenticação via hardware: o módulo pam_blue

  
Comentários
[1] Comentário enviado por y2h4ck em 31/10/2007 - 09:21h

Rapaz muito bom o artigo, realmente eu estava para ver alguém postar um artigo sobre autenticação em 802.1x

Realmente dou nota 10 !!!
Até hoje eu somente havia implementado este tipo de autenticação em ambiente Microsoft usando Microsoft IAS.

Novamente parabéns.

[2] Comentário enviado por edijr em 31/10/2007 - 14:38h

Muito bom mesmo, nota 10, ainda não implementei, mas já está fila...

[3] Comentário enviado por dedraks em 31/10/2007 - 18:12h

Muito bom. Espero ansiosamente pelos próximos artigos... :)

[4] Comentário enviado por rrinfor em 31/10/2007 - 20:22h

Ótimo artigo!!

mandou muito bem, vc nem imagina o tamanho do problema que vou resolver com esse artigo, espero ansiosamente pelos próximos artigos!

sucesso!!

[5] Comentário enviado por rafasysop em 03/11/2007 - 17:04h

Amigo Fiz do jeitinho que vc falou e olha o que deu!


root@servidor:/etc/freeradius# /etc/init.d/freeradius restart
* Stopping FreeRADIUS daemon freeradius * /var/run/freeradius/freeradius.pid not found... [ OK ]
* Starting FreeRADIUS daemon freeradius Sat Nov 3 17:00:42 2007 : Info: Starting - reading configuration files ...
[ OK ]
root@servidor:/etc/freeradius# freeradius -X
Starting - reading configuration files ...
reread_config: reading radiusd.conf
Config: including file: /etc/freeradius/clients.conf
Config: including file: /etc/freeradius/eap.conf
main: prefix = "/usr"
main: localstatedir = "/var"
main: logdir = "/var/log/freeradius"
main: libdir = "/usr/lib/freeradius"
main: radacctdir = "/var/log/freeradius/radacct"
main: hostname_lookups = no
main: max_request_time = 30
main: cleanup_delay = 5
main: max_requests = 1024
main: delete_blocked_requests = 0
main: port = 1812
main: allow_core_dumps = no
main: log_stripped_names = no
main: log_file = "/var/log/freeradius/radius.log"
main: log_auth = no
main: log_auth_badpass = no
main: log_auth_goodpass = no
main: pidfile = "/var/run/freeradius/freeradius.pid"
main: user = "freerad"
main: group = "freerad"
main: usercollide = no
main: lower_user = "no"
main: lower_pass = "no"
main: nospace_user = "no"
main: nospace_pass = "no"
main: checkrad = "/usr/sbin/checkrad"
main: proxy_requests = yes
main: debug_level = 0
read_config_files: reading dictionary
read_config_files: reading naslist
Using deprecated naslist file. Support for this will go away soon.
read_config_files: reading clients
read_config_files: reading realms
listen: port = 0
listen: type = "auth"
radiusd: entering modules setup
Module: Library search path is /usr/lib/freeradius
Module: Loaded MS-CHAP
mschap: use_mppe = yes
mschap: require_encryption = no
mschap: require_strong = no
mschap: with_ntdomain_hack = yes
mschap: passwd = "(null)"
mschap: ntlm_auth = "(null)"
Module: Instantiated mschap (mschap)
Module: Loaded eap
eap: default_eap_type = "ttls"
eap: timer_expire = 60
eap: ignore_unknown_eap_types = no
eap: cisco_accounting_username_bug = no
rlm_eap: Loaded and initialized type md5
rlm_eap: Loaded and initialized type leap
gtc: challenge = "Password: "
gtc: auth_type = "PAP"
rlm_eap: Loaded and initialized type gtc
rlm_eap: Failed to link EAP-Type/tls: rlm_eap_tls.so: cannot open shared object file: No such file or directory
radiusd.conf[2]: eap: Module instantiation failed.
radiusd.conf[104] Unknown module "eap".
radiusd.conf[99] Failed to parse authenticate section.

[6] Comentário enviado por valterrezendeeng em 03/11/2007 - 20:33h

Cara, muito bom o Artigo, de nivel muito avançado e necessario.

nota 100.

Abraços

[7] Comentário enviado por tecnorede em 03/11/2007 - 22:10h

rafasysop,
Me parece que voce não seguiu o tutorial a risca , heheh no log acima ja aponta isso, parece que você pulou a primeira etapa ou esqueceu de habilitar os logs (main: log_auth = no // main: log_auth_badpass = no // main: log_auth_goodpass = no) , bom mas vamos lá, primeiro inicie o Radius apenas com radiusd -X . pq , pelo post acima vc esta iniciando duas vzs o radius , isso pode gerar problemas.
Contudo o erro apontado acima diz que vc esta tentando carregar um modulo eap que o radius não conhece , verifique nas linhas apontadas se não tem erro de digitação e mude para yes (ignore_unknown_eap_types = yes), para ignorar os modulos desconhecidos
Se não conseguir resolver me manda os arquivos (radius.conf e eap.conf) que te retorno . flw abraço

[8] Comentário enviado por fmpfmp em 06/11/2007 - 12:54h

No final do artigo você diz: "marque também o Fast Reconnect e evite chateação com o XP. ". O FreeRadius não suporta Fast Reconnect, então essa opção é inútil. E só lembrando que não adianta usar o pacote freeradius que está nos repositórios do Debian, é preciso compilar o fonte original, pois devido a restrições de licença, ele não vem com suporte a várias coisas.

[9] Comentário enviado por tecnorede em 07/11/2007 - 09:14h

Olá , "fmpfmp" . Grato por sua contribuição referente a licença do pacote no repo do Debian eu desconhecia, vlw . porem como comentado no artigo a instalação no artigo esta baseada no Fedora.
Cara quanto ao fast reconnect, a maioria dos radius que conheço (exceto o da propria MS), não suporta o Fast Reconnect ... o IAS da microsoft faz um cache das sessões TLS (e isso não é por padrão deve ser configurado) que tiveram sucesso na etapa 1 e 2 e torna possivel a retomada desta sessão, tornando a RE autenticação mais rápida,
Bom mas isso é para o IAS, porem se você testar verá que com esta opção marcada o client do windows não derruba a conexão durante um longo periodo de inatividade.

Abraços,
"Qualquer comentario é bem vindo e os criticos mais ainda porque assim podemos aprender um pouco mais"

[10] Comentário enviado por tecnorede em 07/11/2007 - 10:02h

Olá pessoal , recebi alguns e-mails sobre o mesmo erro "falha na leitura de modulos EAP", verifiquei que realmente este problema e recorrente na isntalação a partir dos binarios do Debian e derivados, provavelmente não são suportados alguns modulos EAP por motivo de conflito de licenças "conforme comentado anteriormente, pelo fmpfmp"
Bom a instalação a partir dos fontes resolve o problema, estou preparando uma atualização para o artigo com a instalação no Debian, devo postar em breve.
abraço

[11] Comentário enviado por tecnorede em 15/11/2007 - 23:23h

Galera ja postei um novo artigo (pequeno) , tratando da instalação no Ubuntu (Debian) , demora um pouquinho para a galera do VOL liberar (normal) então vo postar aqui a pagina que interessa a alguns referente a instalação

##### inicio #######
Partindo do pré-suposto que estão com o Ubuntu 6.06 instalado (padrão com Gnome), vamos para a pasta :

/usr/local/src , onde baixaremos os fontes

# cd /usr/local/src
# wget ftp://ftp.freeradius.org/pub/radius/freeradius-1.1.7.tar.gz
# tar -zxvf freeradius-1.1.7.tar.gz
# cd tar freeradius-1.1.7

A instalação padrão não vem com todas as ferramentas "dpkg" instaladas então vamos instalar via apt-get:

# apt-get install dpkg*

O openssl ja esta presente na instalação do Ubuntu mas com algumas dependencias que precisaremos então :

# apt-get build-dep openssl

para a construção dos pacotes .deb (neste caso especifico) precisaremos deixar o compilador bala então rode :

# apt-get build-dep gcc

Também precisaremos desta ferramenta mágica "dpatch" para os patch.

# apt-get install dpatch

O "fakeroot" não pode ficar de fora, heheh
# apt-get install fakeroot

Agora do diretório fonte do freeradius (/usr/local/src/freeradius-1.1.7/)
vamos tentar construir os pacotes .deb, não comentei ainda mas o objetivo de criar os pacotes .deb é porque com estas ferramentas as dependencias são corrigidas mais facilmente, então vamos lá.

# dpkg-buildpackage -rfakeroot

A primeira saida que tive foi essa :

--------------------------------------------------------------------------------------------
dpkg-buildpackage: source package is freeradius
dpkg-buildpackage: source version is 1.1.7-0
dpkg-buildpackage: source changed by Alan DeKok <aland@freeradius.org>
dpkg-buildpackage: host architecture i386
dpkg-checkbuilddeps: Unmet build dependencies: dpatch (>= 2) autotools-dev libtool (>= 1.5) libltdl3-dev libpam0g-dev libmysqlclient15-dev | libmysqlclient14-dev | libmysqlclient-dev libgdbm-dev libldap2-dev libsasl2-dev libiodbc2-dev libkrb5-dev libperl-dev snmp libsnmp9-dev | libsnmp5-dev | libsnmp4.2-dev libpq-dev | postgresql-dev libssl-dev
dpkg-buildpackage: Build dependencies/conflicts unsatisfied; aborting.
dpkg-buildpackage: (Use -d flag to override.)
--------------------------------------------------------------------------------------------

vocês também devem ter algo parecido, mas nada de pânico, vamos instalar as "bonecas".
Temos que instalar tudo mesmo que não precisamos de suporte a postgre, ldap etc. mas acho mais facil instalar esta lib do que mecher nos arquivos de conf para criar so os .deb que precisaremos. mão a obra e instalem :

# apt-get install autotools-dev
# apt-get install libtool
# apt-get install libltdl3-dev
# apt-get install libpam0g-dev
# apt-get install libmysqlclient15-dev
# apt-get install libgdbm-dev
# apt-get install libldap2-dev
# apt-get install libsasl2-dev
# apt-get install libiodbc2-dev
# apt-get install libkrb5-dev
# apt-get install libperl-dev
# apt-get install snmp
# apt-get install libsnmp9-dev
# apt-get install libpq-dev

(eu instalo um por um porque minha conexão é uma merda e se rodar tudo junto não aguento ficar esperando, tambem quando da pau é mais facil de resolver)

Vamos agora rodar novamente o dpkg-buildpackage -rfakeroot

"Ohhh" e a construção dos pacotes foi ...

então no diretório acima de /usr/local/src/freeradius-1.1.7 temos os seguintes pacotes .deb criados:

freeradius-krb5_1.1.7-0_i386.deb
freeradius-ldap_1.1.7-0_i386.deb
freeradius-dialupadmin_1.1.7-0_all.deb
freeradius-mysql_1.1.7-0_i386.deb
freeradius_1.1.7-0_i386.deb
freeradius-iodbc_1.1.7-0_i386.deb
freeradius-postgresql_1.1.7-0_i386.deb

Vamos agora a instalação :
cd ..
então em /usr/local/src
# dpkg -i freeradius_1.1.7-0_i386.deb

ok ! instalação com sucesso

IMPORTANTE !
na instalação atravez do .deb, você tem os arquivos de configuração em /etc/freeradius/ e o script para rodar o radius que é colocado em /etc/init.d não é radiusd e sim freeradius, então para iniciar o radius => /etc/init.d/freeradius start
também será criado um usuário e grupo chamado "freerad"

####### fim #############

[12] Comentário enviado por cytron em 16/11/2007 - 23:46h

Me diz uma coisa... como ficam os ips nessa história? pode colocar direto na interface do cliente ou dhcp do ap ou até mesmo pelo pool do radius?

eu uso pppoe + freeradius, mas vou te contar uma coisa, esse pppoe da roaring-penguin é muito bugado, to procurando outra solução que seja de fácil configuração para o cliente.

Esse seu artigo é bom mesmo! A galera tá elogiando com grande razão... Obrigado pelo "conhecimento".

[13] Comentário enviado por tecnorede em 18/11/2007 - 18:21h

tinha respondido mas naum sei o que deu , mas vamos lá
cytron os ips, usa o server dhcp do AP fica melhor , no radius você não deve rodar servidor dhcp

[14] Comentário enviado por fenix.se em 20/11/2007 - 16:51h

Muito bom mesmo aliás, ótimo, agora é só esperar o NocatAuth e vai ficar impossível melhorar.
Valeu mesmo !

[15] Comentário enviado por andrelz em 27/11/2007 - 09:50h

Fiz a instalação e configuração do FREERADIUS e ao tentar autenticar no servidor, vendo o log do servidor apareceu esse erro:

Error: rlm_sql: Failed to create the pair: Unknown value bl-Van-Jacobsen-TCP-IP for attribute Framed-Compression

Alguém sabe dizer o que é isso? Já procurei nos radius.conf e no sql.conf e não achei nada. To dependendo disso para apresentar meu projeto final de graduação.
Abraço a todos.
André Luis


[16] Comentário enviado por tecnorede em 27/11/2007 - 14:42h

andrelz , você quiz dizer "Van-Jacobson-TCP-IP"

confere teu arquivo /etc/raddb/users

--------------------users--------------------------------------------
DEFAULT Framed-Protocol == PPP
Framed-Protocol = PPP,
Framed-Compression = Van-Jacobson-TCP-IP
-----------------------------------------------------------------------

[17] Comentário enviado por g0han em 03/12/2007 - 13:45h

excelente artigo tecnorede..

é exatamente o que estava procurando, vou tentar implementar em um servidor de médio porte.

otima contribuição..

[]s

[18] Comentário enviado por skarote em 04/12/2007 - 17:32h

tecnorede muito bom o seu artigo, so estou com um pequeno problema no meu radiusd.conf quando eu coloco o ip da minha placa de rede ele não conecta mas se eu deixo * e no radtest mando no ip 127.0.0.1 funciona algume sabe me dizer pq ?

Desde já agradeço a atenção

[19] Comentário enviado por Infosegura em 13/02/2008 - 15:12h

como eu configuro o cliente no linux???

[20] Comentário enviado por tecnorede em 19/02/2008 - 00:17h

skarote . se vc colocar seu ip e o Radius subir porem como vc diz "não conecta" é porque vc tem que adicionar o seu IP como cliente em clients.conf . abraço

[21] Comentário enviado por raphaguedes em 21/02/2008 - 09:19h

Starting - reading configuration files ...
Using deprecated naslist file. Support for this will go away soon.
/etc/freeradius/radiusd.conf[208]: Error binding to port for 0.0.0.0:1812

amigo... o freeradius fica dando esse erro o tempo todo...
quando eu comento essa linha [208] ele volta ao normal, essa é a linha do listen!
+ a conexão do AP não funciona! [ps: nunca chegou a funcionar]
as configurações todas estão iguais as que você passou.

[22] Comentário enviado por carlosleonardo em 05/03/2008 - 18:50h

galera da uma luz ai to com um problema na primeira fase do tutorialnesta primeira pagina . minha rede da interent tem faixa de ip 10.1.1.alguma coisa gateway 10.1.1.1. rede interna 192.168.0.1 e as maquinas windows usam 192.168.0alguma coiasa. duvida qual ip coloco no radiusd.cond e no clients.conf. outra coisa quando tento testar como radtest se usoip da erro no response from server for id e se coloco localhost ou 127.0.0.1 no lugar do ip. da a amensagem rad_recv: access-reject packet from host 127.0.0.1:1812, id=35, length=20 nao sei ocmo resolver isto da uma luz ai galera to querendo configurar o freeradius a dias enaocnsigo nada....vlw..

[23] Comentário enviado por tecnorede em 10/03/2008 - 10:35h

raphaguedes , você esta rodando o radius para todas as interfaces 0.0.0.0:1812, mude em radius.conf localize :
bind_address = * e substitua o * pelo endereço ip da placa de rede que ira receber pedidos de autenticação.
tbm em :
port = 0
Altere para 1812 que é a porta padrão .
você pode também indicar onde o Radius ira responder em :

listen {
.
.
.
}

Neste caso você tem outras opções , mas se usar o listen comente "bind_address" e "port" .

[24] Comentário enviado por tecnorede em 10/03/2008 - 10:45h

carlosleonardo , Cara me parece que você precisa antes entender o conceito do Radius , mas vamos lá .
O endereço ip para o servidor radius pode ser qualquer um . (ponto) desde que os seus clientes consigam chegar até ele . de um modo geral coloca-se ele em uma rede lan para reduzir riscos de segurança .
Então no seu caso coloque por exemplo 192.168.0.254 para o IP do radius , e esta interface de rede deve estar conectada na sua rede lan.

a menssagem que voce esta recebendo "access-reject" significa que você provavelmente não segui corretamente o tutorial hehehe , va em clients.conf e adicione a seguinte entrada (claro que colocando ip e chave conforme vc configurou)

client 192.168.0.254 {
secret = testing123-2
shortname = wireless
}

não esqueça , cada client do Radius deve possuir uma entrada neste arquivo , no formato acima e no cliente vc deve configurar o endereço do servidor radius e a "secret" .
inclusive para que vc possa usar o radtest deve fazer uma entrada para a interface local de sua maquina e a 127.0.0.1.

[25] Comentário enviado por tecnorede em 10/03/2008 - 10:49h

olá mestre5 , bem provávelmente sua distribuição linux ja possui suporte a 802.1x , mas de qlq forma segue abaixo o link de um autenticador 802.1x free .

http://hostap.epitest.fi/releases/wpa_supplicant-0.5.10.tar.gz

[26] Comentário enviado por lucianofsjr em 19/03/2008 - 10:23h

tecnorede seu artigo esta muito bom. era oque eu tava procurano. mais estou com um problema no meu radius. uso o fedora c8 e segui bem o tutorial (pelo menos eu acho). e esta apresentando o seguinte erro:

Info Starting - reading configuration file ...
[FAILED]

obs: sou iniciante em linux estou usando a 1 mes e um poquinho intao se poder me ajudar com o minimo possivel de termos de usuarios avançados iria ajudar mais ainda. ;)

[27] Comentário enviado por lucianofsjr em 20/03/2008 - 09:19h

resolvi esse problema ai de cima, olhei o log de erros e descobri que era o EAP que estava dando erro. Resolvi esse problema fazendo backup do arquivo "eap.conf". Agora no terminal ele da a mensagem:

radiusd dead but subsys locked
Starting RADIUS server: Thu Mar 20 08:59:35 2008 : Info: Starting - reading configuration files ...
[ OK ]

Problema; olhei os registros de logs so por curiosidade (Já dizia minha avó, "A curiosidade matou o gato") e descubri o que eu tinha medo. ainda esta dando erro, agora o problema é o seguinte;

Thu Mar 20 08:59:35 2008 : Info: Using deprecated naslist file. Support for this will go away soon.
Thu Mar 20 08:59:35 2008 : Info: rlm_exec: Wait=yes but no output defined. Did you mean output=none?
Thu Mar 20 08:59:35 2008 : Error: Failed creating PID file /var/run/radiusd.pid: Permission denied

alguem ajuda ai por favor!!

[28] Comentário enviado por tecnorede em 25/03/2008 - 10:15h

Olá dylon , rode o radius com o usuário root , para eliminarmos os erros de acesso a arquivos e diretórios , caso isso resolva crie um usuário e de a ele permissão de leitura e escrita em todos os diretórios citados no arquivo radius.conf (logo no inicio deste) .

para rodar com o usuario root edite em radius.conf

user = root
group = root


[29] Comentário enviado por marenet em 28/03/2008 - 10:21h

na FASE 2, no passo para alterar o arquivo eap.conf..... depois da alteração do referido arquivo o servidor não starta mais...
o que pode ser

[30] Comentário enviado por tecnorede em 28/03/2008 - 10:28h

marenet , a sim ... manda a menssagem de erro de saida , arquivo de log algo que possa ser analisado , qual é a distribuição que vc esta usando ?
o arquivo de log fica no diretório listado logo no inicio do radius.conf
"logdir"

[31] Comentário enviado por marenet em 28/03/2008 - 10:50h

executei o comando radiusd -x e foi a saida abaixo que apareceu....

[root@localhost ~]# radiusd -x
Starting - reading configuration files ...
Using deprecated naslist file. Support for this will go away soon.
/etc/raddb/radiusd.conf[232]: Error binding to port for 0.0.0.0:1812
[root@localhost ~]#


[32] Comentário enviado por marenet em 28/03/2008 - 13:22h

tche consegui startar o servidor
Comentei as linhas bind_adress e port
E coloquei os valos no listen...
Troquei tambem o usuario e gruop para root....
dai funcionou

poderia me explicar o por que que funcionou agora?
obrigado

[33] Comentário enviado por marenet em 28/03/2008 - 13:25h

desculpe varias mensagens uma em cima da outras...
fui olhar no log do radius... e aparece a mensagem de erro igual
Fri Mar 28 13:17:37 2008 : Error: /etc/raddb/radiusd.conf[232]: Error binding to port for 0.0.0.0:1812
Fri Mar 28 13:18:07 2008 : Info: Using deprecated naslist file. Support for this will go away soon.
Fri Mar 28 13:18:07 2008 : Error: /etc/raddb/radiusd.conf[232]: Error binding to port for 0.0.0.0:1812
Fri Mar 28 13:18:39 2008 : Info: Using deprecated naslist file. Support for this will go away soon.
Fri Mar 28 13:18:39 2008 : Info: rlm_exec: Wait=yes but no output defined. Did you mean output=none?
Fri Mar 28 13:18:39 2008 : Info: rlm_eap_tls: Loading the certificate file as a chain
Fri Mar 28 13:18:39 2008 : Info: WARNING: rlm_eap_tls: Unable to set DH parameters. DH cipher suites may not work!
Fri Mar 28 13:18:40 2008 : Info: Ready to process requests.
Fri Mar 28 13:22:31 2008 : Info: Using deprecated naslist file. Support for this will go away soon.
Fri Mar 28 13:22:31 2008 : Info: rlm_exec: Wait=yes but no output defined. Did you mean output=none?
Fri Mar 28 13:22:31 2008 : Info: rlm_eap_tls: Loading the certificate file as a chain
Fri Mar 28 13:22:31 2008 : Info: WARNING: rlm_eap_tls: Unable to set DH parameters. DH cipher suites may not work!
Fri Mar 28 13:22:31 2008 : Info: Ready to process requests.
Fri Mar 28 13:23:07 2008 : Info: Using deprecated naslist file. Support for this will go away soon.
Fri Mar 28 13:23:07 2008 : Error: /etc/raddb/radiusd.conf[232]: Error binding to port for 192.168.0.2:1812
Fri Mar 28 13:23:13 2008 : Info: Using deprecated naslist file. Support for this will go away soon.
Fri Mar 28 13:23:13 2008 : Error: /etc/raddb/radiusd.conf[232]: Error binding to port for 192.168.0.2:1812


o que pode ser?

[34] Comentário enviado por marenet em 29/03/2008 - 14:49h

quando to start no servidor aparece uma aviso de WARNING...

Sat Mar 29 11:46:16 2008 : Info: Using deprecated naslist file. Support for this will go away soon.
Sat Mar 29 11:46:16 2008 : Info: rlm_exec: Wait=yes but no output defined. Did you mean output=none?
Sat Mar 29 11:46:16 2008 : Info: rlm_eap_tls: Loading the certificate file as a chain
Sat Mar 29 11:46:16 2008 : Info: WARNING: rlm_eap_tls: Unable to set DH parameters. DH cipher suites may not work!
Sat Mar 29 11:46:16 2008 : Info: Ready to process requests.


E na maquina que eu quero conectar wireless não aparece tela de login e senha....
O que pode ser...

[35] Comentário enviado por tecnorede em 01/04/2008 - 15:51h

Ola Marenet , ta uma sequencia de problema ehehehe , bom primeiro
a sessão listen {} diferencia de bind_address por poder listar o servidor em diferentes interfaces (ip) alem de poder fazer com que o servidor radius responda apenas a pacotes especificos (auth = de autenticação), em bind_address o padrão é * que aceita em todas as interfaces diretamente conectadas , quanto ao usuário root é extremamente perigoso rodar como root, so indiquei para tentar resolver o problema de permissão , eh comum o problema com permissão e os logs não são muito amigaveis as vezes gera uma cadeia de erros que era apenas permissão, bom dado isso so aplicar as permissões nas pastas do radius e importante onde vc esta colocando os certificados heheh.

O erro "Using deprecated naslist file" não se preocupe , é que vc esta listando os clientes no arquivo e isso por medida de segurança nao deveria ser assim , deveria estar em um local separado e o radius deveria se autenticar para conseguir esta lista , mas isso não interessa agora isso ja eh anunciado a tempo .

rlm_eap_tls = o warning por causa do DH , update ou instale o openSSL.

Quanto a "E na maquina que eu quero conectar wireless não aparece tela de login e senha....
O que pode ser... " , me parece que vc esta na fase 1 do tutorial , na fase 2 tera as configurações para o AP e cliente ...
teu servidor levantou como mostra na saida acima , mas vc não recebeu solicitação de autenticação , não esqueça tanto o AP (access point) quanto o cliente (desktop) precisam ser configurados para autenticação radius.

abraço , fico a disposição.

[36] Comentário enviado por marenet em 02/04/2008 - 08:17h

Assim... fiz todas etapas do tutorial..... até o final....

- Se eu habilito o listen conforme o tutorial... o servidor não starta.... se eu desabilito ele inicia. Abaixo segue o erro quando o listen está habilitado:

Wed Apr 2 07:50:52 2008 : Info: Using deprecated naslist file. Support for this will go away soon.
Wed Apr 2 07:50:52 2008 : Error: /etc/raddb/radiusd.conf[232]: Error binding to port for 0.0.0.0:1812

Quando o listen está desabilitado aparece esse log:

Wed Apr 2 07:53:17 2008 : Info: Using deprecated naslist file. Support for this will go away soon.
Wed Apr 2 07:53:17 2008 : Info: rlm_exec: Wait=yes but no output defined. Did you mean output=none?
Wed Apr 2 07:53:17 2008 : Info: rlm_eap_tls: Loading the certificate file as a chain
Wed Apr 2 07:53:17 2008 : Info: WARNING: rlm_eap_tls: Unable to set DH parameters. DH cipher suites may not work!
Wed Apr 2 07:53:17 2008 : Info: Ready to process requests.

- O openSSL, deu uma mensagem que ele já está instalado e não necessita de atualizações.

- E a tela de login do cliente... as vezes pede usuario e senha e as vezes não..... Ultimamente o login no LOG dá OK... mas a maquina não pega IP....
O problema acontece por exemplo quando eu troco a senha de acesso do usuario no user.... dai depois que eu troco é desligando a maquina cliente e a maquina servidor para
fucnionar, e as vezes custa a funcionar..... vai abaixo o log:

Wed Apr 2 08:11:47 2008 : Auth: Login OK: [marcelo/<no User-Password attribute>] (from client localhost port 0)
Wed Apr 2 08:11:47 2008 : Auth: Login OK: [marcelo/<no User-Password attribute>] (from client DIR-300 port 0 cli 00-80-C8-00
Wed Apr 2 08:11:52 2008 : Info: rlm_eap_mschapv2: Issuing Challenge
Wed Apr 2 08:11:53 2008 : Auth: Login OK: [marcelo/<no User-Password attribute>] (from client localhost port 0)
Wed Apr 2 08:11:53 2008 : Auth: Login OK: [marcelo/<no User-Password attribute>] (from client DIR-300 port 0 cli 00-80-C8-00
Wed Apr 2 08:12:29 2008 : Info: rlm_eap_mschapv2: Issuing Challenge
Wed Apr 2 08:12:29 2008 : Auth: Login OK: [marcelo/<no User-Password attribute>] (from client localhost port 0)
Wed Apr 2 08:12:29 2008 : Auth: Login OK: [marcelo/<no User-Password attribute>] (from client DIR-300 port 0 cli 00-80-C8-00
Wed Apr 2 08:12:34 2008 : Info: rlm_eap_mschapv2: Issuing Challenge
Wed Apr 2 08:12:34 2008 : Auth: Login OK: [marcelo/<no User-Password attribute>] (from client localhost port 0)
Wed Apr 2 08:12:34 2008 : Auth: Login OK: [marcelo/<no User-Password attribute>] (from client DIR-300 port 0 cli 00-80-C8-00
Wed Apr 2 08:12:57 2008 : Info: rlm_eap_mschapv2: Issuing Challenge
Wed Apr 2 08:12:57 2008 : Auth: Login OK: [marcelo/<no User-Password attribute>] (from client localhost port 0)
Wed Apr 2 08:12:57 2008 : Auth: Login OK: [marcelo/<no User-Password attribute>] (from client DIR-300 port 0 cli 00-80-C8-00
Wed Apr 2 08:13:02 2008 : Info: rlm_eap_mschapv2: Issuing Challenge
Wed Apr 2 08:13:02 2008 : Auth: Login OK: [marcelo/<no User-Password attribute>] (from client localhost port 0)
Wed Apr 2 08:13:02 2008 : Auth: Login OK: [marcelo/<no User-Password attribute>] (from client DIR-300 port 0 cli 00-80-C8-00
Wed Apr 2 08:13:08 2008 : Info: rlm_eap_mschapv2: Issuing Challenge
Wed Apr 2 08:13:08 2008 : Auth: Login OK: [marcelo/<no User-Password attribute>] (from client localhost port 0)
Wed Apr 2 08:13:08 2008 : Auth: Login OK: [marcelo/<no User-Password attribute>] (from client DIR-300 port 0 cli 00-80-C8-00
Wed Apr 2 08:13:28 2008 : Info: rlm_eap_mschapv2: Issuing Challenge
Wed Apr 2 08:13:28 2008 : Auth: Login OK: [marcelo/<no User-Password attribute>] (from client localhost port 0)
Wed Apr 2 08:13:28 2008 : Auth: Login OK: [marcelo/<no User-Password attribute>] (from client DIR-300 port 0 cli 00-80-C8-00
Wed Apr 2 08:13:33 2008 : Info: rlm_eap_mschapv2: Issuing Challenge
Wed Apr 2 08:13:33 2008 : Auth: Login OK: [marcelo/<no User-Password attribute>] (from client localhost port 0)
Wed Apr 2 08:13:33 2008 : Auth: Login OK: [marcelo/<no User-Password attribute>] (from client DIR-300 port 0 cli 00-80-C8-00
Wed Apr 2 08:13:44 2008 : Info: rlm_eap_mschapv2: Issuing Challenge
Wed Apr 2 08:13:44 2008 : Auth: Login OK: [marcelo/<no User-Password attribute>] (from client localhost port 0)
Wed Apr 2 08:13:44 2008 : Auth: Login OK: [marcelo/<no User-Password attribute>] (from client DIR-300 port 0 cli 00-80-C8-00

Deu OK em todas as vezes, mas a maquina não pega IP, diz conectividade nula ou limitada..... e as vezes do nada funciona....... começa a dar
problema quando eu troco a senha.....


Obrigado

[37] Comentário enviado por tecnorede em 02/04/2008 - 17:01h

Marenet , vo analizar com mais atensão teu problema e retorno , por enquanto confira se vc esta com a versão mais recente do radius , abraço.

[38] Comentário enviado por ALRibeiro em 04/04/2008 - 14:33h

Quanto ao "rlm_eap_tls = o warning por causa do DH " eu resolvi com o seguinte commando:
# cd /etc/freeradius/certs
# openssl dhparam -check -text -5 512 -out dh

Obs.: no meu caso o arquivo tinha zero bytes

Ref.
- http://www.linuxjournal.com/node/8151/print

Nesse outro local mostra como gerar os certificados para o Freeradius entre eles o arquivo [dh]
- http://rbirri.9online.fr/howto/Freeradius_+_TTLS.html

ALRibeiro

[39] Comentário enviado por mocorrea em 23/04/2008 - 12:45h

Instalei tudo certinho conforme o tutorial!! so que ocorre o erro ainda: /etc/raddb/radiusd.conf[233]: Error binding to port for 0.0.0.0:1812 Alguem pode dar uma luz??

[40] Comentário enviado por ALRibeiro em 23/04/2008 - 14:24h

Segundo este texto que faz parte do [radiusd.conf] voce deve usar um ou outro os dois ao mesmo tempo não é possível.
" .......
# If you want the server to listen on additional addresses, you can
# use the "listen" section. A sample section (commented out) is included
# below. This "listen" section duplicates the functionality of the
# "bind_address" and "port" configuration entries, but it only listens
# for authentication packets.
" ......
No meu caso utilizei a diretiva [listen]
.......
listen {
# IP address on which to listen.
# Allowed values are:
# dotted quad (1.2.3.4)
# hostname (radius.example.com)
# wildcard (*)
ipaddr = *

# Port on which to listen.
# Allowed values are:
# integer port number (1812)
# 0 means "use /etc/services for the proper port"
port = 0

# Type of packets to listen for.
# Allowed values are:
# auth listen for authentication packets
# acct listen for accounting packets
#
type = auth
}
.......

Eu comentei a linha do [bind]:

.........

# As of 1.0, you can also use the "listen" directive. See below for
# more information.
#
##bind_address = * <--------------AQUI

# port: Allows you to bind FreeRADIUS to a specific port.
#
# The default port that most NAS boxes use is 1645, which is historical.
# RFC 2138 defines 1812 to be the new port. Many new servers and
# NAS boxes use 1812, which can create interoperability problems.
#
# The port is defined here to be 0 so that the server will pick up
# the machine's local configuration for the radius port, as defined
# in /etc/services.
#
# If you want to use the default RADIUS port as defined on your server,
# (usually through 'grep radius /etc/services') set this to 0 (zero).
#
# A port given on the command-line via '-p' over-rides this one.
#
# As of 1.0, you can also use the "listen" directive. See below for
# more information.
#
##port = 0 <----------------- E AQUI

.............
Estou agora perdendo feio para [phpradmin] no Ubuntu 7.10 com PHP5, o Livecd funciona que é uma maravilha...


[41] Comentário enviado por marenet em 24/04/2008 - 09:40h

estou com uma dúvida e um problema....
O computador autentica beleza..... mas quando eu coloco em comentário o usuário que estou utilizando e cadastro um novo, após reiniciar o servidor radius... o windows demora a pedir o usuário e senha novamente... ele fica tentando autenticar com o ultimo usuario e senha.... dai no log do servidor da login inválido..

Outro detalhe que eu queria saber é se é normal quando autentica o usuario no log aparecer duas linhas:
Thu Apr 24 09:26:29 2008 : Auth: Login incorrect: [mare/<no User-Password attribute>] (from client localhost port 0)
Thu Apr 24 09:26:29 2008 : Auth: Login incorrect: [mare/<no User-Password attribute>] (from client DIR-300 port 0 cli 00-40-F4-DA-C1-D8)
Tanto para usuario aceito ou negado....
Obrigado

[42] Comentário enviado por tecnorede em 20/05/2008 - 23:56h

marenet ... sobre sua primeira duvida segundo a MS seria resolvido desabilitando o "Fast Reconnect" (na interface do windows) link: http://technet2.microsoft.com/WindowsServer/pt-BR/Library/908d13e8-c4aa-4d62-8401-86d7da0eab481046.m...
Porém isso não resolve ... mas a resolução deste problema esta no lado do windows (não consegui resolver ainda), se tu usar um cliente linux vai ver que isso não acontece ...
Qto a aparecer dois logs por autenticação é normal usuário/maquina conforme especificações PEAP MSchapv2 , porem deve ter um LOG "OK"
verifique se no seu radius.conf voce marcou para log para autenticação com sucesso tbm, ai deve aparecer ambos os logs ... ou rode radiusX que fica mostrando todos os logs na console .

[43] Comentário enviado por marenet em 21/05/2008 - 10:04h

estou com um problema quando habilito a opção mysqll..
o servidor levanta mas no log aparece a seguinte mensagem.

Tue May 20 09:24:19 2008 : Info: Using deprecated naslist file. Support for this will go away soon.
Tue May 20 09:24:19 2008 : Info: rlm_exec: Wait=yes but no output defined. Did you mean output=none?
Tue May 20 09:24:19 2008 : Info: rlm_eap_tls: Loading the certificate file as a chain
Tue May 20 09:24:19 2008 : Info: rlm_sql (sql): Driver rlm_sql_mysql (module rlm_sql_mysql) loaded and linked
Tue May 20 09:24:19 2008 : Info: rlm_sql (sql): Attempting to connect to root@localhost:/radius
Tue May 20 09:24:19 2008 : Info: rlm_sql_mysql: Starting connect to MySQL server for #0
Tue May 20 09:24:19 2008 : Error: rlm_sql_mysql: Couldn't connect socket to MySQL server root@localhost:radius
Tue May 20 09:24:19 2008 : Error: rlm_sql_mysql: Mysql error 'Can't connect to local MySQL server through socket '/var/lib/my
Tue May 20 09:24:19 2008 : Error: rlm_sql (sql): Failed to connect DB handle #0
Tue May 20 09:24:19 2008 : Info: Ready to process requests.


o que pode ser... já configurei o arquivo sql.conf e coloquei os dados corretos

[44] Comentário enviado por dscastro em 02/06/2008 - 14:29h

Parabens pelo artigo!

Ja fiz a implementação e esta tudo ok, porem nao consigo utilizar a criptografia WPA2, ao setar no AP, os clientes win XP nao conseguem se autenticar, as requisicoes nem chegam no radius, existe alguma configuração extra para essa criptografia?

[45] Comentário enviado por tecnorede em 09/06/2008 - 09:11h

Olá dscastro , você esta misturando duas formas de autenticação com 802.1x você até pode utilizar o AES (do WPA2) mas isso depende de algumas configurações no radius , observe na configuração do AP que você tem a opção de utilizar 802.1x ou outras formas suportadas pelo AP (tipo wpa2 , wep , wpa-psk , etc) mas não duas ao mesmo tempo .

[46] Comentário enviado por dscastro em 12/06/2008 - 10:16h

Desculpe a confusão, o que eu preciso é autenticar meus usuarios com a validação do certificado digital. Já gerei o certificado e instalei no cliente, porém ao conectar aparece o seguinte erro no debug:

rad_check_password: Found Auth-Type Local
auth: type Local
auth: No User-Password or CHAP-Password attribute in the request
auth: Failed to validate the user.

Estou configurando o cliente para usar autenticação PEAP MSCHAPv2, desmarquei a opção de utilizar o logon do windows e selecionei o certificado gerado.

[47] Comentário enviado por a.comaru em 07/07/2008 - 17:28h

Ola,

Onde encontro o tópico 5 com as informações sobre integração com ldap?

Até

André

[48] Comentário enviado por tecnorede em 09/07/2008 - 20:18h

Olá André , cara os demais artigos ainda não postei porque estou implementando a solução completa para um cliente e para tanto ja terei que gerar uma documentação para o cliente , devo concluir na proxima semana e ai disponibilizarei no vivaolinux.

abraço .

[49] Comentário enviado por fabriciomontelo em 15/07/2008 - 11:49h

OLá amigo, não estou conseguindo utilizar senhas criptografas no mysql, pois o freeradius não processa. Quando coloco senhas em formato de texto puro ai funciona. Existe algo a ser configurado no freeradius para que ele aceite senhas criptografas?

Excelente artigo!

[50] Comentário enviado por messias.b em 03/09/2008 - 12:06h

Ola!

Ótimo artigo, estou implementando ele num Fedora 8, porém o seguinte erro acontece:

rlm_eap_tls: Loading the certificate file as a chain
rlm_eap: SSL error error:0200100D:system library:fopen:Permission denied
rlm_eap_tls: Error reading Trusted root CA list
rlm_eap: Failed to initialize type tls
radiusd.conf[10]: eap: Module instantiation failed.
radiusd.conf[1968] Unknown module "eap".
radiusd.conf[1915] Failed to parse authenticate section.

Vi que você disse para nosso amigo mudar o ignore_unknown_eap_types = yes (mudar para o YES, no arquivo eap.conf).
Já fiz isso e o erro permanece.

Obrigado pela atenção e pela dedicação à comunidade.

[51] Comentário enviado por johnnyrede em 12/09/2008 - 13:33h

Boa tarde, estou implementando esta solução em um fedora core 5, muito bom o seu tutorial tecnorede, mas mesmo assim estou preso em um erro.
Ja fiz tudo o que pede o tutorial mas acontece o seguinte erro:
"[root@localhost /]# radiusd -X
Starting - reading configuration files ...
reread_config: reading radiusd.conf
Config: including file: /etc/raddb/proxy.conf
Config: including file: /etc/raddb/clients.conf
Config: including file: /etc/raddb/snmp.conf
Config: including file: /etc/raddb/clients.conf
Config: including file: /etc/raddb/eap.conf
Config: including file: /etc/raddb/eap.conf
config: No such entry raddbdir for string ${raddbdir}/certs/cert-srv.pem
Errors reading radiusd.conf"

Agradeço a ajuda desde ja.


[52] Comentário enviado por noiseand em 14/10/2008 - 16:05h

Boa tarde!

Como fica o radiusd.conf para que eu possa armazenar as senhas dos usuários no arquivos users
ou no mysql de maneira encriptada? Ou ainda autenticando via /etc/shadow?

Já fiz vários testes e só autentica se a senha for amazenada sem criptografia, assim não funciona com
os usuários criados via dialup_admin com mysql.

Abçs

[53] Comentário enviado por noiseand em 14/10/2008 - 16:11h

Boa tarde.

Na aba das configurações de autenticação da rede wireless, a opção "authenticate as computer
when computer information is available" não deve estar habilitada, do contrário, não será pedido
o login e senha do usuário para autenticação.

Abçs

[54] Comentário enviado por tecnorede em 14/10/2008 - 21:47h

Olá noiseand , seguinte para usar criptografia vc precisa alterar as configurações que fizemos , no artigo esta assim

#############
modules {
# se utilizado apenas pap, usuário e senha passarão em texto puro, o
# que não e nosso caso.
pap {
encryption_scheme = clear
}
#############
altere "clear" para
crypt: criptografia do unix
md5: criptografia MD5
sha1: criptografia SHA1

não esqueça de conferir se os modulos estão sendo carregados, para a autenticação no shadow altere ainda no radius.conf
instantiate {
}

authorize {
chap
mschap
files
}

authenticate {
Auth-Type PAP {
pap
}
Auth-Type CHAP {
chap
}
unix
}

Quanto a opção do windows a menos que vc queira que ele use mesmo os dados da conta de login na maquina deve desmarcar ...
cuidado que vocÇe deve escolher opções compativeis entre server radius e cliente ... por exemplo
digamos que seja uma rede wireless e vc tenha configurado o servidor para md5 dificilmente terá sucesso pois os clientes wireless por questão
obvia de segurança não usam mais md5 , mas se fosse via cabo poderia , so que tem que escolher esta opção ...

t+

[55] Comentário enviado por tecnorede em 14/10/2008 - 21:54h

johnnyrede, entra com o diretório dos certificados ,,,, olha no artigo ..


Se alguem ainda estiver com alguma duvida não resolvida posta ai
flw

[56] Comentário enviado por a.comaru em 15/10/2008 - 11:35h

Ola,
Tudo bem?

Estou de volta para saber se voce conseguiu fazer a integração com o LDAP.

Abraços.

André

[57] Comentário enviado por noiseand em 16/10/2008 - 18:13h

Ok meu velho, agora consigo autenticar no shadow!

Abçs e vlw!

[58] Comentário enviado por tecnorede em 17/10/2008 - 18:21h

a com LDAP , tranquilo , so alterar as configurações do radius.conf com os dados do seu servidor LDAP .
abs

[59] Comentário enviado por maumaubarros em 08/11/2008 - 19:32h

Amigão, estou no início de um projeto de conclusão de curso, uma proposta de melhora na segurança de uma rede sem fio utilizando um servidor de autenticação radius e simplismente este é o melhor tutorial que encontrei para meu servidor de autenticação, irei utilizar o fedora 9, vc aconselha que eu use este mesmo, ou que utilize uma verssão anterior como vc utilizou para seu servidor de autenticação....estou muito ancioso para começar logo, creio que no mês que vem, pois neste semestre já não consigo mais....abração amigão e mais uma vez meus parabéns pelo trabalho...abraços....

[60] Comentário enviado por noiseand em 12/11/2008 - 18:54h

Lembrete:

No Fedora 6, para o rodar o radiusd com usuário radiusd e não como root:

cd /etc/raddb/
chown radiusd.radiusd -R ./
chmod ug+rwx -R ./

Voila!

[61] Comentário enviado por samuel.riesz em 14/11/2008 - 10:30h

Eu instalei o freeradius em uma maquina virtual para testes e posterior implementação na rede da empresa, mas infelizmente estou tendo vários problemas, se alguem puder dar uma luz...



Quando executo radtest teste teste localhost:1812 1812 testing123 (já testei com o ip real da vm e tambem com localhost e 127.0....)
para testar a conexão a saida do log do "radiusd -X": é a seguinte:


Listening on authentication address 172.20.64.241 port 1812
Listening on proxy address 172.20.64.241 port 1814
Ready to process requests.
rad_recv: Access-Request packet from host 172.20.64.241 port 41571, id=30, length=57
User-Name = "teste"
User-Password = "teste"
NAS-IP-Address = 127.0.0.1
NAS-Port = 1812
+- entering group authorize {...}
++[preprocess] returns ok
++[chap] returns noop
++[mschap] returns noop
[suffix] No '@' in User-Name = "teste", looking up realm NULL
[suffix] No such realm "NULL"
++[suffix] returns noop
[eap] No EAP-Message, not doing EAP
++[eap] returns noop
++[unix] returns notfound
WARNING: Found User-Password == "...".
WARNING: Are you sure you don't mean Cleartext-Password?
WARNING: See "man rlm_pap" for more information.
[files] users: Matched entry teste at line 206
++[files] returns ok
++[expiration] returns noop
++[logintime] returns noop
[pap] WARNING! No "known good" password found for the user. Authentication may fail because of this.
++[pap] returns noop
Found Auth-Type = Local
WARNING: Please update your configuration, and remove 'Auth-Type = Local'
WARNING: Use the PAP or CHAP modules instead.
No "known good" password was configured for the user.
As a result, we cannot authenticate the user.
Failed to authenticate the user.
Using Post-Auth-Type Reject
+- entering group REJECT {...}
[attr_filter.access_reject] expand: %{User-Name} -> teste
attr_filter: Matched entry DEFAULT at line 11
++[attr_filter.access_reject] returns updated
Delaying reject of request 0 for 1 seconds
Going to the next request
Waking up in 0.9 seconds.
Sending delayed reject for request 0
Sending Access-Reject of id 30 to 172.20.64.241 port 41571
Waking up in 4.9 seconds.
Cleaning up request 0 ID 30 with timestamp +77



e o retorno na janela de teste é o seguinte:

[root@vmlinux raddb]# radtest teste teste 172.20.64.241:1812 1812 testing123
Sending Access-Request of id 30 to 172.20.64.241 port 1812
User-Name = "teste"
User-Password = "teste"
NAS-IP-Address = 127.0.0.1
NAS-Port = 1812
rad_recv: Access-Reject packet from host 172.20.64.241 port 1812, id=30, length=20



Att.,

Samuel

[62] Comentário enviado por marcoskonzen em 24/04/2009 - 16:33h

Reativando novamente os comentários desse tópico, não sei se o tecnorede está ativo por aqui ainda, mas mesmo assim quero parabenizar também pelo artigo, porém como muitos estou implementando pela primeira vez e pra variar estou tendo problemas.
Estou fazendo a implementação do radius no meu estágio III, fiz a instalação e até a fase 1 foi blza, mas na fase II não tive muito sucesso, segui os passos, configurei o servidor, configurei o AP e configurei o cliente, mas quando tento me conectar na rede ele não pede o nome de usuário e senha e fica tentando receber as informações do DHCP.
Vou analisar os logs hoje para ver se aparece uma luz.

Espero que o tecnorede não tenha morrido... ehehehe.

Abraço a todos.

[63] Comentário enviado por manoserpa em 27/09/2009 - 21:50h

Opa.

Instalei no Ubuntu como vc disse e infelizmente não funcionou, dei uma pesquisada no Google e vi outras pessoas tendo dificuldade em instalar no Suse e no Cent OS. O problema parece ser que o Ubuntu não suporta o OpenSSL, você tem mais alguma dica?

Um abraço.

[64] Comentário enviado por tecnorede em 06/10/2009 - 21:15h

manoserpa

da uma olhada neste link e vê se não resolve, caso contrario da um toque que ajudo.

http://www.vivaolinux.com.br/artigo/Instalacao-do-Freeradius-com-suporte-a-EAPTLS-e-PEAPTTLS-MSCHAPv...

[65] Comentário enviado por inacioalves em 18/10/2009 - 18:13h

Caro manoserpa,

Executa o freeRADIUS em modo debug usando
radiusd -X -xx
e tenta um radtest. Posta a saída aqui para nós discutirmos sobre ela. Estou esperando resposta do tecnorede(mandei email pra ele) para podermos refazer este tutorial usando a versão mais atual do freeRADIUS.

Tive o mesmo problema que você antes. O fato não é o Ubuntu não suportar OpenSSL, é algum problema com licenças. Mas se você instalar o pacote
libssl-dev
acho que resolve o problema. Por isso te pedi para postar a saída do debug. Antes de instalar este pacote, a saída me dizia que estava ignorando o SSL porque não o tinha encontrado. Depois que instalei o pacote e recompilei o freeRADIUS o problema já era.

[66] Comentário enviado por julianoreus em 10/12/2009 - 20:50h

Boa noite Marcos,

Também quero parabenizá-lo pelo ótimo artigo, muito didático, e o mais importante, funciona perfeitamente.

Gostaria de saber ser você pode me ajudar na seguinte situação: Estou implementando o servidor freeradius num hotel, onde os hóspedes ganharão um usuário e senha para acessar a internet/wireless enquanto estiverem hospedados no hotel.

O problema é que para fazer a conexão do windows até o servidor radius eu só consegui conforme este seu artigo, e nesse caso é preciso usar TLS e alterar algumas configurações no windows, que certamente o usuário final(hóspede) não saberá fazer.

Eu queria saber se tem alguma forma de o windows se conectar com sua configuração padrão, ou seja, detectando a rede e bastando informar o login e senha, cadastrados no radius. Tentei várias autenticações, mas sem sucesso. Penso que seria a PAP, visto que esta é em "clear text" e não usa TLS, mas nos logs mostra que o cliente não envia uma senha em "clear text".
OBS: A segurança neste projeto não é prioridade.

Grato pela Atenção !

[67] Comentário enviado por tecnorede em 10/12/2009 - 22:26h

Olá julianoreus, neste caso o ideal é utilizar um captive portal , eu publiquei um tuto para captive portal aqui http://www.vivaolinux.com.br/artigo/Portal-de-autenticacao-wireless-(HotSpot)/
Ele possui recursos para cadastro de clientes etc, se resolver implementar após concluir o tuto me avisa que mando material para implementar a geracão de cartão pré-pago.

[68] Comentário enviado por lima123456 em 12/07/2010 - 15:58h

Oi pessoal, estou com um problema e preciso da voça ajuda.
instalei o freeradius, coloquei pra rodar, mas n consigo autenticar o cliente.
esta aparecendo a segunte mensagem:

root@STP-laptop:/usr/local/src/freeradius-1.1.7/debian/freeradius/etc/freeradius# freeradius -X
Starting - reading configuration files ...
reread_config: reading radiusd.conf
Config: including file: /etc/freeradius/proxy.conf
Config: including file: /etc/freeradius/clients.conf
Config: including file: /etc/freeradius/snmp.conf
Config: including file: /etc/freeradius/eap.conf
Config: including file: /etc/freeradius/sql.conf
main: prefix = "/usr"
main: localstatedir = "/var"
main: logdir = "/var/log/freeradius"
main: libdir = "/usr/lib/freeradius"
main: radacctdir = "/var/log/freeradius/radacct"
main: hostname_lookups = no
main: snmp = no
main: max_request_time = 30
main: cleanup_delay = 5
main: max_requests = 1024
main: delete_blocked_requests = 0
main: port = 0
main: allow_core_dumps = no
main: log_stripped_names = no
main: log_file = "/var/log/freeradius/radius.log"
main: log_auth = no
main: log_auth_badpass = no
main: log_auth_goodpass = no
main: pidfile = "/var/run/freeradius/freeradius.pid"
main: user = "freerad"
main: group = "freerad"
main: usercollide = no
main: lower_user = "no"
main: lower_pass = "no"
main: nospace_user = "no"
main: nospace_pass = "no"
main: checkrad = "/usr/sbin/checkrad"
main: proxy_requests = yes
proxy: retry_delay = 5
proxy: retry_count = 3
proxy: synchronous = no
proxy: default_fallback = yes
proxy: dead_time = 120
proxy: post_proxy_authorize = no
proxy: wake_all_if_all_dead = no
security: max_attributes = 200
security: reject_delay = 1
security: status_server = no
main: debug_level = 0
read_config_files: reading dictionary
read_config_files: reading naslist
Using deprecated naslist file. Support for this will go away soon.
read_config_files: reading clients
read_config_files: reading realms
radiusd: entering modules setup
Module: Library search path is /usr/lib/freeradius
Module: Loaded exec
exec: wait = yes
exec: program = "(null)"
exec: input_pairs = "request"
exec: output_pairs = "(null)"
exec: packet_type = "(null)"
rlm_exec: Wait=yes but no output defined. Did you mean output=none?
Module: Instantiated exec (exec)
Module: Loaded expr
Module: Instantiated expr (expr)
Module: Loaded PAP
pap: encryption_scheme = "crypt"
pap: auto_header = yes
Module: Instantiated pap (pap)
Module: Loaded CHAP
Module: Instantiated chap (chap)
Module: Loaded MS-CHAP
mschap: use_mppe = yes
mschap: require_encryption = no
mschap: require_strong = no
mschap: with_ntdomain_hack = no
mschap: passwd = "(null)"
mschap: ntlm_auth = "(null)"
Module: Instantiated mschap (mschap)
Module: Loaded System
unix: cache = no
unix: passwd = "(null)"
unix: shadow = "/etc/shadow"
unix: group = "(null)"
unix: radwtmp = "/var/log/freeradius/radwtmp"
unix: usegroup = no
unix: cache_reload = 600
Module: Instantiated unix (unix)
Module: Loaded eap
eap: default_eap_type = "md5"
eap: timer_expire = 60
eap: ignore_unknown_eap_types = no
eap: cisco_accounting_username_bug = no
rlm_eap: Loaded and initialized type md5
rlm_eap: Loaded and initialized type leap
gtc: challenge = "Password: "
gtc: auth_type = "PAP"
rlm_eap: Loaded and initialized type gtc
mschapv2: with_ntdomain_hack = no
rlm_eap: Loaded and initialized type mschapv2
Module: Instantiated eap (eap)
Module: Loaded preprocess
preprocess: huntgroups = "/etc/freeradius/huntgroups"
preprocess: hints = "/etc/freeradius/hints"
preprocess: with_ascend_hack = no
preprocess: ascend_channels_per_line = 23
preprocess: with_ntdomain_hack = no
preprocess: with_specialix_jetstream_hack = no
preprocess: with_cisco_vsa_hack = no
preprocess: with_alvarion_vsa_hack = no
Module: Instantiated preprocess (preprocess)
Module: Loaded realm
realm: format = "suffix"
realm: delimiter = "@"
realm: ignore_default = no
realm: ignore_null = no
Module: Instantiated realm (suffix)
Module: Loaded files
files: usersfile = "/etc/freeradius/users"
files: acctusersfile = "/etc/freeradius/acct_users"
files: preproxy_usersfile = "/etc/freeradius/preproxy_users"
files: compat = "no"
Module: Instantiated files (files)
Module: Loaded Acct-Unique-Session-Id
acct_unique: key = "User-Name, Acct-Session-Id, NAS-IP-Address, Client-IP-Address, NAS-Port"
Module: Instantiated acct_unique (acct_unique)
Module: Loaded detail
detail: detailfile = "/var/log/freeradius/radacct/%{Client-IP-Address}/detail-%Y%m%d"
detail: detailperm = 384
detail: dirperm = 493
detail: locking = no
Module: Instantiated detail (detail)
Module: Loaded radutmp
radutmp: filename = "/var/log/freeradius/radutmp"
radutmp: username = "%{User-Name}"
radutmp: case_sensitive = yes
radutmp: check_with_nas = yes
radutmp: perm = 384
radutmp: callerid = yes
Module: Instantiated radutmp (radutmp)
Listening on authentication *:1812
Listening on accounting *:1813
Ready to process requests.
rad_recv: Access-Request packet from host 192.168.100.12:1257, id=67, length=105
Ignoring request from unknown client 192.168.100.12:1257
--- Walking the entire request list ---
Nothing to do. Sleeping until we see a request.
rad_recv: Access-Request packet from host 192.168.100.12:1257, id=67, length=105
Ignoring request from unknown client 192.168.100.12:1257
--- Walking the entire request list ---
Nothing to do. Sleeping until we see a request.
rad_recv: Access-Request packet from host 192.168.100.12:1257, id=67, length=105
Ignoring request from unknown client 192.168.100.12:1257

Acredito que alguem possa me ajudar !

[69] Comentário enviado por demattos em 05/08/2010 - 12:18h

Bom dia, eu realizei os testes conforme o artigo, e teste com clientes windows, cliente AP, mas quando testes com um bullet 2 ocorreu o seguinte erro, sera q vc poderia me auxiliar na configuracao para o freeradius funcione tambem com o bullet,

o bullet nao tem PEAP so eap-ttls e quando tento autenticar da o seguinte erro

Thu Aug 5 16:03:24 2010 : Error: TLS_accept:error in SSLv3 read client certificate A
Thu Aug 5 16:03:24 2010 : Info: rlm_eap_tls: Received EAP-TLS ACK message
Thu Aug 5 16:03:24 2010 : Error: TLS Alert read:fatal:certificate expired
Thu Aug 5 16:03:24 2010 : Error: TLS_accept:failed in SSLv3 read client certificate A
Thu Aug 5 16:03:24 2010 : Error: rlm_eap_tls: SSL_read failed in a system call (-1), TLS session fails.
Thu Aug 5 16:03:24 2010 : Error: rlm_eap_tls: BIO_read failed in a system call (-1), TLS session fails.
Thu Aug 5 16:03:24 2010 : Auth: Login incorrect: [rodrigo/<no User-Password attribute>] (from client MikroTik port 0 cli 00-15-6D-30-4A-94)


obrigado por sua atencao

[70] Comentário enviado por shuezer em 21/09/2012 - 15:35h

Boa tarde estou com esse problema que nao conssigo resolver a uma semana já... tava indo tudo certo até chegar nesse ponto
alguem sabe me dizer oque acontece?

rad_recv: Access-Request packet from host 172.16.31.2 port 41662, id=127, length=153
User-Name = "loginteste"
NAS-IP-Address = 172.16.31.2
NAS-Port = 0
Called-Station-Id = "90-F6-52-9E-0F-D8:teste"
Calling-Station-Id = "00-00-00-5A-3D-8C"
Framed-MTU = 1400
NAS-Port-Type = Wireless-802.11
Connect-Info = "CONNECT 0Mbps 802.11"
EAP-Message = 0x0200000c01736875657a6572
Message-Authenticator = 0xcd28fc303393c7a383ff8afca355492b
WARNING: Empty authorize section. Using default return values.
ERROR: No authenticate method (Auth-Type) found for the request: Rejecting the user
Failed to authenticate the user.
Login incorrect: [loginteste/<no User-Password attribute>] (from client hotspot port 0 cli 00-00-00-5A-3D-8C)
Using Post-Auth-Type Reject
# Executing group from file /etc/freeradius/sites-enabled/default
+- entering group REJECT {...}
[attr_filter.access_reject] expand: %{User-Name} -> loginteste
attr_filter: Matched entry DEFAULT at line 11
++[attr_filter.access_reject] returns updated
Delaying reject of request 15 for 1 seconds
Going to the next request
Waking up in 0.9 seconds.
Sending delayed reject for request 15
Sending Access-Reject of id 127 to 172.16.31.2 port 41662
Waking up in 4.9 seconds.
Cleaning up request 15 ID 127 with timestamp +766
Ready to process requests.

[71] Comentário enviado por cytron em 21/09/2012 - 20:06h

Pelo que parece, nos atributos do usuário está faltando Auth-Type. Se você usa MySQL, o atributo fica na tabela radgroupreply (para todos os usuários) ou radreply (individual para usuário). Ou se usa apenas os arquivos de configurações do radius deve estar no raddb/users.

Infelismente depois de tantos anos não me lembro de muita coisa do freeradius. O meu está rodando sem problemas a muito tempo, isso fez com que eu não precisasse mais ficar estudando o assunto, acabei enferrujando hehe.

[72] Comentário enviado por claudiocardoso60 em 30/01/2013 - 20:28h

rlm_eap: SSL error error:0200100E:system library:fopen:Bad address
rlm_eap_tls: Error reading certificate file
rlm_eap: Failed to initialize type tls

Instalei o freeradius e agora ele apresenta os erros acima. Pesquisei sobre o assunto e me parece que o problema está nos certificados de CA, SERVER.
Tentei gerar novos certificados para que funcionasse a contento, mas estou esbarrando neste erro.
Alguém poderia me ajudar...

[73] Comentário enviado por claudiocardoso60 em 02/02/2013 - 21:02h

Funfou, porém agora me esbarro em problemas de autenticação com Windows 8 ao Clients. Radtest access accept.... Alguém?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts