Servidor RADIUS Índice

Transcripción

Servidor RADIUS Índice
Servidor RADIUS
Servidor RADIUS
Índice
1 Introducción...............................................................................................................................................2
1.1 AAA.....................................................................................................................................................3
1.2 RADIUS...............................................................................................................................................3
1.3 freeRADIUS........................................................................................................................................4
1.4 EAP......................................................................................................................................................4
1.5 IEEE 802.1X.........................................................................................................................................5
2 Escenario.....................................................................................................................................................6
3 Configuración del AP................................................................................................................................7
4 freeRADIUS: Instalación y configuración básica...................................................................................8
5 winRADIUS: instalación y configuración básica ................................................................................11
6 Conexión con supplicant Win7..............................................................................................................20
7 Conexión con supplicant Android.........................................................................................................23
8 Resumen....................................................................................................................................................24
9 Fuentes y para más información............................................................................................................26
1/26
Servidor RADIUS
1 Introducción
AAA (Authentication, Authorization, Accounting) es un modelo de arquitectura de seguridad, un
tipo de protocolos, pero no un protocolo en particular.
RADIUS (Remote Authentication Dial-In User) es un protocolo, una implementación específica de
AAA.
freeRADIUS es un servidor RADIUS muy popular y ampliamente utilizado.
EAP (Extensible Authentication Protocol) es un esquema de autenticación usado habitualmente en
redes WLAN. Provee algunas funciones y negociaciones comunes para el mecanismo de
autenticación escogido.
2/26
Servidor RADIUS
1.1
AAA
Authentication, Authorization, Accounting.
Autenticación: una entidad (usuario) prueba su identidad ante otra (servidor). Por ejemplo:
mediante contraseñas, tokens, certificados, ...
Autorización: concesión de privilegios a un usuario basándose en su identidad autenticada. Por
ejemplo: asignación de IP, de ancho de banda, …
Contabilización: seguimiento del consumo de recursos por los usuarios. Por ejemplo: tipo de
servicio proporcionado, cuando comenzó y terminó de usarlo, etc. Esta información puede usarse
para la administración, planificación, facturación, etc.
Protocolos AAA:
•
RADIUS
Usa UDP
•
DIAMETER
Basado en RADIUS, pero usa TCP (entre otras mejoras)
•
TACACS
Usa TCP
•
TACACS+
Basado en TACACS, pero totalmente nuevo e incompatible con él.
1.2
RADIUS
Remote Authentication Dial-In User
Es un protocolo de autenticación y autorización para aplicaciones de acceso a la red o movilidad
IP. Utiliza el puerto 1812 UDP para establecer sus conexiones y el 1813 para contabilización.
Cuando se realiza la conexión con un ISP mediante módem, DSL, cablemódem, Ethernet o Wi-Fi,
se envía una información que generalmente es un nombre de usuario y una contraseña. Esta
información se transfiere a un dispositivo Network Access Server (NAS)* sobre el protocolo PPP,
quien redirige la petición a un servidor RADIUS sobre el protocolo RADIUS. El servidor RADIUS
comprueba que la información es correcta utilizando esquemas de autenticación como PAP,
CHAP o EAP. Si es aceptado, el servidor autorizará el acceso al sistema del ISP y le asigna los
recursos de red como una dirección IP, y otros parámetros como L2TP, etc.
*No confundir con NAS como Network Attached Storage
3/26
Servidor RADIUS
Una de las características más importantes del protocolo RADIUS es su capacidad de manejar
sesiones, notificando cuando comienza y termina una conexión, así que al usuario se le podrá
determinar su consumo y facturar en consecuencia; los datos se pueden utilizar con propósitos
estadísticos.
1.3
freeRADIUS
Software servidor para Linux.
Hay versión para Windows (winRADIUS), que se configura con ficheros de texto tipo Linux.
Permite dar de alta usuarios sin necesidad de base de datos SQL.
Otro servidor para Windows es TekRADIUS, pero requiere de base de datos SQL para usuarios.
1.4
EAP
Extensible Authentication Protocol.
Es una estructura de soporte, no un mecanismo específico de autenticación En IEEE 802.11 (Wi-Fi),
los estándares WPA y WPA2 han adoptado IEEE 802.1X con unos cien subtipos EAP como sus
mecanismos de autenticación oficiales.
Los métodos modernos capaces de operar en ambientes inalámbricos incluyen EAP-TLS, EAPSIM, EAP-AKA, PEAP, LEAP y EAP-TTLS. Cuando EAP es invocada por un dispositivo NAS
(Network Access Server) capacitado para 802.1X, como por ejemplo un punto de acceso 802.11
a/b/g, los métodos modernos de EAP proveen un mecanismo seguro de autenticación y negocian
un PMK (Pair-wise Master Key) entre el dispositivo cliente y el NAS. En esas circunstancias, la
PMK puede ser usada para abrir una sesión inalámbrica cifrada que usa cifrado TKIP o AES.
4/26
Servidor RADIUS
1.5
IEEE 802.1X
Norma del IEEE para el control de acceso a red basada en puertos. Permite la autenticación de
dispositivos conectados a un puerto LAN, estableciendo una conexión punto a punto o
previniendo el acceso por ese puerto si la autenticación falla. Es utilizado en algunos puntos de
acceso inalámbricos cerrados y se basa en el protocolo EAP.
Algunos proveedores están implementando 802.1X en puntos de acceso inalámbricos que pueden
utilizarse en ciertas situaciones en las cuales el punto de acceso necesita operarse como un punto
de acceso cerrado, corrigiendo
deficiencias de seguridad de
WEP. Esta autenticación es
realizada normalmente por un
tercero, tal como un servidor
de RADIUS. Esto permite la
autenticación sólo del cliente
o, más apropiadamente, una
autenticación mutua fuerte
utilizando protocolos como
EAP-TLS.
5/26
Servidor RADIUS
2 Escenario
•
Servidor Debian 8 con freeRADIUS 2.2.5
•
Punto de acceso (NAS) Netgear DG834G
•
Cliente (Supplicant) Windows 7
•
Cliente (Supplicant) Android 4.3 Jelly Bean
•
Para el servidor RADIUS en Windows,
utilizaremos una máquina Windows 7 con
winRADIUS 2.2.6 y la dirección IP
192.168.1.222.
El resto de parámetros no cambia.
6/26
Servidor RADIUS
3 Configuración del AP
SSID
= NETGEAR
IP
= 192.168.1.220/24
LOGIN
= admin/password
DHCP
= disabled
En el caso del servidor Windows, pondríamos
Radius Server Name/IP Address = 192.168.1.222
7/26
Servidor RADIUS
4 freeRADIUS: Instalación y configuración básica
Comprobar versión disponible
Instalar
Comprobar estado
Comprobar puertos abiertos
8/26
Servidor RADIUS
Listar ficheros de configuración
Configurar usuario + contraseña
Configurar clientes (puntos de acceso)
9/26
Servidor RADIUS
Comprobar funcionamiento correcto
OJO:
No usar la secret que tú hayas configurado para el AP. Ya existe una predeterminada para el
testeo:
A la hora de testear o de ejecutar el servicio en modo debug, se suelen obtener errores debido,
frecuentemente, a estas dos causas:
•
comando radtest incorrecto
◦
•
la contraseña secret a usar con este comando es siempre testing123
servicio ya en ejecución
◦
se suele recomendar parar el servicio y arrancarlo con freeradius -X (modo debug)
A pesar de esto, es muy probable que el cliente se conecte y el servicio funcione
correctamente.
10/26
Servidor RADIUS
5 winRADIUS: instalación y configuración básica
El escenario es idéntico al utilizado con freeRADIUS, sólo que ahora el servidor tiene la IP
192.168.1.222
Versión freeRADIUS para instalar en Windows.
Descargar programa de http://winradius.eu/Download.html e instalar.
Requiere solicitar un código de activación por e-mail.
11/26
Servidor RADIUS
Envían un e-mail con la clave de activación.
Y ya podemos continuar la instalación.
12/26
Servidor RADIUS
Se crea una carpeta en Archivos de programa con unos pocos ficheros.
El grueso de los ficheros quedan en C:\freeradius-2.2.6, donde crea una estructura similar a la
creada en Linux.
Utilidades ofrecidas por winRADIUS, dentro de la carpeta de programas.
13/26
Servidor RADIUS
RADIUS Command Prompt te ubica en la carpeta C:\freeradius-2.2.6\bin\tests, donde existen varios
programas y ficheros de configuración.
Programas:
C:\freeradius-2.2.6\bin\tests>dir *.cmd
El volumen de la unidad C no tiene etiqueta.
El número de serie del volumen es: 38E7-1CAB
Directorio de C:\freeradius-2.2.6\bin\tests
19/11/2014
15/11/2014
15/11/2014
15/11/2014
25/11/2014
15/11/2014
01:58
02:42
02:42
02:41
05:15
02:42
5.007
1.123
456
1.297
322
323
radeapclient.cmd
radtest-digest.cmd
radtest-sim.cmd
radtestwin.cmd
rad_test_multiotp.cmd
rad_test_sspi.cmd
Pero los ficheros users y clients están en C:\freeradius-2.2.6\etc\raddb
Fichero users
Fichero clients.conf
14/26
Servidor RADIUS
Extracto del fichero README.PDF.
Setup
a) Start WinRADIUS Server (Start - Programs - WinRADIUS Server 2.2.6 - Start
RADIUS Server (Debug)). Make sure to stop the scheduled task!
b) Run tests (in bin\tests folder) (Start - Programs - WinRADIUS Server 2.2.6 RADIUS Command Prompt)
Useful commands (sanity checks)
a) radiusd.exe -Xv
b) radwho.exe -d ..\etc\raddb
c) run radtestwin.cmd in bin\tests folder
d) run radtest-digest.cmd in bin\tests folder
e) run radtest-sim.cmd in bin\tests folder
f)
run radeapclient.cmd in bin\tests folder
g) run rad_test_sspi.cmd in bin\tests folder
h) run rad_test_multiotp.cmd in bin\tests folder
15/26
Servidor RADIUS
Una vez realizada la configuración, reiniciar el equipo.
Comprobar puertos abiertos: no aparece el puerto UDP 1812 abierto: el servicio RADIUS no
arranca automáticamente.
C:\>netstat -anp udp | find “181”
< salida vacía >
Arrancar servicio.
16/26
Servidor RADIUS
Comprobar puertos abiertos: ahora ya está abierto el puerto UDP 1812.
C:\>netstat -anp udp | find “181”
Conexiones activas
Proto
UDP
UDP
UDP
Dirección local
0.0.0.0:1812
0.0.0.0:1813
0.0.0.0:1814
Dirección remota
*:*
*:*
*:*
Ejecutar programa de chequeo radtest-win.cmd.
Puede hacerse ejecutando desde el explorador o ejecutando el comando.
radtestwin.cmd ejecutando desde el explorador.
17/26
Servidor RADIUS
radtestwin.cmd ejecutando el comando.
C:\freeradius-2.2.6\bin\tests>radtestwin
**** WinRADIUS 2.2.6 Sanity Tests ****
These tests assume WinRADIUS Server is up and running
(127.0.0.1:1812)
Presione una tecla para continuar . . .
<...salida truncada...>
Sending Access-Request of id 211 to ::1 port 1812
User-Name = "testuser"
User-Password = "testpw"
NAS-IP-Address = 127.0.0.1
NAS-IPv6-Address = fe80::1
NAS-Port = 1812
rad_recv: Access-Accept packet from host ::1 port 1812, id=211,
length=37
Reply-Message = "Hello, testuser"
Total approved auths:
Total denied auths:
Total lost auths:
18/26
1
0
0
Servidor RADIUS
Otro comando de testeo interesante sería radapclient.cmd
**** WinRADIUS 2.2.6 EAP tests ****
These tests assume WinRADIUS Server is up and running
(127.0.0.1:1812)
Please, comment out 'smsotp' from the 'default' file under sitesenabled folder
The following tests will be performed:
- EAP-MD5
- EAP-MSCHAPv2
- EAP-TLS
- EAP-TTLS/CHAP
- EAP-TTLS/MSCHAP
- EAP-TTLS/MSCHAPv2
- EAP-TTLS/PAP
- EAP-TTLS/EAP-MD5
- EAP-TTLS/EAP-GTC
- EAP-TTLS/EAP-OTP (It may fail)
- EAP-TTLS/EAP-MSCHAPv2
- EAP-PEAPv0/MD5
- EAP-PEAPv0/EAP-MSCHAPv2
- EAP-PEAPv1/MD5 (It fails)
- EAP-PEAPv1/EAP-MSCHAPv2 (It fails)
- EAP2-MD5
- EAP2-FAST
- EAP2-IKEv2
- EAP-GTC (Skipped)
- EAP2-PWD
- EAP2-EKE
- EAP-PAX
- EAP-SAKE
- EAP2-GPSK
- EAP-PSK
- EAP-SIM
- EAP-AKA
- EAP-AKA (Prime)
Running test: EAP-MD5
Presione una tecla para continuar . . .
<... salida truncada ...>
< Aparecen tests por cada uno de los métodos >
19/26
Servidor RADIUS
6 Conexión con supplicant Win7
Si no se configura nada en el cliente, es muy probable que no conecte.
CONFIGURACIÓN DEL SUPPLICANT
Centro de redes y recursos compartidos → Administrar redes inalámbricas → Agregar
20/26
Servidor RADIUS
Como Tipo de seguridad puede escogerse WPA-Enterprise o WPA2-Enterprise, dependiendo del tipo
configurado en el AP.
Al escoger el tipo “Enterprise”, se bloquea el cuadro de Clave de seguridad, ya que ésta ahora
no se configura en el supplicant, sino en el servidor RADIUS.
Como Tipo de cifrado puede escogerse TKIP o AES, dependiendo del tipo configurado/soportado en
el AP.
21/26
Servidor RADIUS
Se escoge Reemplazar credenciales porque no
utilizaremos usuarios de Windows, sino
usuarios “virtuales”.
Nota
El servidor RADIUS únicamente autentica para
establecer la conexión con el AP. Una vez
establecida, aunque el servidor RADIUS se
apague, la conexión seguirá activa.
22/26
Servidor RADIUS
7 Conexión con supplicant Android
En Android no hay que configurar nada: únicamente indicar user+pass.
23/26
Servidor RADIUS
8 Resumen
Cliente NAS (Punto de Acceso)
•
En algún apartado de la configuración de la Wi-Fi, escoger algo así como
◦
Security Options
= WPA2-802.1x
◦
Radius Server Name/IP Address
= 192.168.1.221
◦
Radius Port
= 1812
◦
Shared Key
= eti123456
Servidor freeRADIUS (Linux)
•
Instalar
apt-get install freeradius
•
Configurar
•
•
◦
Fichero /etc/freeradius/users
virtudes Cleartext-Password := “virtudicas”
◦
Fichero /etc/freeradius/clients.conf
client 192.168.1.220 {
secret = eti123456
shortname = ap_orlando
}
Reiniciar servicio
◦
Detener
service freeradius stop
◦
Arrancar en modo debug
/etc/freeradius/freeradius -X
Comprobar
◦
Comprobar puerto UDP 1812 abierto
netstat -lun | grep 181
◦
Ejecutar utilidad de testeo
/etc/freeradius/radtest virtudes virtudicas localhost 0
testing123
24/26
Servidor RADIUS
Servidor winRADIUS (Windows)
•
Descargar de http://winradius.eu
•
Enviar e-mail a [email protected] solicitando código de desbloqueo
•
Instalar
•
Configurar
•
•
◦
Fichero C:\freeradius-2.2.6\etc\raddb\users
virtudes Cleartext-Password := “virtudicas”
◦
Fichero C:\freeradius-2.2.6\etc\raddb\clients.conf
client 192.168.1.220 {
secret = eti123456
shortname = ap_orlando
}
Reiniciar servicio
◦
Reiniciar equipo
◦
Arrancar servicio
Inicio → Programas → Start RADIUS Server (Debug)
Comprobar
◦
Comprobar puerto UDP 1812 abierto
netstat -anp udp | find “181”
◦
Ejecutar utilidad de testeo
c:\freeradius-2.2.6\bin\tests\radtestwin.cmd
Supplicant Windows 7
Agregar una nueva conexión de red inalámbrica con los siguientes parámetros:
•
Nombre de la red
= el SSID del AP
•
Tipo de seguridad
= WPA2-Enterprise
•
Tipo de cifrado
= TKIP
•
Seguridad → Método de autenticación = Microsoft: EAP protegido (PEAP) [default]
◦
Configuración
▪
→ desactivar “Validar un certificado de servidor”
▪
→ desactivar “Habilitar reconexión rápida”
▪
→ Método de autenticación = Contraseña segura (EAP-MSCHAP v2) [default]
•
Configurar
◦
→ desactivar “Al conectar, usar automáticamente el nombre de inicio de
sesión y contraseña de Windows”
25/26
Servidor RADIUS
◦
Configuración avanzada
▪
→ activar “Especificar modo de autenticación” = Autenticación de usuarios
▪
→ Guardar credenciales = usuario virtudes / contraseña virtudicas
Supplicant Android Jelly Bean
No hay que hacer nada en especial, únicamente, proporcionar usuario + contraseña.
9 Fuentes y para más información
https://www.wikipedia.org/
http://freeradius.org/
http://personales.alumno.upv.es/~hecmargi/manuales/linux/freeradius/
http://padamrajgurung.com.np/authentication-in-aaa/
https://echaleunvistazo.wordpress.com/2012/08/13/servidor-radius-con-debian-freeradius-ymysql/
http://www.systerminal.com/2014/03/26/wpa2-enterprise-freeradius-openldap-debian-wheezy-14/
Aula 30x
[email protected]
@aula30x
octubre 2015
26/26

Documentos relacionados

Remote Access Dial User Service

Remote Access Dial User Service 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 “radposta...

Más detalles

Seguridad de redes Inalámbricas

Seguridad de redes Inalámbricas àAuthentication Server (Servidor de Autenticación, RADIUS)  Y es hecha por una combinación de protocolos:  à 802.1X – A Port Based Network Access Control  à EAP – Extensible Authentication Protocol...

Más detalles