Red de conocimiento informático - Material del sitio web - Cómo construir un servidor Radius

Cómo construir un servidor Radius

Como administrador de red, necesita almacenar información de usuario para cada dispositivo de red que necesita administrar. Pero los dispositivos de red a menudo sólo admiten capacidades limitadas de gestión de usuarios. Aprenda a utilizar un servidor RADIUS externo en Linux para autenticar usuarios, específicamente a través de un servidor LDAP. Puede centralizar la información del usuario que se almacena en un servidor LDAP y se autentica mediante un servidor RADIUS, lo que reduce la sobrecarga administrativa de la gestión de usuarios y hace que el proceso de inicio de sesión remoto sea más seguro.

En los sistemas modernos, la seguridad de los datos es una parte importante de la seguridad de la red y una parte importante de la seguridad del sistema, por lo que proteger los datos (garantizando la confidencialidad, integridad y disponibilidad de los datos) es muy importante para los administradores.

En este artículo, analizaré el aspecto de confidencialidad de la seguridad de los datos: garantizar que solo usuarios o sistemas autorizados puedan acceder a los datos protegidos. Aprenderá cómo instalar y configurar un servidor de servicios de usuario de autenticación remota telefónica (RADIUS) en un sistema Linux para realizar autenticación, autorización y contabilidad de usuarios (AAA).

Introducción de los componentes

Primero echemos un vistazo al protocolo RADIUS, los componentes AAA y sus principios de funcionamiento, y el protocolo LDAP.

El protocolo de servicio de usuario telefónico de autenticación remota se define en el RFC 2865 de IET (consulte Recursos para obtener un enlace). Un cliente RADIUS es un servidor de acceso a la red, generalmente un enrutador, conmutador o punto de acceso inalámbrico (un punto de acceso es un nodo especialmente configurado en una red; WAP es la versión inalámbrica).

Los servidores RADIUS suelen ser demonios que se ejecutan en servidores UNIX o Windows 2000.

RADIUS y AAA

Si el NAS recibe una solicitud de conexión de usuario, la pasará al servidor RADIUS designado, que autenticará al usuario y pasará la configuración del usuario. La información se devuelve a la NAS.

Un servidor RADIUS con todas las funciones puede admitir varios mecanismos de autenticación de usuario diferentes, incluido, además de LDAP,

PAP (Protocolo de autenticación de contraseña, utilizado con PPP, las contraseñas comienzan con Se envía texto sin cifrar al cliente para comparar);

CHAP (Protocolo de autenticación por desafío mutuo, más seguro que PAP, que utiliza nombre de usuario y contraseña);

Contraseña local del sistema UNIX/Linux base de datos (/etc/passwd);

Otras bases de datos locales.

En RADIUS se combinan autenticación y autorización. Si se encuentra un nombre de usuario y la contraseña es correcta, el servidor RADIUS devuelve una respuesta Acceso-Aceptar que contiene parámetros (pares atributo-valor) para garantizar el acceso al usuario. Estos parámetros se configuran en RADIUS e incluyen el tipo de acceso, el tipo de protocolo, la dirección IP del usuario que especifica el usuario, la lista de control de acceso (ACL) o ruta estática que se aplicará en el NAS y algunos otros valores.

La función de contabilidad RADIUS (definida en RFC 2866; consulte las Referencias para obtener un enlace) permite enviar datos al principio y al final de una sesión de conexión, lo que indica que los datos pueden enviarse durante la sesión por motivos de seguridad o Necesidades de contabilidad (facturación). Una gran cantidad de recursos utilizados (como tiempo, paquetes y bytes).

Protocolo ligero de acceso a directorios

El Protocolo ligero de acceso a directorios (LDAP) es un estándar abierto que define un método para acceder y actualizar información en un método de directorios similar a X.500. También se puede utilizar para mantener y acceder a información de forma coherente y controlada.

LDAP simplifica la gestión de usuarios al gestionarlos en un directorio centralizado. Además de almacenar información del usuario, definir usuarios en LDAP habilita funciones opcionales como limitar la cantidad de inicios de sesión.

En este artículo, aprenderá cómo configurar un servidor RADIUS para autenticar usuarios según LDAP. Dado que el enfoque de este artículo es RADIUS, no describiré los detalles de instalación y configuración del servidor LDAP.

OpenLDAP es una implementación de código abierto de LDAP. Para obtener más información, visite OpenLDAP.org (consulte el enlace en Referencias).

Escenario de aplicación

Imagínese el siguiente escenario:

Un usuario accede a la intranet de su empresa mediante autenticación telefónica desde casa.

Las computadoras portátiles con capacidad inalámbrica pueden conectarse a la red del campus mediante autenticación inalámbrica.

