Prá cticás SAD - Servidor RADIUS



Documentos relacionados
PRACTICA 6.6 VPN Logmein Hamachi registrarse en la página instalación,

PEDRO REVERTE GÓMEZ SERVICIOS DE RED E INTERNET / IMPLANTACIÓN DE APLICACIONES WEB 2º ASIR

ZeroShell - Configuración del HotSpot

Mini-Prá cticás SAD - Squid

INSTALACIÓN DE GATEWAYS SIP

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación

INSTALACIÓN DE ORACLE 8i (8.1.7) SOBRE NT

Servidor web E-Sniper

Configuración de DNS seguros

Sitios remotos. Configurar un Sitio Remoto

CÓMO CREAR NUESTRO CATÁLOGO

Curso Internet Básico - Aularagon

Programa de Fabricación para Android

Curso: FT433 - Introducción a la virtualización con VirtualBox

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7

Poner músicas por mumble en PDR for DUMMIES

RADIUS es extensible; la mayoría de fabricantes de software y hardware RADIUS implementan sus propios dialectos.

RPC sobre HTTPS

Un punto de acceso que soporte seguridad RADIUS (en nuestro caso, hemos utilizado el siguiente modelo de punto de acceso

En primer lugar conectamos un cable Ethernet desde un equipo a un router. Ponemos el equipo en la misma red y como puerta de enlace.

Instalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta

Instalando CodeKa v1.0 sobre Bitnami Xamp Stack (para Windows, Linux, OS X y Solaris).

Descarga Automática. Manual de Usuario. Operador del Mercado Ibérico de Energía - Polo Español Alfonso XI, Madrid

ASISTENCIA TÉCNICA A LA SEGURIDAD EN PYMES DE MELILLA MANUAL TIGHTVNC

Versatils. Apéndice. ODBC Orígenes de datos. ODBC Orígenes de datos.

Manual de OpenOffice Impress

Internet aula abierta

Guía de instalación de Gesclivet.

4.2- Instalación y Configuración de un Servidor DNS Dnsmasq en Ubuntu sin DHCP

Instalación de Tomcat7 en Ubuntu

Al ejecutar esta aplicación tenemos lo siguiente: Pulsamos en Wizard mode y nos aparece lo siguiente:

Instalación Joomla. Instrucciones para instalar Joomla en un pc en la red local del instituto, o en un servidor en Internet

Instalación del programa PSPP y obtención de una distribución de frecuencias.

Actividad 1: Utilización cliente FTP (mediante línea de comandos, entornos gráficos y navegadores/exploradores) (I).

RESOLUCIÓN DE ERRORES EN MOODLE CAMPUS VIRTUAL-BIRTUALA UPV-EHU

MANUAL DE AYUDA MÓDULO GOTELGEST.NET PREVENTA/AUTOVENTA

UNIDAD DIDACTICA 16 USUARIOS SAMBA EN UN CONTROLADOR DE DOMINIO LINUX SERVER

Formas de llevar a cabo un backup de una base de datos MySQL

5. Crea un sitio Web seguro usando tu propio certificado digital (Windows y Linux).

PRACTICA DE REDES Redes Ad Hoc

Curso de PHP con MySQL Gratis

CENTRO DE INVESTIGACIÓN CIENTÍFICA Y DE EDUCACIÓN SUPERIOR DE ENSENADA, BAJA CALIFORNIA Departamento de Cómputo / Dirección de Telemática ÍNDICE

GUÍA DE CONFIGURACIÓN PARA LAS CÁMARAS IP

SERVIDOR WEB. Servidores web IIS (Windows) / Apache (Windows y Linux)

TUTORIAL DE INSTALACIÓN PARA VIRTUALBOX

Tutorial de uso. ScanIPTV V.4.7

Tenemos que instalar los programas de los usuarios también (los anteriormente mencionados) y los siguientes que vamos a nombrar.

VirtualBox.

Windows 7. CONFIGURACIÓN DE RED Wi- Fi EDUROAM

Además del Sistema Operativo necesitaremos un adaptador inalámbrico que vamos a describir en el punto siguiente.

NORMA (SEPA) 22/11/2013

Luis Eduardo Peralta Molina Sistemas Operativos Instructor: José Doñe Como crear un Servidor DHCP en ClearOS

**NOTA** las partes tachadas todavía no están escritas, se ira actualizando poco a poco el documento

INTERNET INFORMATION SERVICES (IIS)

VPN sobre red local. Vicente Sánchez Patón I.E.S Gregorio Prieto. Tema 3 SAD

Tener la WiFi abierta implica tener nuestra conexión a Internet compartida, además de otros riesgos:

Acá vamos a ocuparnos de cómo realizar la instalación de una red intra-aula sobre Linux, concretamente en la distribución de GNU/Linux Ubuntu 9.04.

Administración avanzada de paquetes. apt-proxy.

How to Crear Servidor Samba

Estructurar la información dentro del ordenador:

Para crear formularios se utiliza la barra de herramientas Formulario, que se activa a través del comando Ver barra de herramientas.

!!!!!!!!!!!! SERVIDOR FTP. Práctica de FTP sobre WindowsXP. Paula Juiz López Paula Juiz López - FTP Windows XP" 1

Instalación de FileZilla FTP Server

10. El entorno de publicación web (Publiweb)

Este programa mueve cada motor de forma independiente, y cuando termina una línea pasa a la siguiente.

DIRECCIÓN DE SISTEMAS DE INFORMACIÓN DEPARTAMENTO CERES

Guía de instalación del sistema Vigilant Security CS

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro

Manual de configuración de eduroam en Windows Vista

Manual de configuración de Adobe Reader para la validación de la firma de un documento Versión 1.0

MIGRACIÓN DEL MOODLE A MESTRE A CASA

Configuración de un APs D-Link DWL-2100AP.-

UTILIZACIÓN DE UNA CUENTA DE CORREO ELECTRÓNICO (NUEVO) Acceso al correo electrónico

GUÍA DEL ADMINISTRADOR DE TI

Qué es una máquina virtual?

Como detectar conexión del Servidor y SQL?

PROCEDIMIENTO DE ENLACE TCPIP

Ayuda Portal WiFi para MAC

TUTORIAL: Cómo hacer más segura nuestra red MAC OS X

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación

CERTIFICADOS ELECTRÓNICOS Y LECTORES DE TARJETAS LTC31 USB

REGISTRO ELECTRÓNICO DE FACTURAS

1. Configuración del entorno de usuario

Comerciales. Comisiones en Documentos de Venta WhitePaper Enero de 2008

MANUAL COPIAS DE SEGURIDAD

Google Drive. Registro y gestión de archivos. Manual de uso

Manual Time One Software control de horarios

INSTALACIÓN - SERVER MANUAL TÉCNICO INSTALACIÓN SERVER MANUAL TÉCNICO 1

Instituto Tecnológico Las Américas (ITLA) Sistemas Operativos 3 (SO3) Daniel Alejandro Moreno Martínez. Matrícula:

Instalación y Configuración de un Servidor FTP

INSTALACIÓN DE GITLAB

Software Criptográfico FNMT-RCM

GUÍA DE CONFIGURACIÓN PC PARA HACER USO DE LA SEDE ELECTRÓNICA DEL CABILDO DE GRAN CANARIA

Una plantilla es un modelo que puede servir como base para muchas hojas de cálculo. Puede incluir tanto datos como formatos.

Notas para la instalación de un lector de tarjetas inteligentes.

Bueno como hay mucha gente que no sabe como configurar bien la red manualmente, he decidido hacer este pequeño manual

En este caso presionamos ENTER para empezar nuestra instalación

Documentación del Terminal

Transcripción:

Prá cticás SAD - Servidor RADIUS El servidor que vamos a utilizar es FreeRadius, un servidor RADIUS gratuito para Linux. Instalando FreeRadius Para empezar, arrancaremos una máquina virtual Linux y desde un terminal, usaremos apt get para instalar el paquete freeradius. Más adelante, instalaremos paquetes adicionales según la base de datos que usemos para guardar los usuarios. Probando FreeRadius http://wiki.freeradius.org/basic-configuration-howto Tras su instalación, el servidor FreeRadius ya debe de estar funcionando. Podemos probarlo mediante el comando radtest (probadlo sin parámetros a ver qué os dice). La orden: radtest testing password localhost 0 testing123 debería darnos un mensaje Access-Reject, que quiere decir que no se permite el acceso al usuario testing. Eso significa, al menos, que el servidor está funcionando, aunque sin usuarios configurados. Para empezar, vamos a detener el servidor freeradius para poder iniciarlo manualmente en modo debug, que nos permitirá detectar errores en la configuración. Lo paramos con: /etc/init.d/freeradius stop Y lo iniciamos en modo debug en un terminal aparte como: freeradius -X En este terminal iremos viendo todas las peticiones que le llegan al servidor y las respuestas que el servidor manda al cliente (en este caso, la aplicación radtest y más adelante, al router). Probad a ejecutar radtest de nuevo con los mismos comandos e intentad interpretar la salida que nos muestra el servidor freeradius. La línea que nos interesa es probablemente ésta: ERROR: No authenticate method (Auth-Type) found for the request: Rejecting the user y las inmediatamente superiores que nos explican por qué está fallando la petición. Vamos a incluir un usuario testing con contraseña password al fichero de configuración de FreeRadius. Para ello, tenemos que editar el fichero /etc/freeradius/users. Echadle un vistazo al contenido que trae por defecto el archivo (todo comentado) para haceros una idea de las opciones de configuración. Para añadir este usuario, incluiremos la línea: testing Cleartext-Password := "password"

Como podemos ver en el fichero esto crea un usuario testing al que le asignamos esa contraseña. Si quisiéramos incluir más opciones de configuración, añadiríamos líneas adicionales debajo de ésta. Parad el servidor freeradius que tenéis funcionando y volvedlo a iniciar (para que cargue la nueva configuración). Probad a repetir el test. Ahora sí debería funcionar correctamente y devolvernos un Access-Accept. Configurando la conexión entre el router y el servidor RADIUS Configurando el servidor Lo primero que tenemos que hacer, es configurar el servidor freeradius para que acepte peticiones desde nuestro router. Para ello, tendremos que editar el fichero /etc/freeradius/clients.conf y añadir los datos del router, que funcionará como cliente y se conectará a nuestro servidor. Las líneas que tenemos que añadir para configurar nuestro router, son: client 172.16.0.1 { secret = testing123 shortname = sad1 } client 172.17.0.1 { secret = testing123 shortname = sad2 } Con esto, el servidor freeradius aceptará peticiones desde cualquiera de nuestros dos routers. Configurando el router Para usar nuestro router con nuestro servidor RADIUS, tenemos que configurar las opciones de seguridad inalámbricas.

En los routers que tenemos en clase (WRT54G con firmware DD-WRT), tenemos que ir a la pestaña Wireless -> Wireless Security. Aquí, seleccionaremos como modo de seguridad WPA o WPA2 Enterprise, que en lugar de usar una clave precompartida usa un servidor de seguridad. Como algoritmos de cifrado podemos usar TKIP o CCMP (aquí aparece como AES :P). En el campo Radius Auth Server Address tenemos que poner la IP de nuestra máquina con el servidor RADIUS. El puerto por defecto del servidor es el 1812, así que si no lo hemos modificado en la configuración, aquí lo dejaremos como está. Por último, el campo Radius Auth Shared Secret contiene una clave precompartida con la que se protege la conexión entre el router y el servidor RADIUS (para evitar que un usuario cualquiera pueda mandar peticiones al servidor). Por ahora, vamos a usar testing123 como en el ejemplo. Guardamos la configuración y la aplicamos y vamos a configurar el acceso. Configurando el cliente wireless Por último, tenemos que configurar nuestro sistema operativo para que se conecte a nuestra red inalámbrica usando la configuración adecuada para nuestro servidor RADIUS. Como Windows espera por defecto el uso de certificados digitales para nuestra WPA Empresarial, la configuración por defecto no funcionará, así que tenemos que configurar la red inalámbrica manualmente. En el Centro de redes y recursos compartidos, id a Administrar redes inalámbricas y Agregad una nueva red inalámbrica creando el perfil de red manualmente. Escribid el SSID de uno de los dos routers y elegid alguna de las WPA Empresariales como modo de seguridad. Una vez terminado, dadle a Cambiar la configuración de conexión. Desde la pestaña Seguridad, accederemos a dos pantallas: Configuración (del método de autenticación PEAP) y Configuración avanzada. En la configuración de PEAP, tenemos que desactivar la casilla Validar un certificado de servidor, porque todavía no estamos usando certificados de usuario. Además, en Configurar el método de Contraseña segura (MSCHAP), desactivaremos que use automáticamente el nombre de inicio de sesión de Windows (más adelante podemos configurarlo para que funcione).

En configuración avanzada, especificaremos como modo de autenticación la Autenticación de usuarios, que si no enviará automáticamente el nombre de la máquina como autenticación (y, por ahora, no funcionará). Ya está listo para probarlo. Como tenemos configurado un servidor DHCP en nuestra red, y los routers están conectados a ella, al conectarnos con el usuario testing nos debería permitir acceder a la red y darnos una IP y configuración de red que nos permitan conectarnos a Internet (aunque no al router). Si no os funciona, algo habréis hecho mal (obviamente). Revisad la salida del servidor freeradius a ver qué errores está dando a la hora de realizar la autenticación.

Configurando el Certificado del servidor http://deployingradius.com/documents/configuration/eap.html http://deployingradius.com/documents/configuration/certificates.html http://deployingradius.com/documents/configuration/ca_import.html Nuestro servidor freeradius viene por defecto con unos certificados de prueba con los que podemos conectarnos si deshabilitamos la validación del certificado. Vamos ahora a crear un certificado en condiciones y a importarlo en nuestro sistema para poder conectarnos con validación de certificado. Para ello, freeradius nos trae unas plantillas y unos scripts que nos permiten generar los certificados fácilmente (la alternativa, que es usar OpenSSL directamente es bastante complicada). Las plantillas se encuentran en la siguiente ruta: /usr/share/doc/freeradius/examples/certs Aquí, necesitamos modificar 3 archivos: ca.cnf, server.cnf, client.cnf. El primero, ca.cnf, nos permite configurar los datos de la Autoridad de Certificación que usaremos para nuestro certificado. Como va a ser autogenerado, pondremos los datos de nuestra propia CA. En el server.cnf, pondremos los datos del servidor Radius. El fichero generado será el certificado digital del servidor que es el que se usará para el proceso de identificación. El último, client.cnf, nos permite crear certificados de cliente que podemos usar en lugar de la identificación por nombre de usuario y contraseña (que veremos más adelante). Por ahora, editaremos ca.cnf y server.cnf. Tenemos que modificar las secciones [certificate_authority] y [server] que se encuentran respectivamente en cada uno de los ficheros. También deberíamos modificar los campos input_password y output_password, que serán las contraseñas que protejan a los certificados (si lo hacemos, tenemos que modificar el fichero eap.conf para reflejar los cambios) (casi mejor nos estamos quietos). Una vez modificados, tenemos que ejecutar el comando make (desde esa carpeta). Esto nos generará los certificados correspondientes. Ahora, tendremos que copiar los ficheros ca.pem, dh, server.key y server.pem a la carpeta /etc/freeradius/certs (eliminando antes los enlaces que hay en ésta). Reiniciamos el servidor freeradius y comprobamos que nos podemos conectar todavía. Ahora, vamos a importar el certificado digital del servidor en nuestro cliente wireless. Para ello, tenemos que copiar el fichero ca.der que se creó tras el comando make y copiarlo a nuestra máquina Windows. Veréis que aparece con un icono de certificado digital. Hacemos doble-click y se nos abrirá el asistente de importación de certificados. Cuando nos pregunte, deberemos elegir el almacén donde colocar el certificado, que es Entidades de certificación raíz de confianza.

Una vez hecho esto, vamos a modificar la configuración de nuestra red inalámbrica. Volvemos a las propiedades de PEAP y ahora sí, activamos Validar un certificado de servidor. En la lista de CAs raíz, elegiremos el certificado de CA que acabamos de importar y en Conectarse a estos servidores tenemos que introducir el nombre largo del servidor que hemos puesto en el certificado. Otra opción es no marcar ni la CA ni el nombre del servidor e intentar conectar. En este caso, nos dará un error de conexión pero nos permitirá seguir conectando, y ya configurará automáticamente el CA y el servidor para próximas conexiones. Configurando la autenticación con Certificados de Usuario (EAP/TLS) La máxima seguridad en la conexión, la conseguimos usando certificados de usuario. Instalando un certificado digital en el equipo cliente (y evitando que se pueda exportar), nos aseguramos de que sólo los equipos con certificado se puedan conectar, eliminando las vulnerabilidades que tiene la autentificación por nombre de usuario y contraseña. El principal problema es que hay que instalar (y a ser posible supervisar la instalación para evitar que el certificado se pueda copiar a otro equipo) un certificado digital en cada uno de los equipos que vayan a usar nuestra red inalámbrica. Esto es mucho más engorroso que simplemente añadir nombres de usuario y contraseñas a un fichero o una base de datos. Lo primero que tenemos que hacer, es generar certificado digitales para los clientes. Podemos crear un sólo certificado e instalarlo en todos los clientes que queramos, pero también podemos crear certificados diferentes para cada uno. Para configurar los certificados de usuario editaremos el fichero client.cnf, configurando el apartado [client] con los datos que queramos que aparezcan en nuestro certificado. Es importante recalcar que los certificados cliente están asociados a los certificados de servidor y CA que ya hemos creado, así que deben generarse después que éstos y sólo funcionarán si los certificados asociados están instalados para que los use el servidor freeradius.

Una vez terminado de editar el fichero, ejecutaremos make client. Con esto, generaremos los ficheros correspondientes al certificado de cliente. A continuación, tendremos que copiar el certificado a nuestro cliente wireless. Para ello, copiamos el fichero client.p12 y lo ejecutamos en nuestra máquina Windows. Este certificado sí que lo podemos instalar con las opciones por defecto. Una vez instalado, tenemos que cambiar la configuración de conexión. En lugar de usar el método de autenticación PEAP, usaremos Tarjeta inteligente u otro certificado (no hay que configurar nada más). Probad a conectar a la red inalámbrica y depurad los errores que encontréis. Configurando la autenticación usando una Base de Datos http://wiki.freeradius.org/sql-howto Si bien configurar certificados de cliente en todos los equipos es engorroso, introducir a mano en un fichero de configuración todos los usuarios no lo es menos. Por lo tanto, vamos a configurar nuestro servidor freeradius para que use una base de datos. Lo primero es instalar tanto MySQL (espero que esté instalada, porque si no nos van a dar las uvas) y el módulo de freeradius para MySQL: apt-get install mysql-server freeradius-mysql Una vez hecho esto, tenemos que configurar nuestra base de datos para que contenga las tablas necesarias para almacenar la información además de configurar freeradius para que use las tablas adecuadamente. Para empezar, crearemos en MySQL una base de datos radius. Después tenemos que ejecutar el script schema.sql que podemos encontrar en el directorio: /etc/freeradius/sql/mysql

INCISO: Llevo 4 horas de reloj intentando hacer funcionar el PUTO freeradius con MySQL. Me he leído 20 tutoriales distintos en Internet, 5 wikis, 2 libros y todos los foros del universo. Por fin, tras 4 PUTAS horas intentándolo, encuentro en una lista de correo una respuesta en la que a un PUTO RUSO y a un PUTO FRANCÉS les dicen cuál es el PUTO problema. Un PUTO símbolo de almohadilla en un PUTO fichero de mierda! Y a nadie se le había ocurrido que eso era importante?! Así que si mañana me sale de los PUTOS huevos, cuando me levante terminaré esta sección (y a lo mejor borro este inciso) (probablemente no lo borre). Ahora, crearemos un usuario en la tabla radcheck, que es lo mínimo que tenemos que añadir para que funcione. En las tablas radgroupcheck, radgroupreply, radreply y radusergroup se pueden configurar muchas más opciones de autenticación, mientras que en el resto el servidor guarda información sobre lo que está pasando en el sistema (logs). La tabla radcheck tiene la siguiente estructura: +-----------+------------------+------+-----+---------+----------------+ Field Type Null Key Default Extra +-----------+------------------+------+-----+---------+----------------+ id int(11) unsigned NO PRI NULL auto_increment username varchar(64) NO MUL attribute varchar(64) NO op char(2) NO == value varchar(253) NO +-----------+------------------+------+-----+---------+----------------+ Vamos a introducir un usuario testing2 para seguir haciendo pruebas: +----+----------+--------------------+----+----------+ id username attribute op value +----+----------+--------------------+----+----------+ 1 testing2 Cleartext-Password := password +----+----------+--------------------+----+----------+ Con esto, ya tendríamos la base de datos configurada para autenticar al usuario testing2. Si queremos introducir más usuarios, sólo tenemos que introducirlos en esta tabla. Si bien las contraseñas se pueden guardar codificadas, es mucho menos compatible y casi seguro que va a dar problemas, así que las dejaremos en texto plano (y protegeremos la base de datos convenientemente). Ahora tenemos que configurar el servidor para que funcione con nuestra base de datos MySQL. En el fichero radiusd.conf tenemos que descomentar (no, la palabra descomentar no existe) la siguiente línea (está en el apartado modules): $INCLUDE sql.conf Con esto, conseguiremos que el servidor cargue la configuración de ese fichero. Ahora en ese fichero sql.conf tenemos que editar la configuración de la base de datos para que concuerde con la nuestra (los campos importantes son database, server, port, login, password y radius_db). Suponiendo que hayamos usado el esquema que viene incluido con

freeradius, no deberíamos tener que tocar el nombre de las tablas ni nada más de la configuración. Por último, tendremos que modificar algunos ficheros de configuración dentro de sites available, empezando por default. Aquí, configuraremos los metodos de autenticación que estarán disponibles para el servidor. Activaremos la autenticación mediante sql descomentando la etiqueta sql en el apartado authorize. Con esto debe ser suficiente para que funcione, pero también vamos a descomentar las etiquetas sql dentro de las secciones accounting (guarda información de registro en sql), session (para guardar información de las sesiones por si queremos prohibir el uso simultáneo de los usuarios en varios equipos) y post-auth (para guardar todos los intentos de autenticación en la base de datos). Con esto ya deberíamos tener configurado el servidor freeradius para que leyera los usuarios de la base de datos MySQL. Podéis comprobarlo con radtest y depurar los errores que encontréis. Sin embargo, debido a como funciona la autenticación EAP con Windows, esta configuración no funciona si la usamos con el router para autenticar clientes. La autenticación EAP crea un túnel seguro para transmitir las contraseñas (que van en texto plano), y debemos configurar ese túnel para que use la base de datos MySQL. Para ello, editaremos el fichero inner-tunnel que se encuentra en sites-available y activaremos la etiqueta sql en la sección authorize (podemos activar también la etiqueta sql en el apartado session y post-auth con los mismos efectos que en el fichero default). Probamos que todo funciona y nos vamos para casa. Entrega de la práctica Tenéis que subirme a la plataforma un archivo.tgz que contenga todos los archivos que hemos modificado: clients.conf, radiusd.conf, sql.conf, users y default e inner-tunnel (dentro de sites-available) Además, incluid los certificados digitales que hemos generado (los que van en la carpeta certs y los dos que hemos exportado a Windows) y un volcado de la base de datos (en sql).

Otras opciones Otra opción que podemos configurar en nuestros routers modificados con firmware basado en Linux (y en algunos comerciales) es la de usar el servidor RADIUS para autenticar a los clientes basados en la MAC. Esto se encuentra en la pestaña Radius: Anexo: Configuración de los routers WRT54G Name/SSID: SAD1 LAN IP: 172.16.0.1 LAN Subnet: 255.255.255.0 No gateway or DNS No DHCP Admin/pass: root/toor Name/SSID: SAD2 LAN IP: 172.17.0.1 LAN Subnet 255.255.255.0 No gateway or DNS No DHCP Admin/pass: admin/admin