Migdalis Mago escribió:
Hola Listeros de Debian....
Estoy tratando de configurar freeradius para conectarlo con el
servidor ldap pero estoy muy estancada!!
Bueno estoy editando el archivo radiusd.conf de freeradius en alguno
de sus parametros para que utilice al servidor ldap, pero hago unas
pruebas con radtest y me arroja un error!!!
Aqui le voy a colocar mi radiusd.conf para que ustedes lo revisen y me
digan si es que estoy haciendo algo erroneo o si me falta algun
parametro por modificar o descomentar....
# AQUI MODIFIQUE ESTOS PARAMETRO A YES
log_auth = yes
log_auth_badpass = yes
log_auth_goodpass = yes
}
# A PARTIR DE AQUI EMPECE A MODIFICAR LO DEL SERVIDOR LDAP
ldap {
server = "167.157.77.9"
# identity = "cn=admin,o=My Org,c=UA"
identity = "CN=FERRERMJ,OU=Plc,OU=All
Users,OU=Nuevo,OU=Usuarios,DC=hidro,DC=com"
# AQUI EN IDENTITY YO COLOQUE A UN USUARIO!!
# AQUI EN IDENTITY PUEDO COLOCAR UNA DIRECCION DE UN USUARIO O TIENE
QUE SER EL ADMINISTRADOR???
# LO QUE PASA ES QUE YO NO SOY EL ADMINISTRADOR DEL SERVIDOR LDAP Y
ESTOY TRATANDO DE CONECTARME A LDAP MEDIANTE UN USUARIO # ESTO SE
PUEDE????NO PRODUCE ERRORES???
# password = mypass
password = 123456
#basedn = "o=My Org,c=UA"
basedn = "OU=Nuevo,OU=Usuarios,DC=hidro,DC=com"
# password_attribute = "userPassword"
password_attribute = "123456"
filter = "(uid=%{Stripped-User-Name:-%{User-Name}})"
# base_filter = "(objectclass=radiusprofile)"
# HE VISTO EN VARIOS MANUALES DE INTERNET QUE VARIAS PERSONAS PONEN
start_tls = no EN YES....
# QUE AFECTA ESTO SI LO COLOCO EN YES????
start_tls = no
#EN ESTA PARTE DE LA CONFIGURACION YO COLOQUE LA DIRECCION DE DONDE SE
ENCONTRABA CADA ARCHIVO....
# ME GUSTARIA QUE TAMBIEN LO REVISARAS Y ME DIJERAS ALGO AL RESPECTO
tls_cacertfile = /etc/raddb/certs/demoCA/cacert.pem
tls_cacertdir = /etc/raddb/certs
tls_certfile = /etc/raddb/certs/radius.pem
tls_keyfile = /etc/raddb/certs/demoCA/private/cakey.pem
tls_randfile = /etc/raddb/certs/random
tls_require_cert = "demand"
#QUE OTRO PARAMETRO TENGO QUE MODIFICAR???
Me gustaria saber alguna opinion con respecto a este radiusd.conf y si
tengo algun error en la configuracion???
Hola.
Bien en cuanto a lo de ldap de momento no te puedo ayudar porque es poco
lo que me he documentado pero te recomiendo que primero lo configures
pana un usuario normal que hayas puesto en el users.conf y luego
entonces si lo hagas con el ldap esto con el fin de probar primero si el
freeradius funciona.
> # HE VISTO EN VARIOS MANUALES DE INTERNET QUE VARIAS PERSONAS PONEN
> start_tls = no EN YES....
> # QUE AFECTA ESTO SI LO COLOCO EN YES????
probablemente si, pero mejor prueba.
En cuanto a lo de los archivos, imagino que estas usando ttls y que ya
recompilaste el paquete debian para que tenga soporte ttls. Los archivos
que nombras al final
> tls_cacertfile = /etc/raddb/certs/demoCA/cacert.pem
> tls_cacertdir = /etc/raddb/certs
> tls_certfile = /etc/raddb/certs/radius.pem
> tls_keyfile = /etc/raddb/certs/demoCA/private/cakey.pem
> tls_randfile = /etc/raddb/certs/random
> tls_require_cert = "demand"
tienes que crearlos ya que son los certificados con los que se
comunicara el freeradius con los clientes. Hay una forma de crearlos a
mano pero es muy engorroso así que en mi caso agarre un script que viene
con el paquete debian, lo modifique porque no funcionaba muy bien que
digamos y ese automáticamente te crea esos archivos,copias los archivos
que te genere en la ubicación que coloques el la configuración de
freeradius y listo.
Aquí te mando el script que use, se llama CA.all. Ojo que tambien tienes
que crear un archivo llamado xpextensions que contiene unas claves
necesarias para compatibilidad con clientes WIN XPtea.
Archivo xpextensions
#
# For use with the 'CA.all' script.
#
[ xpclient_ext]
extendedKeyUsage = 1.3.6.1.5.5.7.3.2
[ xpserver_ext]
extendedKeyUsage = 1.3.6.1.5.5.7.3.1
Archivo CA.all
#!/bin/sh
#
# This is a NON-INTERACTIVE script to help generate certificates for
# use with the EAP-TLS module.
#
# $Id: CA.certs,v 1.1 2004/01/23 17:02:31 aland Exp $
#
# This environment variable should point to the SSL installation
#
[ "$SSL" = "" ] && SSL=/usr/lib/ssl/
export SSL
#
# Edit the following variables for your organization.
#####OJO EDITA ESTAS VARIABLES PARA TU CASO EN PARTICULAR
#Tu pais para mi caso venezuela
COUNTRY="VE"
#Tu provincia, igual esta es la mia
PROVINCE="Tachira"
# Tu ciudad, en micaso la ciudad de la cordialidad
CITY="San Cristobal"
ORGANIZATION="Tu.organizacion.com"
#Nombre del host que corre el freeraius
ORG_UNIT="tumaquina"
PASSWORD="la_password_a_utilizar_entre_el_freeradius_y_el_acesspoint"
# DE AQUI EN ADELANTE LO DEJAS IGUAL
COMMON_NAME_CLIENT="Client certificate"
EMAIL_CLIENT="client@example.com"
PASSWORD_CLIENT=$PASSWORD
COMMON_NAME_SERVER="Server certificate"
EMAIL_SERVER="server@jauregui.lcar.unet.edu.ve"
PASSWORD_SERVER=$PASSWORD
COMMON_NAME_ROOT="Root certificate"
EMAIL_ROOT="root@jauregui.lcar.unet.edu.ve"
PASSWORD_ROOT=$PASSWORD
#
# lifetime, in days, of the certs
#
LIFETIME=730
######################################################################
#
# Don't change anything below this line...
#
######################################################################
#
# Prefer the SSL configured above, over any previous installation.
#
PATH=${SSL}/bin/:${SSL}/misc:${PATH}
LD_LIBRARY_PATH=${SSL}/lib
export PATH LD_LIBRARY_PATH
rm -rf demoCA roo* cert* *.pem *.der
echo -e ""
echo -e "\t\t##################"
echo -e "\t\tcreate private key"
echo -e "\t\tname : name-root"
echo -e "\t\tCA.pl -newcert"
echo -e "\t\t##################\n"
(echo $COUNTRY
echo $PROVINCE
echo $CITY
echo $ORGANIZATION
echo $ORG_UNIT
echo $COMMON_NAME_CLIENT
echo $EMAIL_CLIENT
) | openssl req -new -x509 -keyout newreq.pem -out newreq.pem -days
$LIFETIME -passin pass:$PASSWORD_CLIENT -passout pass:$PASSWORD_CLIENT
if [ "$?" != "0" ]
then
echo "Failed to create client certificate"
exit 1
fi
echo -e ""
echo -e "\t\t##################"
echo -e "\t\tcreate CA"
echo -e "\t\tuse just created 'newreq.pem' private key as filename"
echo -e "\t\tCA.pl -newca"
echo -e "\t\t##################\n"
echo "newreq.pem" | CA.pl -newca || exit 2
#ls -lg demoCA/private/cakey.pem
echo -e ""
echo -e "\t\t##################"
echo -e "\t\texporting ROOT CA"
echo -e "\t\tCA.pl -newreq"
echo -e "\t\tCA.pl -signreq"
echo -e "\t\topenssl pkcs12 -export -in demoCA/cacert.pem -inkey
newreq.pem -out root.pem"
echo -e "\t\topenssl pkcs12 -in root.cer -out root.pem"
echo -e "\t\t##################\n"
openssl pkcs12 -export -in demoCA/cacert.pem -inkey newreq.pem -out
root.p12 -cacerts -passin pass:$PASSWORD_ROOT -passout pass:$PASSWORD_ROOT
openssl pkcs12 -in root.p12 -out root.pem -passin pass:$PASSWORD_ROOT
-passout pass:$PASSWORD_ROOT
openssl x509 -inform PEM -outform DER -in root.pem -out root.der
echo -e ""
echo -e "\t\t##################"
echo -e "\t\tcreating client certificate"
echo -e "\t\tname : name-clt"
echo -e "\t\tclient certificate stored as cert-clt.pem"
echo -e "\t\tCA.pl -newreq"
echo -e "\t\tCA.pl -signreq"
echo -e "\t\t##################\n"
(echo $COUNTRY
echo $PROVINCE
echo $CITY
echo $ORGANIZATION
echo $ORG_UNIT
echo $COMMON_NAME_SERVER
echo $EMAIL_SERVER
echo $PASSWORD_SERVER
echo "testing"
) | openssl req -new -keyout newreq.pem -out newreq.pem -days $LIFETIME
-passin pass:$PASSWORD_SERVER -passout pass:$PASSWORD_SERVER
if [ "$?" != "0" ]
then
echo "Failed to create server certificate"
exit 1
fi
echo "31032007" > demoCA/serial
(echo y
echo y) | openssl ca -policy policy_anything -out newcert.pem -passin
pass:$PASSWORD_SERVER -key $PASSWORD_SERVER -extensions xpclient_ext
-extfile xpextensions -infiles newreq.pem
if [ "$?" != "0" ]
then
echo "Failed to do sign certificate"
exit 1
fi
openssl pkcs12 -export -in newcert.pem -inkey newreq.pem -out
cert-clt.p12 -clcerts -passin pass:$PASSWORD_CLIENT -passout
pass:$PASSWORD_CLIENT || exit 8
openssl pkcs12 -in cert-clt.p12 -out cert-clt.pem -passin
pass:$PASSWORD_CLIENT -passout pass:$PASSWORD_CLIENT || exit 9
openssl x509 -inform PEM -outform DER -in cert-clt.pem -out cert-clt.der
|| exit 10
echo -e ""
echo -e "\t\t##################"
echo -e "\t\tcreating server certificate"
echo -e "\t\tname : name-srv"
echo -e "\t\tserver certificate stored as cert-srv.pem"
echo -e "\t\tCA.pl -newreq"
echo -e "\t\tCA.pl -signreq"
echo -e "\t\t##################\n"
(echo $COUNTRY
echo $PROVINCE
echo $CITY
echo $ORGANIZATION
echo $ORG_UNIT
echo $COMMON_NAME_ROOT
echo $EMAIL_ROOT
echo $PASSWORD_ROOT
echo $ORG_UNIT
) | openssl req -new -keyout newreq.pem -out newreq.pem -days $LIFETIME
-passin pass:$PASSWORD_ROOT -passout pass:$PASSWORD_ROOT
if [ "$?" != "0" ]
then
echo "Failed to create root certificate"
exit 1
fi
(echo y
echo y) | openssl ca -policy policy_anything -out newcert.pem -passin
pass:$PASSWORD_ROOT -key $PASSWORD_ROOT -extensions xpserver_ext
-extfile xpextensions -infiles newreq.pem
if [ "$?" != "0" ]
then
echo "Failed to sign root certificate"
exit 1
fi
openssl pkcs12 -export -in newcert.pem -inkey newreq.pem -out
cert-srv.p12 -clcerts -passin pass:$PASSWORD_SERVER -passout
pass:$PASSWORD_SERVER || exit 5
openssl pkcs12 -in cert-srv.p12 -out cert-srv.pem -passin
pass:$PASSWORD_SERVER -passout pass:$PASSWORD_SERVER || exit 6
openssl x509 -inform PEM -outform DER -in cert-srv.pem -out cert-srv.der
|| exit 7
echo -e "\n\t\t#################################"
echo -e "\t\tDONE. Thank you for your patience."
echo -e "\t\t###################################\n"
Creo que tienes que tener instalado el openssl o algo así para poder
generarlos, ejecutalo y comenta
Sib mas que comentar suerte con eso.