[MASOCH-L] freeradius e LDAP com autenticação MS-CHAP

Jessian jessian at unesp.br
Wed Aug 15 15:42:03 BRT 2012


Fabio,

aqui na Unesp usamos o seguinte:

    default_eap_type = peap

ao inves de  "default_eap_type = ttls", no bloco "eap"

e tambem comentei o modulo "files" para evitar o uso
do arquivo "users"

abraco
Jessian


On 15-08-2012 15:04, Fabio Catunda wrote:
> Rapaiz... freeradius tem tanto arquivo de configuração que eu acho que 
> eu vou demorar um pouco pra filtrar o que eu posso te mandar, vários 
> tem logins e senhas dentro...
>
> Enfim, vou mandar o básico que eu acho que é importante agora, se 
> depois você continuar com dúvida dá um tock que eu mando o resto.
>
> Aqui usamos o freeradius do Debian Squeeze. Cuidado, o freeradius do 
> Lenny não é compilado com o OpenSSL ou algo assim, não lembro direito, 
> mas acabou não funcionando. O pacote do Squeeze vai sem problemas.
>
> O arquivo ldap.attrmap tá assim:
> checkItem       Cleartext-Password                   userPassword
>
> replyItem   Tunnel-Type radiusTunnelType
> replyItem   Tunnel-Medium-Type             radiusTunnelMediumType
> replyItem   Tunnel-Private-Group-Id radiusTunnelPrivateGroupId
>
> checkItem       LM-Password                     sambaLMPassword
> checkItem       NT-Password                     sambaNTPassword
>
> # egrep -v '^#|^$' eap.conf
> eap {
>    default_eap_type = ttls
>    timer_expire = 60
>    ignore_unknown_eap_types = no
>    cisco_accounting_username_bug = no
>
>    md5 {
>    }
>
>    mschapv2 {
>    }
>
>     tls {
>       certdir = ${confdir}/certs/
>       cadir = ${confdir}/certs/
>       private_key_password = SenhaParaOCertificado
>       private_key_file = ${certdir}/masterkey.pem # Não esqueça de 
> gerar as chaves
>       certificate_file = ${certdir}/master_cert.pem
>       CA_file = ${cadir}/cacert.pem
>       dh_file = ${certdir}/dh
>       random_file = ${certdir}/random
>       cipher_list = "DEFAULT"
>       make_cert_command = "${certdir}/bootstrap"
>     }
>    ttls {
>       default_eap_type = md5
>       copy_request_to_tunnel = no
>       use_tunneled_reply = no
>    }
>    peap {
>       default_eap_type = mschapv2
>    }
> }
>
> E por fim:
> # egrep -v '^#|^$' radiusd.conf
> prefix = /usr
> exec_prefix = /usr
> sysconfdir = /etc
> localstatedir = /var
> sbindir = /usr/sbin
> logdir = /var/log/freeradius
> raddbdir = /etc/freeradius
> radacctdir = ${logdir}/radacct
> confdir = ${raddbdir}
> run_dir = ${localstatedir}/run
> pidfile = /var/run/freeradius/freeradius.pid
> user = freerad
> group = freerad
> listen {
>    ipaddr = *
>    port = 0
>    type = auth
> }
> listen {
>    ipaddr = *
>    port = 0
>    type = acct
> }
> thread pool {
>    start_servers = 1
>    max_servers = 4
>    min_spare_servers = 1
>    max_spare_servers = 3
>    max_requests_per_server = 0
> }
> $INCLUDE ${confdir}/clients.conf
> modules {
>    pap {
>       encryption_scheme = clear
>    }
>    pam{
>         authtype = PAM
>         pam_auth = "/etc/pam.d/radius_switch"
>    }
>    chap {
>       authtype = CHAP
>    }
>    $INCLUDE ${confdir}/eap.conf
>    mschap {
>       authtype = MS-CHAP
>       with_ntdomain_hack = yes
>    }
>    mschapv2 {
>    }
>    files {
>       usersfile = ${confdir}/users
>       compat = no
>    }
>         ldap ldap_1x {
>                 server = "<IP do seu servidor LDAP"
>                 identity = 
> "cn=usarioparaacessoLDAP,dc=SuaEmpresa,dc=com,dc=br"
>                 password = "Adivinha!?"
>                 basedn = "ou=Users,dc=SuaEmpresa,dc=com,dc=br"
>                 start_tls = Depende do seu LDAP <yes or no>
>                 access_attr = "uid"
>                 dictionary_mapping = ${raddbdir}/ldap.attrmap
>                 authtype = ldap
>                 ldap_connections_number = 5
>                 timeout = 4
>                 timelimit = 3
>                 net_timeout = 1
>         }
> $INCLUDE sql.conf # Esse é padrãozão do freeradius, mas não é 
> necessário caso não queira accounting e tal
> }
> authorize {
>    pap
>    files
>    mschap
>    ldap_1x
>    eap
> }
> authenticate {
>         Auth-Type PAP {
>                 pap
>         }
>         Auth-Type MS-CHAP {
>                 mschap
>         }
>         Auth-Type PPP {
>                 ldap_1x
>         }
>         Auth-Type PAM {
>                 pam
>         }
>         eap
> }
> accounting {
>           sql
> }
> log {
>         destination = files
>         file = /var/log/freeradius/radius.log
>         syslog_facility = daemon
>         stripped_names = no
>         auth = yes
>         auth_badpass = no
>         auth_goodpass = no
> }
>
> Acho que esses são os importantes... veja se consegue algo com isso, 
> qualquer coisa avisa ai.
>
> On 15-08-2012 14:36, casfre at gmail.com wrote:
>> 2012/8/15 Fabio Catunda<fcatunda at lightcomm.com.br>:
>>> Caros,
>>>
>>> Vi que tem gente procurando como integrar autenticação de rede 
>>> wireless com
>>> freeradius e LDAP e também tem gente procurando como fazer CHAP com 
>>> LDAP.
>>>
>>> CHAP com LDAP sem cleartext não vai rolar... eu investiria algum tempo
>>> pesquisando sobre outras formas de autenticação com o mesmo 
>>> dispositivo,
>>> deve ter, ai talvez de para dar uma ajuda.
>>>
>>> Sobre autenticação de wireless com freeradius e LDAP, essa ai eu já 
>>> tenho
>>> operando aqui na empresa e funciona. É pentelho ter que configurar os
>>> Windows por ai, mas funciona... com MS-CHAP por EAP e tudo mais.... 
>>> mas as
>>> senhas (campos) que uso do LDAP são essas:
>>> checkItem       LM-Password sambaLMPassword
>>> checkItem       NT-Password sambaNTPassword
>>>
>>> O smbldap-tools gera essas senhas. Já até fiz uma ferramenta em PHP 
>>> para
>>> gerar isso, mas faz tempo e lembro que é chato demais de fazer.
>>> Do jeito que está aqui eu não preciso do Samba para autenticar os 
>>> usuários
>>> da rede wireless.
>> Fabio, seria abuso lhe perguntar como ficaram os arquivos e
>> configuração do RADIUS para esse esquema funcionar? No meu caso, se
>> ficar como o seu, é assunto resolvido. Já usamos o smbldap-tools para
>> gerenciar a parte Samba no OpenLDAP, então, os hashs já estão lá.
>> Restaria apenas estudar uma forma de dizer ao RADIUS algo como "se as
>> credenciais batem, verificiar o atributo XPTO para ver se esse user
>> pode usar Internet etc".
>>
>> Obrigado.
>>
>> Cássio
>> __
>> masoch-l list
>> https://eng.registro.br/mailman/listinfo/masoch-l
>
> __
> masoch-l list
> https://eng.registro.br/mailman/listinfo/masoch-l



More information about the masoch-l mailing list