Los administradores utilizan sus estaciones de trabajo para iniciar sesión en dispositivos de red a través de telnet o HTTP y autenticarse como usuarios administrativos.

Todas estas tareas de autenticación se pueden realizar a través de un servidor RADIUS basado en un servidor LDAP central (consulte la Figura 1).

Figura 1 Autenticación vía RADIUS y LDAP

En este artículo, me centraré en describir la implementación de la última opción como una introducción a la solución. Primero instale el servidor RADIUS.

Instalación de RADIUS

El software del servidor RADIUS está disponible en varios lugares. En este artículo usaré FreeRADIUS (consulte el enlace en Recursos), pero Cisco Secure Access Control Server (ACS) es un marco de control de acceso de usuario centralizado para el acceso de usuarios a través de múltiples dispositivos Cisco en UNIX y Windows Management, y es compatible con el protocolo propietario de Cisco. TACACS (se dice que los dispositivos que soportan TACACS también pueden proporcionar otras funciones).

FreeRADIUS es un potente servidor RADIUS para Linux proporcionado por la comunidad de código abierto, adecuado para los entornos informáticos heterogéneos y distribuidos de hoy en día. FreeRADIUS 1.0.2 admite bases de datos LDAP, MySQL, PostgreSQL y Oracle y es compatible con protocolos de red como EAP y Cisco LEAP. FreeRADIUS está actualmente implementado en muchas redes de producción grandes.

Los siguientes pasos demuestran cómo instalar y probar FreeRADIUS 1.0.2 en Red Hat Enterprise Linux Advanced Server 3.0:

Listado 1 Instalación y prueba de FreeRADIUS

tar -zxvf freeradius- 1.0.2.tar.gz - Descomprimir usando gunzip y tar

. /configure

make

make install - ejecute este comando como root

radiusd o - inicie el servidor RADIUS

radiusd -X - Inicie el servidor RADIUS en modo de depuración

prueba radtest test localhost 0 testing123 - Pruebe el servidor RADIUS

Si radtest recibe una respuesta, el servidor FreeRADIUS está funcionando correctamente.

Otra herramienta gratuita que recomiendo es NTRadPing, que se puede utilizar para probar solicitudes de autenticación y autorización de clientes Windows. Mostrará la respuesta detallada enviada desde el servidor RADIUS, como los valores de los atributos.

Ahora configuremos FreeRADIUS.

Configuración de FreeRADIUS

La configuración de un servidor RADIUS implica la configuración de servidores, clientes y usuarios (todos utilizados para autenticación y autorización). Los servidores RADIUS pueden tener diferentes configuraciones para diferentes necesidades. Afortunadamente, la mayoría de las configuraciones son similares.

* Configuración del servidor

Los archivos de configuración de FreeRADIUS generalmente se encuentran en la carpeta /etc/raddb. Primero, necesitamos modificar el archivo radiod.conf como se muestra a continuación.

Lista 2 Modificar radiod.conf

1) Configuración global:

log_auth = yes - registra las solicitudes de autenticación en el archivo de registro

log_auth_badpass = no - No registrar la contraseña al rechazar la solicitud

log_auth_goodpass = no - No registrar la contraseña al aceptar la solicitud

2) Configuración de LDAP:

módulos {

ldap {

servidor = "bluepages.ibm.com" - nombre de host o dirección IP del servidor LDAP

puerto = 636 - cifrado comunicación

basedn = "ou=bluepages,o=ibm.com" - define el nombre distinguido base (DN),

- en la organización (O) "ibm.com" ,

- En la unidad organizativa (OU) "bluepages"

filter="(mail=u)" - Especifica los criterios de búsqueda

base_filter = " (objectclass=person)" - Especifique los criterios de búsqueda básicos

}

authenticate { - Habilite la autenticación LDAP

Auth-Type LDAP {

ldap

}

Los parámetros están configurados para utilizar IBM BluePages, que es una instancia del servicio LDAP. Para otros servidores LDAP, los parámetros pueden diferir.

* Configuración del cliente

Los clientes se configuran en el archivo /etc/raddb/clients.conf. Hay dos métodos para configurar clientes RADIUS. El NAS se puede agrupar por subred IP (Listado 3) o por nombre de host o dirección IP (Listado 4). Si adopta el segundo enfoque, puede definir abreviaturas y obscenidades.

Listado 3 Agrupación de NAS por subred IP

Cliente 192.168.0.0/24 {

secret = mysecret1 - "secret" debe ser el mismo que el de el NAS tiene la misma configuración

shortname = mylan - "shortname" se puede usar para iniciar sesión

nastype = cisco - "nastype" se usa para checkrad, es opcional

}

Listado 4 Enumera el NAS por nombre de host o dirección IP

cliente 192.168.0.1 {