SlideShare una empresa de Scribd logo
Seguridad Avanzada
Remote
Access
Dial
In
User
Service
versión Freeradius 2.1.12
Seguridad Avanzada / Servicio de autorización de usuarios para acceso remoto RADIUS - 2 -
Remote Access Dial-In User Service
(1) Introducción
(2) Especificaciones y operación
(3) Aplicaciones
(4) Desarrollos:
u  Consideraciones iniciales
u  Instalación y configuración de Freeradius
u  A) Freeradius+PEAP con usuarios en fichero
u  B) Freeradius+PEAP/MS-CHAPv2 + MYSQL
(5) Referencias
Índice de contenidos:
- 3 -
(1) Introducción
l  RADIUS provee arquitectura AAA (Authentication,
Authorization, Accounting) para redes de acceso dial-
up (NAS), VPN, acceso inalámbrico (p.e. EDUROAM) o
switches Ethernet (p.e. CISCO 2950) entre otros.
l  Desarrollado originalmente por Livingston Enterprises
para sus Servidores de Acceso a la Red (NAS).
l  El protocolo RADIUS actualmente está definido en los
RFC 2865 (autentificación y autorización) y 2866
(manejo de sesiones).
l  Propósito es diferenciar, identificar y contabilidad
(permite cobros por uso – billing) de usuarios.
- 4 -
(2) Especificaciones y operación (1/8)
Características de la arquitectura AAA:
l  Soporta gran número de usuarios y consultas simultáneas; y
cientos de dispositivos.
l  Provee mecanismo de respaldo, ante un fallo de comunicación
con el servidor AAA primario.
l  Dispone un mecanismo de autenticación cliente/servidor.
l  Requiere autenticación, protección integral y confidencialidad
de la Capa de Transporte.
l  Política de no modificación del paquete original.
l  Permite el transporte de certificados.
l  Permite servicio de seguridad subyacente como IPsec.
l  Es extensible a otros usos (RADIUS RFC 2869).
- 5 -
(2) Especificaciones y operación (2/8)
Características del protocolo RADIUS (1/3):
l  Administración centralizada de usuarios.
l  Modelo cliente/servidor:
u  NAS opera como cliente RADIUS, pasado la petición de
conexión del usuario al servidor designado.
u  Servidor RADIUS responsable de autenticar al usuario y
enviar respuesta con información de configuración. Como
cliente proxy de otros servidores RADIUS (ISP).
u  Mensajes enviados por UDP (User Datagram Protocol):
u  Puerto UDP 1812 usado para mensajes de autenticación.
u  Puerto UDP 1813 para mensajes de cuentas.
u  Originalmente se usaron UDP 1645/1646.
- 6 -
(2) Especificaciones y operación (3/8)
Características del protocolo RADIUS (2/3):
l  Seguridad:
u  Transacciones cliente/servidor RADIUS autenticadas por
un secreto compartido:
u  Para comprobar que los mensajes RADIUS son enviados por un
dispositivo compatible y la integridad de los mismos. También se
utiliza para cifrar algunos de los atributos RADIUS, como User-
Password y Tunnel-Password.
u  Mismo secreto compartido, que distingue mayúsculas y minúsculas,
en ambos dispositivos RADIUS; y diferente en cada par cliente/
servidor. Nunca se transfiere a través de la red.
u  Debe ser aleatorio, con una secuencia aleatoria de mínimo 22
caracteres (utilizar cualquier carácter alfanumérico o especial
estándar) y máximo 128 caracteres de longitud.
- 7 -
(2) Especificaciones y operación (4/8)
Características del protocolo RADIUS (3/3):
l  Métodos de autenticación flexibles:
l  PAP (Password Authentication Protocol): Protocolo simple de
autenticación de un usuario contra un servidor de acceso remoto
(sub-protocolo usado por la autenticación del protocolo PPP).
Contraseñas en ASCII sin cifrar (inseguro), se usa como último
recurso.
l  CHAP (Challenge Handshake Authentication Protocol):
Protocolo de autenticación por desafío mutuo, usado por servidores
accesibles vía PPP. Verifica periódicamente la identidad del cliente
remoto usando un intercambio de información de tres etapas.
Verificación basada en un secreto compartido, requiere que el cliente
mantenga el secreto disponible en texto plano.
u  EAP (Extensible Authentication Protocol): Estructura de
soporte para modernos mecanismos de autenticación (EAP-MD5,
EAP-TLS, EAP-TTL, EAP-TTLS, LEAP, PEAP)
- 8 -
(2) Especificaciones y operación (5/8)
Formato de paquete:
l  Code (1 byte): Contiene el tipo de comando/respuesta RADIUS
l  Identifier (1 byte): Usado para relacionar comandos y respuestas
l  Length (2 bytes): Longitud del paquete
l  Authenticator (4 bytes): Usado para autenticar la respuesta del
servidor RADIUS, y usado por el algoritmo de encubrimiento de
contraseña.
l  Attributes: Nº arbitrario de atributos, los únicos obligatorios:
User-Name (usuario) y User-Password (contraseña).
Módulo Servicios de red / Servicio de autorización de usuarios para acceso remoto RADIUS - 9 -
Métodos de autenticación
PAP, CHAP, EAP
(2) Especificaciones y operación (6/8)
Servidor
de acceso
a la red
(NAS)
Cliente
RADIUS
BD
Usuarios
Servidor
RADIUSUsuario
Access-Request
(solicitud de acceso)
Access-Challenge
(desafío de acceso)
Access-Request
(solicitud de acceso)
Access-Accept
(acceso aceptado)
Access-Reject
(acceso denegado)
Información
autenticación
Operación:
- 10 -
(2) Especificaciones y operación (7/8)
Método de autenticación EAP Protegido (PEAP):
http://www.cisco.com
- 11 -
(2) Especificaciones y operación (8/8)
Método de autenticación EAP Protegido (PEAP):
- 12 -
(3) Aplicaciones
l  Acceso líneas conmutadas:
-  Muy útil para los ISP de acceso telefónico.
l  Redes Wireless:
-  Estándar 802.1X (http://tools.ietf.org/html/rfc3580)
l  VoIP:
-  Radius permite controlar la seguridad del acceso a datos.
-  También permite informes para realizar la tarificación en
consecuencia.
l  VPN (Virtual Private Network)
l  Autenticación de servicios:
-  Acceso web, servicio de correo electrónico, acceso remoto...
- 13 -
(4) Desarrollo
Consideraciones iniciales:
l  Desarrollos orientados a conocer las posibilidades del servicio
RADIUS:
-  servicio de autenticación para 802.1x (PEAP)
-  (A) Usuarios y clientes en archivos (users, clients.conf)
-  (B) Usuarios y clientes en BD MYSQL.
l  Características configurables:
-  Servidor con Linux Mint 17 (Mate) en Virtualbox
-  Freeradius server 2.1.12 (desde repositorio)
-  Método de autenticación EAP Protegido (PEAP):
l  Esquema de autenticación NAS – servidor RADIUS.
l  Compatibilidad con clientes 802.1x en MS-Windows, Linux
y Mac X OS usando MS-CHAPv2.
- 14 -
(4.A) Desarrollo
Instalación de FreeRADIUS + PEAP:
#apt-get update
#apt-get install freeradius freeradius-utils
- 15 -
(4.A) Desarrollo
Configuración:
l  Archivos de configuración localizados en /etc/freeradius:
-  radiusd.conf: Archivo de configuración principal, contiene numerosos parámetros
de configuración comunes y referencias a otros archivos de configuración.
-  users: Contiene información de autenticación y configuración para cada usuario
que puede acceder, en caso de no usar otro método.
-  clients.conf: Contiene la definición de los clientes RADIUS (NAS) que pueden
conectarse al servidor.
-  sql.conf: Guarda la configuración para el módulo SQL, en el caso de usar una BD
como backend para los usuarios de RADIUS.
-  eap.conf: Contiene información relativa a la configuración del tipo EAP (Extensible
Authentication Protocol) elegido para que funcione como protocolo de
autenticación. EAP se utilizará como PEAP (Protected EAP).
-  sites-available/default: Como soporte para servidores virtuales, cada servidor
virtual deberá disponer de un archivo que contenga la información de configuración
específica del mismo dentro de este directorio.
-  modules/: Carpeta que contiene archivos de configuración de los distintos módulos
de autentificación soportados por Freeradius.
- 16 -
(4.A) Desarrollo
Configuración /etc/freeradius/radiusd.conf::
log {
...
#Registra las peticiones de autenticación
auth = yes
#Registra las passwords de las peticiones de autenticación,
#tanto aceptadas como rechazadas. Sólo recomendable a efectos de
#depuración
auth_badpass = yes
auth_goodpass = yes
}
…
proxy_requests = no
#La línea siguiente debe ser comentada si 'no' en la anterior
#$INCLUDE proxy.conf
…
- 17 -
(4.A) Desarrollo
Configuración /etc/freeradius/eap.conf:
eap {
#Se le dice que use PEAP
default_eap_type = peap
timer_expire = 60
ignore_unknown_eap_types = no
...
tls {
#Certicados se localizan en /etc/freeradius/certs/
certdir = ${confdir}/certs
cadir = ${confdir}/certs
...
}
#Se le dice que use MS-CHAPv2
peap {
default_eap_type = mschapv2
...
}
mschapv2 {
}
}
- 18 -
(4.A) Desarrollo
Configuración /etc/freeradius/users y clients.conf:
Configuración de /etc/freeradius/users:
l  Configuramos un usuario de prueba:
test Cleartext-Password := “test”
Configuración de /etc/freeradius/clients.conf:
l  Configuraremos un clientee (NAS):
#Punto de acceso inalámbrico (AP)
client 192.168.0.50{
#Esta clave es el secreto compartido que usará el AP para
comunicarse con el servidor RADIUS
secret = testing123
shortname = Linksys WRT54G
}
Nota: En el archivo existe un cliente por defecto “localhost” y
contraseña “testing123” para pruebas.
- 19 -
(4.A) Desarrollo
Carpeta “Modules”. Contiene los parámetros generales de configuración de los módulos
que determinan los tipos de métodos de autenticación activos.
Configuración /etc/freeradius/modules/mschap:
mschap {#Soporta autenticación MS-CHAP y MS-CHAPv2
#Microsoft Point-to-Point Encryption es un protocolo de
#encriptación de datos para el protocolo PPP y enlaces VPN.
#Soporta claves de sesión de 40, 56 y 128-bit, que cambian
#por paquete.
use_mppe = yes
require_encryption = yes
require_strong = yes
#Windows envía un nombre de usuario como DOMINIOusuario; pero, en la
#respuesta al desafío, sólo envía el usuario. Esto provoca un error.
with_ntdomain_hack = yes
}
Recarga de las librerías:
#ldconfig
- 20 -
(4.A) Desarrollo
Recarga del servicio Freeradius:
#service freeradius restart
Recomendación: visualizar en una nueva consola
el estado del servidor durante el reinicio
mediante el comando:
#tail –f /var/log/freeradius/radius.log
Prueba de autentificación con el usuario “test”:
#radtest test test localhost 1812 testing123
- 21 -
(4.A) Desarrollo
Resultados de la prueba de autentificación con el usuario “test”:
- 22 -
(4.B) Desarrollo
Instalación de FreeRADIUS + MYSQL (1/2):
#apt-get install mysql-server
#apt-get install freeradius-mysql
#service freeradius restart
- 23 -
(4.B) Desarrollo
Instalación PHPMYADMIN* (opcional) (2/2):
#apt-get install apache2
#apt-get install php5 libapache2-mod-php5
#apt-get install libapache2-mod-auth-mysql php5-
mysql phpmyadmin
#service apache2 restart
- 24 -
(4.B) Desarrollo
Configuración /etc/freeradius/radiusd.conf::
log {
...
#Registra las peticiones de autenticación
auth = yes
#Registra las passwords de las peticiones de autenticación,
#tanto aceptadas como rechazadas. Sólo recomendable a efectos de
#depuración
auth_badpass = yes
auth_goodpass = yes
}
…
proxy_requests = no
#La línea siguiente debe ser comentada si 'no' en la anterior
#$INCLUDE proxy.conf
…
#La línea siguiente debe no aparecer comentada
$INCLUDE sql.conf
- 25 -
(4.B) Desarrollo
Configuración /etc/freeradius/eap.conf:
eap {
#Se le dice que use PEAP
default_eap_type = peap
timer_expire = 60
ignore_unknown_eap_types = no
...
tls {
#Certicados se localizan en /etc/freeradius/certs/
certdir = ${confdir}/certs
cadir = ${confdir}/certs
...
}
#Se le dice que use MS-CHAPv2
peap {
default_eap_type = mschapv2
...
}
mschapv2 {
}
}
- 26 -
(4.B) Desarrollo
Carpeta “Modules”. Contiene los parámetros generales de configuración
de los módulos que determinan los tipos de métodos de autenticación
activos.
Configuración /etc/freeradius/modules/mschap:
mschap {#Soporta autenticación MS-CHAP y MS-CHAPv2
#Microsoft Point-to-Point Encryption es un protocolo de
#encriptación de datos para el protocolo PPP y enlaces VPN.
#Soporta claves de sesión de 40, 56 y 128-bit, que cambian por paquete.
use_mppe = yes
require_encryption = yes
require_strong = yes
#Windows envía un nombre de usuario como DOMINIOusuario; pero, en la
#respuesta al desafío, sólo envía el usuario.
with_ntdomain_hack = yes
}
Configuración /etc/freeradius/modules/preprocess:
mschap {
…
#Soporta autenticación MS-CHAP y MS-CHAPv2
with_ntdomain_hack = yes
…
}
- 27 -
(4.B) Desarrollo
Configuración /etc/freeradius/users y clients.conf:
Configuración de /etc/freeradius/users:
l  No es necesario realizar ninguna configuración específica.
Configuración de /etc/freeradius/clients.conf * (esta información también
puede ir en una tabla de la BD):
l  No es necesario realizar ninguna configuración específica. Sólo comprobar
que todos los posibles clientes están comentados porque a partir de ahora se
registrarán en una tabla de la BD.
l  En el archivo existe un cliente por defecto “localhost” y contraseña “testing123”
para pruebas.
- 28 -
(4.B) Desarrollo
Configuración /etc/freeradius/sql.conf (1/2):
Configuramos la información de acceso desde Freeradius al servidor de BD
(en este tutorial se utilizará el usuario que viene por defecto, pero se
recomienda cambiar el usuario y contraseña utilizados para la conexión
con la BD). Después deberán usarse estas mismas credenciales durante la
creación de la BD “radius”.
- 29 -
(4.B) Desarrollo
Configuración /etc/freeradius/sql.conf (2/2):
sql {
#Selecciona una BD: mysql, mssql, oracle, postgresql
database = "mysql"
#Se indica a FreeRADIUS el driver a usar
driver = "rlm_sql_${database}"
#Información de conexión:
#Usamos localhost porque servidor BD y FreeRADIUS son el mismo
server = "localhost"
login = "radius"
password = "radpass"
#Nombre de la BD a utilizar excepto para Oracle
radius_db = "radius"
...
#Habilita la utilización de atributos de grupo
read_groups = yes
… ¡
}
- 30 -
(4.B) Desarrollo
Configuración Base de Datos de usuario en MYSQL:
l  Para mejor comprensión de la BD y facilitar su manejo, disponemos de una
interfaz web en la dirección http://dirección_ip_mi_servidor/phpmyadmin
l  Abrir una conexión con MySQL desde shell y crear BD de usuarios:
#cd /etc/freeradius/sql/mysql
#mysql –uroot –p<password>
mysql>create database radius;
mysql>grant all privileges on radius.* to radius@localhost
identified by 'radpass';
mysql>use radius;
l  Importar tablas desde la plantilla proporcionada por la instalación:
mysql>source schema.sql;
mysql>show tables;
mysql>quit;
- 31 -
(4.B) Desarrollo
Configuración /etc/freeradius/sites-available/default (1/4):
authorize {
preprocess
chap
mschap
suffix
#Se activa protocolo EAP. FILES para que se lea archivo 'users'
eap {
ok = return
}
#unix #Puede comentarse porque no se usa autorización del sistema
#files #Puede comentarse porque no se usa el archivo 'users'
#SQL indica la búsqueda del usuario en una BD según sql.conf
sql
...
#Si ningún otro módulo toma responsabilidad de autenticación, se
usará PAP
pap
}
- 32 -
(4.B) Desarrollo
Configuración /etc/freeradius/sites-available/default (2/4):
accounting {
…
#Los registros serán almacenados en una BD según sql.conf
sql
}
session{
…
sql
…
}
post-auth{
…
sql
…
}
- 33 -
(4.B) Desarrollo
Configuración /etc/freeradius/sites-available/inner-tunel (3/4):
authorize {
…
sql
…
}
session {
…
sql
…
}
post-auth{
…
sql
…
}
- 34 -
(4.B) Desarrollo
Configuración /etc/freeradius/sites-available/ (4/4):
Nota: Habilitar las consultas SQL sobre la directiva “post-auth” permitirá a Freeradius
guardar todos los accesos válidos en la tabla “radpostauth”. Si se realizan pruebas de
conexión local con la herramienta “radtest”, las contraseñas se guardarán en claro,
sin embargo, si se realizan en equipos remotos por el túne TLS, éstas no aparecen.
Recarga de las librerías y reinicia el servidor Freeradius:
#ldconfig
#service freeradius restart
- 35 -
(4.B) Desarrollo
Más configuración Base de Datos de usuario en MYSQL (1/6):
l  Tablas importadas a la BD desde schema.sql:
- 36 -
(4.B) Desarrollo
Más configuración Base de Datos de usuario en MYSQL (2/6):
1. ¿Existe 'user' en radcheck?
2. ¿Datos de validación se corresponden?
3. ¿read_groups = yes en sql.conf?
4. ¿Existe un entrada para 'user' en radreply?
5. ¿Directiva Fall-Through en radreply?
6. ¿Existe 'grupo' en radgroupcheck?
7. ¿No existe correspondencia o directiva
Fall-Through en radgroupreply? o
¿no es el último grupo?
Más información:
http://wiki.freeradius.org/Rlm_sql
user/pass
radcheck1
read_groups = yes
2
3
radreply
5
radusergroup
by priority
radgroupcheck
radgroupreply
6
Respuesta
7
N
o
N
o
N
o
S
í
N
o
S
í
S
í
N
o
S
í
N
o
4
N
o
- 37 -
(4.B) Desarrollo
Más configuración Base de Datos de usuario en MYSQL (3/6):
ATRIBUTOS de FreeRADIUS:
l Formato de tabla:
l Muestra qué atributos aparecen o pueden
aparecer en cada tipo de mensaje Radius:
n  0 indica que el atributo no puede
aparecer en el mensaje.
n  0+ indica que el atributo puede no
aparecer o aparecer una o más veces
en el mensaje.
n  0-1 indica que el atributo debe
aparecer una sola vez o no aparecer
en el mensaje.
n  1 indica que el atributo debe aparecer
una y sólo una vez en el mensaje.
n  1+ indica que el atributo al menos
debe aparecer una vez en el mensaje.
Más información:
http://www.freeradius.org/rfc/attributes.html
- 38 -
(4.B) Desarrollo
Más configuración Base de Datos de usuario en MYSQL (4/6):
l  Lista de operadores más frecuentes de FreeRADIUS:
-  Atributo = valor
-  No permitido como operador para atributos de validación (check items).
-  En un atributo de respuesta (reply items), "añade el atributo a la lista”, sólo si no hay ningún otro
valor para el mismo atributo.
-  Atributo := valor
-  Sustituye cualquier directiva de configuración del mismo nombre (p.e. en users). Si ningún
atributo con este nombre aparece en la petición, entonces es añadido.
-  En la respuesta tiene un significado idéntico.
-  Atributo += valor
-  Siempre añade el atributo a la lista de directivas de configuración.
-  Como operador en un atributo de respuesta, tiene un significado idéntico.
-  Atributo == valor
-  Como atributo de validación, la asignación es válida si el atributo está presente en la petición y
tiene un valor dado.
-  No está permitido como operador para un atributo de respuesta.
-  Atributo != valor
-  Como atributo de validación, la asignación es válida si el atributo está presente en la petición y
NO tiene un valor previamente dado.
-  No permitido como operador para un atributo de respuesta.
- 39 -
(4.B) Desarrollo
Más configuración Base de Datos de usuario en MYSQL (5/6):
l  Tabla RADCHECK:
l  Tabla RADUSERGROUP:
- 40 -
(4.2) Desarrollo
Más configuración Base de Datos de usuario en MYSQL (6/6):
l  Tabla RADGROUPCHECK:
- 41 -
(4.B) Desarrollo
Autentificación de clientes remotos (NAS) desde la base de datos:
l  Habilitar consultas a la BD para clientes en /etc/freeradius/sql.conf:
#Eliminar comentario de la siguiente línea:
readclients = yes
l  Importar tabla “nas” desde la plantilla proporcionada por la instalación:
#cd /etc/freeradius/sql/mysql
#mysql –uroot –p<password>
mysql>use radius;
mysql>source nas.sql;
mysql>show tables;
mysql>quit;
Módulo Servicios de red / Servicio de autorización de usuarios para acceso remoto RADIUS - 42 -
(4.B) Desarrollo
Configuración. Generar nuevos certificados TLS (1/2):
l  Certificados para canal seguro (TLS), creados por defecto durante la
instalación (por script bootstrap) y alojados en /etc/freeradius/certs/.
l  De inicio se utilizan datos de ejemplos, tanto para entidad certificadora (CA),
como servidor RADIUS, desde los archivos ca.cnf y server.cnf. Para crearlos
con información propia:
①  cd /etc/freeradius/certs
②  Borrar o renombrar todos los archivos con prefijo server.* y ca.*
③  Copiar las plantillas desde /user/share/doc/freeradius/examples/certs:
cd /user/share/doc/freeradius/examples/certs/
cp Makefiles ca.cnf server.cnf xpextensions /etc/freeradius/certs
④  Editar ca.cnf: (1) cambiar en la sección [req] los valores por defecto para
input_password y output_password (pero el mismo para ambas), (2) modificar
en la sección [certificate_authority] los datos que consideremos oportunos.
⑤  Editar server.cnf: modificar en la sección [server] los datos que consideremos
oportunos. ¡OJO! Es recomendable colocar los mismos datos en ambos archivos.
⑥  Ejecutar el comando #make all
Módulo Servicios de red / Servicio de autorización de usuarios para acceso remoto RADIUS - 43 -
(4.B) Desarrollo
Configuración. Generar nuevos certificados TLS (2/2):
l  MUY IMPORTANTE!!! Si se han cambiado las password en los pasos
anteriores (recomendable), cambiar en /etc/freeradius/eap.conf, en la sección
“TLS” el valor para:
private_key_password = your_inputoutput_password.
l  Se creen o no de nuevo, una vez terminado de configurar eap.conf, deben
crearse enlaces simbólicos a los certificados para que EAP pueda localizarlos:
#cd /etc/freeradius/certs
#c_rehash
l  Como los certificados generados no están firmados por una “verdadera CA”,
es necesario importar el certificado de entidad (ca.der) a los clientes Windows
para que pueda reconocerla y valide la autentificación. En el caso de clientes
Linux o MAC X OS, puede optar por ignorar esta validación.
l  Nota: A la hora de importarlo en Windows, bastará con hacer doble clic sobre el archivo
con el certificado CA y guardarlo en el almacén “Entidades de certificación de raíz de
confianza”. Si no se han modificado los datos de la CA por defecto aparecerá con el
nombre “Example Certificate Authority” (comprobar con certmgr.msc).
- 44 -
(4.B) Desarrollo
Comprobación de funcionamiento Freeradius:
#freeradius –X
Nota: Este comando permite arrancar el servicio en modo
depuración. No obstante si ya existiese un servicio
Freeradius activo anteriormente, comprobar si el proceso se
ha detenido:
#ps –A |grep freeradius
#kill -9 <freeradius_PID>
Prueba 1. Con la utilidad ‘radtest’(como desarrollo A)
Prueba 2. Con una conexión a un AP
- 45 -
(4) Desarrollo
Acceso Wi-Fi con autenticación 802.1x (1/3):
- 46 -
(4) Desarrollo
Acceso Wi-Fi con autenticación 802.1x (2/3):
Configuración 802.1x del AP
- 47 -
(4) Desarrollo
Acceso Wi-Fi con autenticación 802.1x:
Configuración 802.1x para usuario Linux (sin network-manager)
l  Primero debe instalarse un cliente, utilizaremos ‘wpa_supplicant’.
bash#apt-get install wpasupplicant
l  Modificar el archivo ‘wpa_supplicant.conf’ en el directorio ‘/etc’ o ‘/etc/wpa_supplicant’:
ctrl_interface=/var/run/wpa_supplicant
eapol_version=1
ap_scan=1
fast_reauth=1
network=
#Debe coincidir con el del AP
ssid="linksys-g"
key_mgmt=IEEE8021X
eap=PEAP
phase2="auth=MSCHAPV2"
identity="test"
password="test"
- 48 -
(5) Referencias
l  RADIUS By Jonathan Hassell. O'Reilly 2002. ISBN: 0-596-00322-6
l  http://www.freeradius.org
l  http://wiki.freeradius.org
l  http://httpd.apache.org/
l  http://books.google.com/books?id=yTSoYCiXYAAC&pg=RA1-PA222&lpg=RA1-
PA222&dq=protocolo+radius&source=web&ots=F1iXTBauo-
&sig=ug16VP6MqGMX4AIVSla_93qLXhI#PRA1-PA222,M1
l  Documentación en el curso virtual de la asignatura en CVUEx

Más contenido relacionado

PPTX
PDF
Deploy MPLS Traffic Engineering
PPTX
Chapter 17 : static routing
PPTX
DNS Record
PPTX
CCNA training 101
PDF
Virtual Local Area Network (VLAN)
Deploy MPLS Traffic Engineering
Chapter 17 : static routing
DNS Record
CCNA training 101
Virtual Local Area Network (VLAN)

La actualidad más candente (20)

PPT
Web Service Presentation
PPT
Static Routing
PPTX
Ospf area types
PPT
VLSM (1).ppt
PDF
Composants et fonctionnement d'un Switch Cisco
PDF
IOS Cisco - Cheat sheets
PPT
SMTP – Simple Mail Transfer Protocol | Explained for Beginners
PDF
cours ospf
PPT
Router configuration
PPTX
SDN (Software Define Networking) - The evolution of the Network
PPTX
CCNA ppt Day 2
PPTX
OSPF Basics
PPT
PDF
Mikrotik Hotspot
PDF
Hsdpa analysis
PDF
Lte signaling
PPT
CCNA Network Devices
PDF
1 asr9 k platform architecture
PDF
Chap 2. lte channel structure .eng
Web Service Presentation
Static Routing
Ospf area types
VLSM (1).ppt
Composants et fonctionnement d'un Switch Cisco
IOS Cisco - Cheat sheets
SMTP – Simple Mail Transfer Protocol | Explained for Beginners
cours ospf
Router configuration
SDN (Software Define Networking) - The evolution of the Network
CCNA ppt Day 2
OSPF Basics
Mikrotik Hotspot
Hsdpa analysis
Lte signaling
CCNA Network Devices
1 asr9 k platform architecture
Chap 2. lte channel structure .eng
Publicidad

Similar a RADIUS (2015) (20)

ODP
InstalacionyConfiguracion_wpa2+radius+ldap
PDF
Autenticacion segura por medio de radius
PDF
Presentacion radius
PDF
Radius
PPTX
Wpa2 enterprise ubuntu
DOCX
Radius
DOCX
Radius
PPT
Radius
PDF
jt2017-jt-exp_comu_a5-a8b3c1.pdf
PPS
Redes WiFi. Problemas y Soluciones.
DOCX
Configuracion de una red inalambrica en doc
PDF
11 - Radius.pdf
PDF
Protocolo aaa
DOCX
Proyecto 6
PPT
Seguridad En Redes Wireless
PPT
Seguridad En Redes Wireless
PPT
Seguridad En Redes Wireless
InstalacionyConfiguracion_wpa2+radius+ldap
Autenticacion segura por medio de radius
Presentacion radius
Radius
Wpa2 enterprise ubuntu
Radius
Radius
Radius
jt2017-jt-exp_comu_a5-a8b3c1.pdf
Redes WiFi. Problemas y Soluciones.
Configuracion de una red inalambrica en doc
11 - Radius.pdf
Protocolo aaa
Proyecto 6
Seguridad En Redes Wireless
Seguridad En Redes Wireless
Seguridad En Redes Wireless
Publicidad

Más de Miguel Ángel Martín Tardío (9)

PPTX
Fundamentos de Redes. Tema 8 - La capa de Enlace de Datos (II): Ethernet
PPTX
Fundamentos de Redes. Tema 6 - La capa de Red (II)
PPTX
Fundamentos de Redes. Tema 5 - La capa de Red (I)
PDF
Fundamentos de Redes. Tema 4 (complementaria)
PPTX
Fundamentos de Redes. Tema 4 - La capa de Transporte
PPTX
Fundamentos de Redes. Tema 3 - La capa de Aplicación
PPTX
Fundamentos de Redes. Tema 2 - Normalización de las comunicaciones
PPT
Fundamentos de Redes. Tema 2 (complementaria)
ODP
Fundamentos de redes. Tema 1 (complementaria)
Fundamentos de Redes. Tema 8 - La capa de Enlace de Datos (II): Ethernet
Fundamentos de Redes. Tema 6 - La capa de Red (II)
Fundamentos de Redes. Tema 5 - La capa de Red (I)
Fundamentos de Redes. Tema 4 (complementaria)
Fundamentos de Redes. Tema 4 - La capa de Transporte
Fundamentos de Redes. Tema 3 - La capa de Aplicación
Fundamentos de Redes. Tema 2 - Normalización de las comunicaciones
Fundamentos de Redes. Tema 2 (complementaria)
Fundamentos de redes. Tema 1 (complementaria)

Último (20)

PPT
introduccion a las_web en el 2025_mejoras.ppt
PDF
Estrategia de Apoyo de Daylin Castaño (5).pdf
PDF
MANUAL de recursos humanos para ODOO.pdf
PDF
Maste clas de estructura metálica y arquitectura
PPTX
modulo seguimiento 1 para iniciantes del
PPT
El-Gobierno-Electrónico-En-El-Estado-Bolivia
PPTX
Curso de generación de energía mediante sistemas solares
PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
PDF
Influencia-del-uso-de-redes-sociales.pdf
DOCX
Guía 5. Test de orientación Vocacional 2.docx
PPTX
Presentación PASANTIAS AuditorioOO..pptx
PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
PDF
Diapositiva proyecto de vida, materia catedra
PDF
Documental Beyond the Code (Dossier Presentación - 2.0)
PPTX
la-historia-de-la-medicina Edna Silva.pptx
PDF
Tips de Seguridad para evitar clonar sus claves del portal bancario.pdf
PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
PPTX
Presentacion de Alba Curso Auditores Internos ISO 19011
PPTX
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
PDF
TRABAJO DE TECNOLOGIA.pdf...........................
introduccion a las_web en el 2025_mejoras.ppt
Estrategia de Apoyo de Daylin Castaño (5).pdf
MANUAL de recursos humanos para ODOO.pdf
Maste clas de estructura metálica y arquitectura
modulo seguimiento 1 para iniciantes del
El-Gobierno-Electrónico-En-El-Estado-Bolivia
Curso de generación de energía mediante sistemas solares
Power Point Nicolás Carrasco (disertación Roblox).pptx
Influencia-del-uso-de-redes-sociales.pdf
Guía 5. Test de orientación Vocacional 2.docx
Presentación PASANTIAS AuditorioOO..pptx
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
Diapositiva proyecto de vida, materia catedra
Documental Beyond the Code (Dossier Presentación - 2.0)
la-historia-de-la-medicina Edna Silva.pptx
Tips de Seguridad para evitar clonar sus claves del portal bancario.pdf
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
Presentacion de Alba Curso Auditores Internos ISO 19011
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
TRABAJO DE TECNOLOGIA.pdf...........................

RADIUS (2015)

  • 2. Seguridad Avanzada / Servicio de autorización de usuarios para acceso remoto RADIUS - 2 - Remote Access Dial-In User Service (1) Introducción (2) Especificaciones y operación (3) Aplicaciones (4) Desarrollos: u  Consideraciones iniciales u  Instalación y configuración de Freeradius u  A) Freeradius+PEAP con usuarios en fichero u  B) Freeradius+PEAP/MS-CHAPv2 + MYSQL (5) Referencias Índice de contenidos:
  • 3. - 3 - (1) Introducción l  RADIUS provee arquitectura AAA (Authentication, Authorization, Accounting) para redes de acceso dial- up (NAS), VPN, acceso inalámbrico (p.e. EDUROAM) o switches Ethernet (p.e. CISCO 2950) entre otros. l  Desarrollado originalmente por Livingston Enterprises para sus Servidores de Acceso a la Red (NAS). l  El protocolo RADIUS actualmente está definido en los RFC 2865 (autentificación y autorización) y 2866 (manejo de sesiones). l  Propósito es diferenciar, identificar y contabilidad (permite cobros por uso – billing) de usuarios.
  • 4. - 4 - (2) Especificaciones y operación (1/8) Características de la arquitectura AAA: l  Soporta gran número de usuarios y consultas simultáneas; y cientos de dispositivos. l  Provee mecanismo de respaldo, ante un fallo de comunicación con el servidor AAA primario. l  Dispone un mecanismo de autenticación cliente/servidor. l  Requiere autenticación, protección integral y confidencialidad de la Capa de Transporte. l  Política de no modificación del paquete original. l  Permite el transporte de certificados. l  Permite servicio de seguridad subyacente como IPsec. l  Es extensible a otros usos (RADIUS RFC 2869).
  • 5. - 5 - (2) Especificaciones y operación (2/8) Características del protocolo RADIUS (1/3): l  Administración centralizada de usuarios. l  Modelo cliente/servidor: u  NAS opera como cliente RADIUS, pasado la petición de conexión del usuario al servidor designado. u  Servidor RADIUS responsable de autenticar al usuario y enviar respuesta con información de configuración. Como cliente proxy de otros servidores RADIUS (ISP). u  Mensajes enviados por UDP (User Datagram Protocol): u  Puerto UDP 1812 usado para mensajes de autenticación. u  Puerto UDP 1813 para mensajes de cuentas. u  Originalmente se usaron UDP 1645/1646.
  • 6. - 6 - (2) Especificaciones y operación (3/8) Características del protocolo RADIUS (2/3): l  Seguridad: u  Transacciones cliente/servidor RADIUS autenticadas por un secreto compartido: u  Para comprobar que los mensajes RADIUS son enviados por un dispositivo compatible y la integridad de los mismos. También se utiliza para cifrar algunos de los atributos RADIUS, como User- Password y Tunnel-Password. u  Mismo secreto compartido, que distingue mayúsculas y minúsculas, en ambos dispositivos RADIUS; y diferente en cada par cliente/ servidor. Nunca se transfiere a través de la red. u  Debe ser aleatorio, con una secuencia aleatoria de mínimo 22 caracteres (utilizar cualquier carácter alfanumérico o especial estándar) y máximo 128 caracteres de longitud.
  • 7. - 7 - (2) Especificaciones y operación (4/8) Características del protocolo RADIUS (3/3): l  Métodos de autenticación flexibles: l  PAP (Password Authentication Protocol): Protocolo simple de autenticación de un usuario contra un servidor de acceso remoto (sub-protocolo usado por la autenticación del protocolo PPP). Contraseñas en ASCII sin cifrar (inseguro), se usa como último recurso. l  CHAP (Challenge Handshake Authentication Protocol): Protocolo de autenticación por desafío mutuo, usado por servidores accesibles vía PPP. Verifica periódicamente la identidad del cliente remoto usando un intercambio de información de tres etapas. Verificación basada en un secreto compartido, requiere que el cliente mantenga el secreto disponible en texto plano. u  EAP (Extensible Authentication Protocol): Estructura de soporte para modernos mecanismos de autenticación (EAP-MD5, EAP-TLS, EAP-TTL, EAP-TTLS, LEAP, PEAP)
  • 8. - 8 - (2) Especificaciones y operación (5/8) Formato de paquete: l  Code (1 byte): Contiene el tipo de comando/respuesta RADIUS l  Identifier (1 byte): Usado para relacionar comandos y respuestas l  Length (2 bytes): Longitud del paquete l  Authenticator (4 bytes): Usado para autenticar la respuesta del servidor RADIUS, y usado por el algoritmo de encubrimiento de contraseña. l  Attributes: Nº arbitrario de atributos, los únicos obligatorios: User-Name (usuario) y User-Password (contraseña).
  • 9. Módulo Servicios de red / Servicio de autorización de usuarios para acceso remoto RADIUS - 9 - Métodos de autenticación PAP, CHAP, EAP (2) Especificaciones y operación (6/8) Servidor de acceso a la red (NAS) Cliente RADIUS BD Usuarios Servidor RADIUSUsuario Access-Request (solicitud de acceso) Access-Challenge (desafío de acceso) Access-Request (solicitud de acceso) Access-Accept (acceso aceptado) Access-Reject (acceso denegado) Información autenticación Operación:
  • 10. - 10 - (2) Especificaciones y operación (7/8) Método de autenticación EAP Protegido (PEAP): http://www.cisco.com
  • 11. - 11 - (2) Especificaciones y operación (8/8) Método de autenticación EAP Protegido (PEAP):
  • 12. - 12 - (3) Aplicaciones l  Acceso líneas conmutadas: -  Muy útil para los ISP de acceso telefónico. l  Redes Wireless: -  Estándar 802.1X (http://tools.ietf.org/html/rfc3580) l  VoIP: -  Radius permite controlar la seguridad del acceso a datos. -  También permite informes para realizar la tarificación en consecuencia. l  VPN (Virtual Private Network) l  Autenticación de servicios: -  Acceso web, servicio de correo electrónico, acceso remoto...
  • 13. - 13 - (4) Desarrollo Consideraciones iniciales: l  Desarrollos orientados a conocer las posibilidades del servicio RADIUS: -  servicio de autenticación para 802.1x (PEAP) -  (A) Usuarios y clientes en archivos (users, clients.conf) -  (B) Usuarios y clientes en BD MYSQL. l  Características configurables: -  Servidor con Linux Mint 17 (Mate) en Virtualbox -  Freeradius server 2.1.12 (desde repositorio) -  Método de autenticación EAP Protegido (PEAP): l  Esquema de autenticación NAS – servidor RADIUS. l  Compatibilidad con clientes 802.1x en MS-Windows, Linux y Mac X OS usando MS-CHAPv2.
  • 14. - 14 - (4.A) Desarrollo Instalación de FreeRADIUS + PEAP: #apt-get update #apt-get install freeradius freeradius-utils
  • 15. - 15 - (4.A) Desarrollo Configuración: l  Archivos de configuración localizados en /etc/freeradius: -  radiusd.conf: Archivo de configuración principal, contiene numerosos parámetros de configuración comunes y referencias a otros archivos de configuración. -  users: Contiene información de autenticación y configuración para cada usuario que puede acceder, en caso de no usar otro método. -  clients.conf: Contiene la definición de los clientes RADIUS (NAS) que pueden conectarse al servidor. -  sql.conf: Guarda la configuración para el módulo SQL, en el caso de usar una BD como backend para los usuarios de RADIUS. -  eap.conf: Contiene información relativa a la configuración del tipo EAP (Extensible Authentication Protocol) elegido para que funcione como protocolo de autenticación. EAP se utilizará como PEAP (Protected EAP). -  sites-available/default: Como soporte para servidores virtuales, cada servidor virtual deberá disponer de un archivo que contenga la información de configuración específica del mismo dentro de este directorio. -  modules/: Carpeta que contiene archivos de configuración de los distintos módulos de autentificación soportados por Freeradius.
  • 16. - 16 - (4.A) Desarrollo Configuración /etc/freeradius/radiusd.conf:: log { ... #Registra las peticiones de autenticación auth = yes #Registra las passwords de las peticiones de autenticación, #tanto aceptadas como rechazadas. Sólo recomendable a efectos de #depuración auth_badpass = yes auth_goodpass = yes } … proxy_requests = no #La línea siguiente debe ser comentada si 'no' en la anterior #$INCLUDE proxy.conf …
  • 17. - 17 - (4.A) Desarrollo Configuración /etc/freeradius/eap.conf: eap { #Se le dice que use PEAP default_eap_type = peap timer_expire = 60 ignore_unknown_eap_types = no ... tls { #Certicados se localizan en /etc/freeradius/certs/ certdir = ${confdir}/certs cadir = ${confdir}/certs ... } #Se le dice que use MS-CHAPv2 peap { default_eap_type = mschapv2 ... } mschapv2 { } }
  • 18. - 18 - (4.A) Desarrollo Configuración /etc/freeradius/users y clients.conf: Configuración de /etc/freeradius/users: l  Configuramos un usuario de prueba: test Cleartext-Password := “test” Configuración de /etc/freeradius/clients.conf: l  Configuraremos un clientee (NAS): #Punto de acceso inalámbrico (AP) client 192.168.0.50{ #Esta clave es el secreto compartido que usará el AP para comunicarse con el servidor RADIUS secret = testing123 shortname = Linksys WRT54G } Nota: En el archivo existe un cliente por defecto “localhost” y contraseña “testing123” para pruebas.
  • 19. - 19 - (4.A) Desarrollo Carpeta “Modules”. Contiene los parámetros generales de configuración de los módulos que determinan los tipos de métodos de autenticación activos. Configuración /etc/freeradius/modules/mschap: mschap {#Soporta autenticación MS-CHAP y MS-CHAPv2 #Microsoft Point-to-Point Encryption es un protocolo de #encriptación de datos para el protocolo PPP y enlaces VPN. #Soporta claves de sesión de 40, 56 y 128-bit, que cambian #por paquete. use_mppe = yes require_encryption = yes require_strong = yes #Windows envía un nombre de usuario como DOMINIOusuario; pero, en la #respuesta al desafío, sólo envía el usuario. Esto provoca un error. with_ntdomain_hack = yes } Recarga de las librerías: #ldconfig
  • 20. - 20 - (4.A) Desarrollo Recarga del servicio Freeradius: #service freeradius restart Recomendación: visualizar en una nueva consola el estado del servidor durante el reinicio mediante el comando: #tail –f /var/log/freeradius/radius.log Prueba de autentificación con el usuario “test”: #radtest test test localhost 1812 testing123
  • 21. - 21 - (4.A) Desarrollo Resultados de la prueba de autentificación con el usuario “test”:
  • 22. - 22 - (4.B) Desarrollo Instalación de FreeRADIUS + MYSQL (1/2): #apt-get install mysql-server #apt-get install freeradius-mysql #service freeradius restart
  • 23. - 23 - (4.B) Desarrollo Instalación PHPMYADMIN* (opcional) (2/2): #apt-get install apache2 #apt-get install php5 libapache2-mod-php5 #apt-get install libapache2-mod-auth-mysql php5- mysql phpmyadmin #service apache2 restart
  • 24. - 24 - (4.B) Desarrollo Configuración /etc/freeradius/radiusd.conf:: log { ... #Registra las peticiones de autenticación auth = yes #Registra las passwords de las peticiones de autenticación, #tanto aceptadas como rechazadas. Sólo recomendable a efectos de #depuración auth_badpass = yes auth_goodpass = yes } … proxy_requests = no #La línea siguiente debe ser comentada si 'no' en la anterior #$INCLUDE proxy.conf … #La línea siguiente debe no aparecer comentada $INCLUDE sql.conf
  • 25. - 25 - (4.B) Desarrollo Configuración /etc/freeradius/eap.conf: eap { #Se le dice que use PEAP default_eap_type = peap timer_expire = 60 ignore_unknown_eap_types = no ... tls { #Certicados se localizan en /etc/freeradius/certs/ certdir = ${confdir}/certs cadir = ${confdir}/certs ... } #Se le dice que use MS-CHAPv2 peap { default_eap_type = mschapv2 ... } mschapv2 { } }
  • 26. - 26 - (4.B) Desarrollo Carpeta “Modules”. Contiene los parámetros generales de configuración de los módulos que determinan los tipos de métodos de autenticación activos. Configuración /etc/freeradius/modules/mschap: mschap {#Soporta autenticación MS-CHAP y MS-CHAPv2 #Microsoft Point-to-Point Encryption es un protocolo de #encriptación de datos para el protocolo PPP y enlaces VPN. #Soporta claves de sesión de 40, 56 y 128-bit, que cambian por paquete. use_mppe = yes require_encryption = yes require_strong = yes #Windows envía un nombre de usuario como DOMINIOusuario; pero, en la #respuesta al desafío, sólo envía el usuario. with_ntdomain_hack = yes } Configuración /etc/freeradius/modules/preprocess: mschap { … #Soporta autenticación MS-CHAP y MS-CHAPv2 with_ntdomain_hack = yes … }
  • 27. - 27 - (4.B) Desarrollo Configuración /etc/freeradius/users y clients.conf: Configuración de /etc/freeradius/users: l  No es necesario realizar ninguna configuración específica. Configuración de /etc/freeradius/clients.conf * (esta información también puede ir en una tabla de la BD): l  No es necesario realizar ninguna configuración específica. Sólo comprobar que todos los posibles clientes están comentados porque a partir de ahora se registrarán en una tabla de la BD. l  En el archivo existe un cliente por defecto “localhost” y contraseña “testing123” para pruebas.
  • 28. - 28 - (4.B) Desarrollo Configuración /etc/freeradius/sql.conf (1/2): Configuramos la información de acceso desde Freeradius al servidor de BD (en este tutorial se utilizará el usuario que viene por defecto, pero se recomienda cambiar el usuario y contraseña utilizados para la conexión con la BD). Después deberán usarse estas mismas credenciales durante la creación de la BD “radius”.
  • 29. - 29 - (4.B) Desarrollo Configuración /etc/freeradius/sql.conf (2/2): sql { #Selecciona una BD: mysql, mssql, oracle, postgresql database = "mysql" #Se indica a FreeRADIUS el driver a usar driver = "rlm_sql_${database}" #Información de conexión: #Usamos localhost porque servidor BD y FreeRADIUS son el mismo server = "localhost" login = "radius" password = "radpass" #Nombre de la BD a utilizar excepto para Oracle radius_db = "radius" ... #Habilita la utilización de atributos de grupo read_groups = yes … ¡ }
  • 30. - 30 - (4.B) Desarrollo Configuración Base de Datos de usuario en MYSQL: l  Para mejor comprensión de la BD y facilitar su manejo, disponemos de una interfaz web en la dirección http://dirección_ip_mi_servidor/phpmyadmin l  Abrir una conexión con MySQL desde shell y crear BD de usuarios: #cd /etc/freeradius/sql/mysql #mysql –uroot –p<password> mysql>create database radius; mysql>grant all privileges on radius.* to radius@localhost identified by 'radpass'; mysql>use radius; l  Importar tablas desde la plantilla proporcionada por la instalación: mysql>source schema.sql; mysql>show tables; mysql>quit;
  • 31. - 31 - (4.B) Desarrollo Configuración /etc/freeradius/sites-available/default (1/4): authorize { preprocess chap mschap suffix #Se activa protocolo EAP. FILES para que se lea archivo 'users' eap { ok = return } #unix #Puede comentarse porque no se usa autorización del sistema #files #Puede comentarse porque no se usa el archivo 'users' #SQL indica la búsqueda del usuario en una BD según sql.conf sql ... #Si ningún otro módulo toma responsabilidad de autenticación, se usará PAP pap }
  • 32. - 32 - (4.B) Desarrollo Configuración /etc/freeradius/sites-available/default (2/4): accounting { … #Los registros serán almacenados en una BD según sql.conf sql } session{ … sql … } post-auth{ … sql … }
  • 33. - 33 - (4.B) Desarrollo Configuración /etc/freeradius/sites-available/inner-tunel (3/4): authorize { … sql … } session { … sql … } post-auth{ … sql … }
  • 34. - 34 - (4.B) Desarrollo Configuración /etc/freeradius/sites-available/ (4/4): Nota: Habilitar las consultas SQL sobre la directiva “post-auth” permitirá a Freeradius guardar todos los accesos válidos en la tabla “radpostauth”. Si se realizan pruebas de conexión local con la herramienta “radtest”, las contraseñas se guardarán en claro, sin embargo, si se realizan en equipos remotos por el túne TLS, éstas no aparecen. Recarga de las librerías y reinicia el servidor Freeradius: #ldconfig #service freeradius restart
  • 35. - 35 - (4.B) Desarrollo Más configuración Base de Datos de usuario en MYSQL (1/6): l  Tablas importadas a la BD desde schema.sql:
  • 36. - 36 - (4.B) Desarrollo Más configuración Base de Datos de usuario en MYSQL (2/6): 1. ¿Existe 'user' en radcheck? 2. ¿Datos de validación se corresponden? 3. ¿read_groups = yes en sql.conf? 4. ¿Existe un entrada para 'user' en radreply? 5. ¿Directiva Fall-Through en radreply? 6. ¿Existe 'grupo' en radgroupcheck? 7. ¿No existe correspondencia o directiva Fall-Through en radgroupreply? o ¿no es el último grupo? Más información: http://wiki.freeradius.org/Rlm_sql user/pass radcheck1 read_groups = yes 2 3 radreply 5 radusergroup by priority radgroupcheck radgroupreply 6 Respuesta 7 N o N o N o S í N o S í S í N o S í N o 4 N o
  • 37. - 37 - (4.B) Desarrollo Más configuración Base de Datos de usuario en MYSQL (3/6): ATRIBUTOS de FreeRADIUS: l Formato de tabla: l Muestra qué atributos aparecen o pueden aparecer en cada tipo de mensaje Radius: n  0 indica que el atributo no puede aparecer en el mensaje. n  0+ indica que el atributo puede no aparecer o aparecer una o más veces en el mensaje. n  0-1 indica que el atributo debe aparecer una sola vez o no aparecer en el mensaje. n  1 indica que el atributo debe aparecer una y sólo una vez en el mensaje. n  1+ indica que el atributo al menos debe aparecer una vez en el mensaje. Más información: http://www.freeradius.org/rfc/attributes.html
  • 38. - 38 - (4.B) Desarrollo Más configuración Base de Datos de usuario en MYSQL (4/6): l  Lista de operadores más frecuentes de FreeRADIUS: -  Atributo = valor -  No permitido como operador para atributos de validación (check items). -  En un atributo de respuesta (reply items), "añade el atributo a la lista”, sólo si no hay ningún otro valor para el mismo atributo. -  Atributo := valor -  Sustituye cualquier directiva de configuración del mismo nombre (p.e. en users). Si ningún atributo con este nombre aparece en la petición, entonces es añadido. -  En la respuesta tiene un significado idéntico. -  Atributo += valor -  Siempre añade el atributo a la lista de directivas de configuración. -  Como operador en un atributo de respuesta, tiene un significado idéntico. -  Atributo == valor -  Como atributo de validación, la asignación es válida si el atributo está presente en la petición y tiene un valor dado. -  No está permitido como operador para un atributo de respuesta. -  Atributo != valor -  Como atributo de validación, la asignación es válida si el atributo está presente en la petición y NO tiene un valor previamente dado. -  No permitido como operador para un atributo de respuesta.
  • 39. - 39 - (4.B) Desarrollo Más configuración Base de Datos de usuario en MYSQL (5/6): l  Tabla RADCHECK: l  Tabla RADUSERGROUP:
  • 40. - 40 - (4.2) Desarrollo Más configuración Base de Datos de usuario en MYSQL (6/6): l  Tabla RADGROUPCHECK:
  • 41. - 41 - (4.B) Desarrollo Autentificación de clientes remotos (NAS) desde la base de datos: l  Habilitar consultas a la BD para clientes en /etc/freeradius/sql.conf: #Eliminar comentario de la siguiente línea: readclients = yes l  Importar tabla “nas” desde la plantilla proporcionada por la instalación: #cd /etc/freeradius/sql/mysql #mysql –uroot –p<password> mysql>use radius; mysql>source nas.sql; mysql>show tables; mysql>quit;
  • 42. Módulo Servicios de red / Servicio de autorización de usuarios para acceso remoto RADIUS - 42 - (4.B) Desarrollo Configuración. Generar nuevos certificados TLS (1/2): l  Certificados para canal seguro (TLS), creados por defecto durante la instalación (por script bootstrap) y alojados en /etc/freeradius/certs/. l  De inicio se utilizan datos de ejemplos, tanto para entidad certificadora (CA), como servidor RADIUS, desde los archivos ca.cnf y server.cnf. Para crearlos con información propia: ①  cd /etc/freeradius/certs ②  Borrar o renombrar todos los archivos con prefijo server.* y ca.* ③  Copiar las plantillas desde /user/share/doc/freeradius/examples/certs: cd /user/share/doc/freeradius/examples/certs/ cp Makefiles ca.cnf server.cnf xpextensions /etc/freeradius/certs ④  Editar ca.cnf: (1) cambiar en la sección [req] los valores por defecto para input_password y output_password (pero el mismo para ambas), (2) modificar en la sección [certificate_authority] los datos que consideremos oportunos. ⑤  Editar server.cnf: modificar en la sección [server] los datos que consideremos oportunos. ¡OJO! Es recomendable colocar los mismos datos en ambos archivos. ⑥  Ejecutar el comando #make all
  • 43. Módulo Servicios de red / Servicio de autorización de usuarios para acceso remoto RADIUS - 43 - (4.B) Desarrollo Configuración. Generar nuevos certificados TLS (2/2): l  MUY IMPORTANTE!!! Si se han cambiado las password en los pasos anteriores (recomendable), cambiar en /etc/freeradius/eap.conf, en la sección “TLS” el valor para: private_key_password = your_inputoutput_password. l  Se creen o no de nuevo, una vez terminado de configurar eap.conf, deben crearse enlaces simbólicos a los certificados para que EAP pueda localizarlos: #cd /etc/freeradius/certs #c_rehash l  Como los certificados generados no están firmados por una “verdadera CA”, es necesario importar el certificado de entidad (ca.der) a los clientes Windows para que pueda reconocerla y valide la autentificación. En el caso de clientes Linux o MAC X OS, puede optar por ignorar esta validación. l  Nota: A la hora de importarlo en Windows, bastará con hacer doble clic sobre el archivo con el certificado CA y guardarlo en el almacén “Entidades de certificación de raíz de confianza”. Si no se han modificado los datos de la CA por defecto aparecerá con el nombre “Example Certificate Authority” (comprobar con certmgr.msc).
  • 44. - 44 - (4.B) Desarrollo Comprobación de funcionamiento Freeradius: #freeradius –X Nota: Este comando permite arrancar el servicio en modo depuración. No obstante si ya existiese un servicio Freeradius activo anteriormente, comprobar si el proceso se ha detenido: #ps –A |grep freeradius #kill -9 <freeradius_PID> Prueba 1. Con la utilidad ‘radtest’(como desarrollo A) Prueba 2. Con una conexión a un AP
  • 45. - 45 - (4) Desarrollo Acceso Wi-Fi con autenticación 802.1x (1/3):
  • 46. - 46 - (4) Desarrollo Acceso Wi-Fi con autenticación 802.1x (2/3): Configuración 802.1x del AP
  • 47. - 47 - (4) Desarrollo Acceso Wi-Fi con autenticación 802.1x: Configuración 802.1x para usuario Linux (sin network-manager) l  Primero debe instalarse un cliente, utilizaremos ‘wpa_supplicant’. bash#apt-get install wpasupplicant l  Modificar el archivo ‘wpa_supplicant.conf’ en el directorio ‘/etc’ o ‘/etc/wpa_supplicant’: ctrl_interface=/var/run/wpa_supplicant eapol_version=1 ap_scan=1 fast_reauth=1 network= #Debe coincidir con el del AP ssid="linksys-g" key_mgmt=IEEE8021X eap=PEAP phase2="auth=MSCHAPV2" identity="test" password="test"
  • 48. - 48 - (5) Referencias l  RADIUS By Jonathan Hassell. O'Reilly 2002. ISBN: 0-596-00322-6 l  http://www.freeradius.org l  http://wiki.freeradius.org l  http://httpd.apache.org/ l  http://books.google.com/books?id=yTSoYCiXYAAC&pg=RA1-PA222&lpg=RA1- PA222&dq=protocolo+radius&source=web&ots=F1iXTBauo- &sig=ug16VP6MqGMX4AIVSla_93qLXhI#PRA1-PA222,M1 l  Documentación en el curso virtual de la asignatura en CVUEx