Este es un manual de cómo instalar, configurar freeradius y Windows XP con WEP. Aunque existen varias formas de autenticación voy a utilizar una de ellas (EAP con PEAP con mschapv2). Explicaré con detalle lo que he utilizado y como para que así os funcione seguro, pondré exactamente lo que utilizado. Es la forma que a mi me a funcionado no soy ningún experto ni muchísimo menos, este manual esta abierto a cambios y mejoras. Lo he instalado en Whoppix 2.7.1, y el tipo de autenticación es EAP con PEAP con mschapv2 sin certificado. ---------------------------------------------------------------------------------------------1. Instalación del freeradius 2. Configuración del punto del AP 3. Configuración del freeradius 4. Configuración de los clientes Windows XP, para autenticar en freeradius ------------------------------------------------------------------------------------------------------------------------ 1- Instación el freeradius Yo he utilizado este freeradius-1.0.4.tar.gz, http://www.freeradius.org/getting.html. también podéis descargarlo de Para configurar e instalar: ./configure make make install Con esto lo tenemos instalado en mi caso por defecto en usr/local/etc/raddb/ 2- Configuración del AP En mi caso tengo un Seano SL-3054CB3 Plus (Deluxe). Este paso es el mas sencillo, seleccionamos 802.1x , e introducimos la ip del servidor radius, osea donde hemos instalado el freeradius, en mi caso 192.168.0.87 ,el secreto que compartirán en un futuro (luego se utiliza en clients.conf) en mi caso "misecreto", aunque acepta varios puertos yo tengo el 1812. Os dejo una imagen. Otra cosilla a tocar es el WEP o WPA como dije antes yo utilizaré WEP que aunque es menos seguro que WPA, si juntamos WEP + freeradius y si tenemos nosotros alguna cosilla mas pues ya esta bastante decente. Con lo cual nos situamos en nuestro ap sobre WEP y lo configuramos, seleccionamos el tipo de clave, cuando mas alta mas segura, o sea metemos 128, escribimos la clave, en mi caso al ser hex digits, meto 26 numeritos que van desde el 0 al 15, también existe la posibilidad que sean 13 caracteres seleccionando 128 bit (13 ascii chars) . 3- Configuracion de freeradius Tenemos que toquear 4 ficheros, | radiusd.conf | users | clients.conf | eap.conf , los encontraremos en /usr/local/etc/raddb/ Fichero radiusd.conf: Encontrareis "#with_ntdomain_hack = no" yo la he puesto a "with_ntdomain_hack = yes" (y sin la #), encontrareis 2 etiquetas como esta en el fichero poner las 2 igual. En el fichero users Como dije antes hay muchas maneras de autenticar, usuarios que existan en el sistema, utilizando base de datos, escribiendo en user y pass en este fichero etc., En mi caso he utilizado lo mas sencillo, escribir un user y pass a mano en este fichero, la forma que lo he realizado es : "curso" User-Password == "654321" (aquí las comillas si se ponen). Donde curso es el usuario a autenticar y 654321 sería la contraseña. Fichero clients.conf: Aquí es donde damos de "alta" los puntos de acceso, es tan sencillo como escribir la ip del ap y el secreto que es la palabra que comparten el ap y el frerradius, con un ejemplo mejor. Tenemos un ap con la ip 192.168.0.3 y la palabra secreta para ese ap es "misecreto" que es la que hemos puesto hace un rato en el ap. pues... client 192.168.0.3 { secret = misecreto shortname = senao } Shortname poner lo que queráis, yo he puesto el nombre de mi ap.Y así de simple vamos dando de "alta" los ap's que quieran autenticar contra nuestro radius. Fichero eap.conf: De este fichero modificamos un par de cosas para que pueda autenticar introduciendo un user y un pass, quedaría así: tls { private_key_password = whatever private_key_file = ${raddbdir}/certs/cert-srv.pem # If Private key & Certificate are located in # the same file, then private_key_file & # certificate_file must contain the same file # name. certificate_file = ${raddbdir}/certs/cert-srv.pem # Trusted Root CA list CA_file = ${raddbdir}/certs/demoCA/cacert.pem dh_file = ${raddbdir}/certs/dh random_file = ${raddbdir}/certs/random # # This can never exceed the size of a RADIUS # packet (4096 bytes), and is preferably half # that, to accomodate other attributes in # RADIUS packet. On most APs the MAX packet # length is configured between 1500 - 1600 # In these cases, fragment size should be # 1024 or less. # fragment_size = 1024 # include_length is a flag which is # by default set to yes If set to # yes, Total Length of the message is # included in EVERY packet we send. # If set to no, Total Length of the # message is included ONLY in the # First packet of a fragment series. # include_length = yes # Check the Certificate Revocation List # # 1) Copy CA certificates and CRLs to same directory. # 2) Execute 'c_rehash <CA certs&CRLs Directory>'. # 'c_rehash' is OpenSSL's command. # 3) Add 'CA_path=<CA certs&CRLs directory>' # to radiusd.conf's tls section. # 4) uncomment the line below. # 5) Restart radiusd # check_crl = yes # # If check_cert_cn is set, the value will # be xlat'ed and checked against the CN # in the client certificate. If the values # do not match, the certificate verification # will fail rejecting the user. # # check_cert_cn = %{User-Name} } Como se observa he descomentado algunas opciones (he quitado las #), un poco mas abajo tenemos el peap y lo dejamos así: peap { # The tunneled EAP session needs a default # EAP type which is separate from the one for # the non-tunneled EAP module. Inside of the # PEAP tunnel, we recommend using MS-CHAPv2, # as that is the default type supported by # Windows clients. default_eap_type = mschapv2 } Llegados a este punto ya tenemos el freeradius configurado, los clientes creados (los ap's) y los users también. Antes de nada es aconsejable hacer un test para saber que todo ha salido bien y que freeradius se ha enterado de los cambios. El test lo realizamos de la siguiente manera en la maquina donde este instalado el freeradius. Suponiendo que hemos creado el usuario "curso" y su password es "654321" introducimos. radtest curso 654321 localhost 1812 testing123 Lo de localhost es la makina local, y el 1812 es el puerto, y testing123 es el secreto que lleva (en clients.conf) para que la maquina local autentique, si con ese mismo usuario intentásemos hacer el test en otro pc tendríamos que añadirlo a clients.conf e introducir un secreto, y el radtest sería con el nuevo secreto y en vez de localhost seria la ip del servidor radius. Si por lo que fuera el test falla probablemente sea que no ha pillado la nueva configuración podemos hacer: service radiusd restart 4- Configuración clientes Windows XP para autenticar en freeradius Propiedades sobre el adaptador wireless y propiedades, y tiene que quedar así. Pinchamos en "cifrado de datos (WEP habilitado)" he introducimos la clave WEP que hemos puesto en el ap. Ahora pinchamos en Autenticación y dejamos las opciones que aparecen en la imagen siguiente. A continuación propiedades. Quitamos la opción "validar un certificado de servidor" y pinchamos sobre "Configurar...”. Nos aparecerá lo siguiente… Esta opción NO tiene que estar activada, como digo hay muchas formas de que autentique y una de ellas es dejando esta casilla sin activar, para así cuando intente autenticar nos salga una ventana con user, pass y dominio, el domino se tiene que dejar en blanco y el user y el pass será aquél que hemos creado en el fichero users . Aunque se podría configurar para que el freeradius acepte el user, pass y dominio para que asi se autentique directamente según el user que inicia sesión en Windows XP no es nuestro caso.
© Copyright 2024