Servidor Samba, Ldap y Radius para EAP con wifi
Introducción
Se trata de configurar un servidor que permita validar el acceso a wifi mediante EAP, tanto TLS como PEAP a partir de una base de datos de usuarios samba almacenada en LDAP. Esta base de datos incluso podía estar almacenada en un servidor de dominio externo con un simple cambio de configuración de samba.
La instalación toma como referencia una distribución de Linux Fedora. En cualquier otra distribución serían necesarios ciertos cambios menores para adaptarse a sus características particulares.
Elementos integrantes
Para esta configuración entran en juego una serie de aplicaciones que tendrán que relacionarse entre sí. Tendremos que instalar todos los paquetes siguientes, aunque muchos de ellos son dependientes de otros y no es necesario especificarlos todos.
OpeSSL
OpenSSL es un conjunto de herramientas de administración y bibliotecas de funciones criptográficas para realizar transmisiones cifradas, como es el caso de HTTPS.
OpenSSL permite implementar Secure Sockets Layer (SSL) y Transport Layer Security (TLS).
OpenSSL también permite crear certificados digitales para utilizar tanto con clientes como con servidores.
Los paquetes necesarios:
openssl
openssl-libs
Samba
Samba es un desarrollo para sistemas de tipo Unix del protocolo de archivos compartidos de Microsoft Windows originalmente llamado SMB, renombrado recientemente como CIFS.
Samba también permite validar usuarios haciendo de Controlador Principal de Dominio (PDC), como miembro de dominio o como un dominio Active Directory para redes basadas en Windows. Además puede servir colas de impresión, directorios compartidos y autenticar con su propia base de datos de usuarios.
Los paquetes necesarios
samba-libs
samba-winbind-modules
samba-winbind-krb5-locator
samba-dc
samba-dc-libs
samba-client
samba
samba-common
samba-winbind-clients
samba-winbind
smbldap-tools
Openldap
El nombre LDAP corresponde a las siglas de Lightweight Directory Access Protocol, es decir Protocolo Ligero de Acceso a Directorios.
El protocolo LDAP es un protocolo de la capa de aplicación que permite el acceso a un servicio de directorio al que pueden realizarse consultas. Un directorio es un conjunto de objetos con sus correspondientes atributos, organizado jerárquicamente.
El aspectos de LDAP que no interesa es su posibilidad de almacenar la información de los usuarios de un sistema y proporcionar los mecanismos de autenticación basados en usuario y contraseña.
Openldap utiliza los puertos tcp 389 para conexiones sin cifrar y 636 para conexiones TLS.
Los paquetes necesarios para openldap son los siguientes:
krb5-server-ldap
ldapvi
openldap-clients
nss-pam-ldapd
openldap
sssd-ldap
Freeradius
El nombre RADIUS corresponde a las siglas Remote Authentication Dial-In User Service.. 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.
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.
freeradius-ldap
freeradius
freeradius-utils
Kerberos
Kerberos es un protocolo de autenticación de redes de ordenador creado por el MIT que permite a dos ordenadores en una red insegura demostrar su identidad mutuamente de manera segura. Sus diseñadores se concentraron primeramente en un modelo de cliente-servidor, y brinda autenticación mutua: tanto cliente como servidor verifican la identidad uno del otro. Los mensajes de autenticación están protegidos para evitar eavesdropping y ataques de Replay.
Kerberos se basa en criptografía de clave simétrica y requiere un tercero de confianza. Además, existen extensiones del protocolo para poder utilizar criptografía de clave asimétrica.
pam_krb5
sssd-krb5
krb5-server
krb5-lib
krb5-server-ldap
krfb-libs
krdc-libs
krb5-libs
krb5-workstation
krdc
sssd-krb5-common
Squid
Squidd es un proxy-cache web que admite en su configuración diversos mecanismos de acceso, denegación y control de ancho de banda. Entre los mecanismos de acceso, squid dispone de mecanismos de autenticación.
squid
Estructura de la configuración
Nombre de host: caronte
Dominio DNS: bezmi.ies
Dirección IP de caronte.bezmi.ies: 192.168.10.1
Dominio samba: BEZMI.IES
Sufijo: Ldap: dc=bezmi.ies,dc=es
Dominio Kerberos: BEZMI.IES
Red local: 192.168.10.0/24
Gateway: 192.168.10.1
Servidor DNS: 192.168.10.1