Wifi Gratuito

36
UNIVERSIDAD DE EL SALVADOR FACULTAD MULTIDISCIPLINARIA DE OCCIDENTE DEPARTAMENTO DE INGENIERIA Y ARQUITECTURA CATEDRA: PROTOCOLOS DE COMUNICACIÓN CATEDRATICO: ING. JUAN CARLOS PEÑA ALUMNOS: CANALES MANCIA GUILLERMO ERNESTO FLORES CASTRO FRANCISCO ALEXANDER LAZO HERNANDEZ FLORENTIN SANTA ANA 25 DE JUNIO 2012

Transcript of Wifi Gratuito

Page 1: Wifi Gratuito

UUNNIIVVEERRSSIIDDAADD DDEE EELL SSAALLVVAADDOORR

FFAACCUULLTTAADD MMUULLTTIIDDIISSCCIIPPLLIINNAARRIIAA DDEE OOCCCCIIDDEENNTTEE

DDEEPPAARRTTAAMMEENNTTOO DDEE IINNGGEENNIIEERRIIAA YY AARRQQUUIITTEECCTTUURRAA

CATEDRA:

PROTOCOLOS DE COMUNICACIÓN

CATEDRATICO:

ING. JUAN CARLOS PEÑA

ALUMNOS: CANALES MANCIA GUILLERMO ERNESTO

FLORES CASTRO FRANCISCO ALEXANDER

LAZO HERNANDEZ FLORENTIN

SANTA ANA 25 DE JUNIO 2012

Page 2: Wifi Gratuito

IINNDDIICCEE

PROBLEMA PLANTEADO...................................................................................................................... 1

PLANTEAMIENTO DE LA SOLUCION .................................................................................................... 2

CONFIGURACIONES ........................................................................................................................... 13

BIBLIOGRAFIA .................................................................................................................................... 34

Page 3: Wifi Gratuito

PROTOCOLOS DE COMUNICACION 2012

1

PPRROOBBLLEEMMAA PPLLAANNTTEEAADDOO

El grupo roble empezará a brindar acceso a redes de forma gratuita en cada centro

comercial que posee en Centro América. Para acceder a sus servicios, los usuarios

simplemente deberán registrarse en un kiosko para que se les brinde un usuario y una

contraseña que servirán como credenciales para uso de la red. El problema de este

despliegue es que algunos de estos centros comerciales ya poseen bases de datos con

información similar, pero en distintos motores (MySQL, Postgresql, etc.), y las

implementaciones nuevas se harán en Active Directory/LDAP. Por tanto se le pide que

implemente algún mecanismo que permita autenticar a cada usuario sin importar en qué

base se encuentre, justo antes de hacer uso de la red

Page 4: Wifi Gratuito

PROTOCOLOS DE COMUNICACION 2012

2

PPLLAANNTTEEAAMMIIEENNTTOO DDEE LLAA SSOOLLUUCCIIOONN

Como solución al problema planteado se propone usar un sistema de autenticación basado

en Freeradius para la integración de bases de datos, para el caso se utilizara una base de

datos LDAP (Lightweight Directory Access Protocol, Protocolo Ligero de Acceso a

Directorios) funcionando de forma integrada a una base de datos de MYSQL, además se

utilizara pfSense como herramienta de control para el acceso a la red y otras características.

Antes de empezar a mostrar cada una de las configuraciones respectivas asi como el uso

adecuado de cada una de las herramientas, introduciremos diversos conceptos cuyo

conocimiento es clave para poder entender que se esta haciendo (que perseguimos y que

conseguimos).

RRAADDIIUUSS

RADIUS (Remote Authentication Dial-In User Server) es un protocolo que nos permite

gestionar la “autenticación, autorización y contabilización o registro” de usuarios remotos

sobre un determinado recurso. La tupla “autenticación, autorización y registro” es mas

conocida como AAA, al ser este su acrónimo de su denominación original inglesa

“Authentication, Authorization and Accounting”, cada uno de estos términos hace

referencia a un papel especifico los cuales son:

AAuutteenntt iiccaacciióónn ((aauutthheenntt iiccaatt iioonn))::

Este término hace referencia al proceso por el cual se determina si un usuario tiene permiso

para acceder a un determinado servicio de red del que se quiere hacer uso. El proceso de

autenticación se realiza mediante la presentación de una identidad y una credencial por

parte del usuario que demanda el acceso.

Un tipo habitual de credencial es el uso de una contraseña (o password) que junto al

nombre de usuario nos permite acceder a determinados recursos. El nombre de usuario es la

identidad, que puede ser públicamente conocida, mientras que la contraseña se mantiene en

secreto, y sirve para que nadie suplante nuestra identidad. Otros tipos más avanzados de

credenciales son los certificados digitales.

Page 5: Wifi Gratuito

PROTOCOLOS DE COMUNICACION 2012

3

Existen muchos métodos concretos que implementan el proceso de la autenticación.

Algunos de los soportados por RADIUS son:

Autenticación de sistema (system authentication) típica en un sistema Unix,

normalmente realizada mediante el uso del fichero /etc/passwd;

Los protocolos PAP (Password Authentication Protocol), y su versión segura CHAP

(Challenge Handshake Authentication Protocol), que son métodos de autenticación

usados por proveedores de servicios de Internet (ISPs) accesibles vía PPP.

LDAP (Lightweight Directory Access Protocol), un protocolo a nivel de aplicación

(sobre TCP/IP) que implementa un servicio de directorio ordenado, y muy

empleado como base de datos para contener nombres de usuarios y sus contraseñas.

Kerberos, el famoso método de autenticación diseñado por el MIT.

EAP (Extensible Authentication Protocol) que no es un método concreto sino un

entorno universal de autenticación empleado frecuentemente en redes inalámbricas

y conexiones punto a punto;

Por último, también se permite la autenticación basada en ficheros locales de

configuración del propio servidor RADIUS.

AAuutthhoorriizzaacciióónn ((aauutthhoorriizzaatt iioonn))

Este término hace referencia a conceder servicios específicos (entre los que se incluye la

“negación de servicio”) a un determinado usuario, basándose para ello en su propia

autenticación, los servicios que está solicitando, y el estado actual del sistema. Es posible

configurar restricciones a la autorización de determinados servicios en función de aspectos

como, por ejemplo, la hora del día, la localización del usuario, o incluso la posibilidad o

imposibilidad de realizar múltiples “logins” de un mismo usuario.

El proceso de autorización determina la naturaleza del servicio que se concede al usuario,

como son: la dirección IP que se le asigna, el tipo de calidad de servicio (Qos) que va a

recibir, el uso de encriptación, o la utilización obligatoria de túneles para determinadas

conexiones.

Page 6: Wifi Gratuito

PROTOCOLOS DE COMUNICACION 2012

4

Los métodos de autorización soportados habitualmente por un servidor de RADIUS

incluyen bases de datos LDAP, bases de datos SQL (como Oracle, MySQL y PostgreSQL)

o incluso el uso de ficheros de configuración locales al servidor.

No se debe confundir los términos autenticación con autorización, Mientras que la

autenticación es el proceso de verificar un derecho reclamado por un individuo (persona o

incluso ordenador), la autorización es el proceso de verificar que una persona ya

autenticada tiene la autoridad para efectuar una determinada operación.

RReeggiiss ttrroo ((aaccccoouunntt iinngg,, aa mmeennuuddoo tt rraadduucciiddoo ttaammbbiiéénn ccoommoo ccoonnttaabbii ll iiddaadd))

Este término hace referencia a realizar un registro del consumo de recursos que realizan los

usuarios. El registro suele incluir aspectos como la identidad del usuario, la naturaleza del

servicio prestado, y cuando empezó y terminó el uso de dicho servicio.

Es interesante el uso del protocolo RADIUS cuando tenemos redes de dimensiones

considerables sobre las que queremos proporcionar un servicio de acceso centralizado

(aunque posiblemente jerarquizado por medio de diversos servidores RADIUS). Por este

motivo, uno de los principales usos de RADIUS se encuentra en empresas que

proporcionan acceso a Internet o grandes redes corporativas, en un entorno con diversad de

tecnologías de red (incluyendo módems, xDSL, VPNs y redes inalámbricas) no solo para

gestionar el acceso a la propia red, sino también para servicios propios de Internet (como e-

mail, Web o incluso dentro del proceso de señalización SIP en VoIP).

NNAASS

Un Network Access Server (NAS) es un sistema que proporciona acceso a la red. En

algunos casos también se conoce como Remote Access Server (RAS) o Terminal Server.

En general, NAS es un elemento que controla el acceso a un recurso protegido, que puede

ser desde un sencillo teléfono para VoIP o una impresora, hasta el acceso a una red

inalámbrica o a Internet (proporcionado por un ISP).

Cuando un cliente quiere hacer uso de uno de estos servicios se conecta a NAS, quien a su

vez se conecta a un servidor de AAA (típicamente RADIUS) preguntando si los

credenciales proporcionados por el cliente son válidos. Basándose en su respuesta, NAS le

Page 7: Wifi Gratuito

PROTOCOLOS DE COMUNICACION 2012

5

permitirá acceder o no a este recurso protegido. El sistema NAS no contiene ninguna

información sobre los usuarios que se pueden conectar ni sus credenciales, sino que utiliza

esta información para enviarla a RADIUS, y que éste le informe sobre los permisos del

cliente.

Es de observar que nos encontramos en un escenario en el que hay dos niveles de la

arquitectura cliente-servidor. Desde un punto de vista más global, tenemos la típica

arquitectura en la que un usuario quiere acceder a un servicio, siendo el usuario el cliente, y

el servidor el sistema que proporciona dicho servicio. Sin embargo, si nos centramos en el

proceso de AAA, el cliente sería el sistema que proporciona el acceso a la red (por ejemplo

NAS), mientras que el servidor es el sistema que autoriza o no dicho acceso (por ejemplo

RADIUS). Dado que este caso se centra en este proceso, a lo largo del desarrollo

hablaremos de servidores RADIUS cuyos clientes son los elementos a proteger (por

ejemplo, un punto de acceso para la conexión inalámbrica). Por tanto, desde nuestro punto

de vista, los usuarios que quieren acceder al recurso protegido (por ejemplo, la persona que

se desea conectar a la red inalámbrica por medio del punto de acceso), no son clientes de

RADIUS sino que se denominan suplicantes.

Una ventaja del uso de RADIUS es que sus clientes tan sólo tienen que implementar el

protocolo de comunicación con RADIUS, y no todas las posibilidades de AAA existentes

(PAP, CHAP, LDAP, kerberos, MySQL, etc.). En el ejemplo del punto de acceso, tan sólo

se necesita implementar una solución NAS que realice las consultas a RADIUS.

Otra ventaja del protocolo RADIUS es que, en su comunicación con NAS, nunca transmite

las contraseñas directamente por la red (lo que se conoce como en cleartext), ni siquiera al

usar PAP, sino que usa algoritmos para ocultar las contraseñas como MD5. Sin embargo, al

no ser considerado MD5 un sistema de protección de credenciales demasiado seguro, es

aconsejable utilizar sistemas adicionales de protección para cifrar el tráfico de RADIUS,

como puede ser túneles de IPsec.

Page 8: Wifi Gratuito

PROTOCOLOS DE COMUNICACION 2012

6

SSEEGGUURRIIDDAADD EENN TTEECCNNOOLLOOGGÍÍAASS DDEE RREEDD IINNAALLÁÁMMBBRRIICCAA

En redes inalámbricas con infraestructura se utiliza un punto de acceso (wireless access

point, WAP o simplemente AP) para interconectar todos los dispositivos inalámbricos de la

red. Usualmente un AP se conecta también a una red cableada, transmitiendo datos entre

los dispositivos conectados a la red cable y los dispositivos inalámbricos.

La seguridad es un tema importante en las redes inalámbricas porque, al contrario que en

una red cableada a la que sólo tienen acceso las personas que físicamente pueden

conectarse, cualquier persona de la calle o pisos o edificios vecinos pueden conectarse a

una red inalámbrica o ver el contenido de los paquetes que circulan por ella si ésta no está

convenientemente protegida.

Algunos de los principales protocolos estándar para proporcionar seguridad en redes

inalámbricas IEEE 802.11 son:

WEP (Wired Equivalent Privacy). Fue introducido en 1997 con objeto de

proporcionar un nivel de confidencialidad similar al de las redes cableadas. Usa una

clave estática de 64 ó 128 bits con el algoritmo RC4. Su uso se desaconseja

completamente, ya que aunque es muy fácil de configurar y está muy extendido al

ser el primero que surgió, presenta graves fallos de seguridad.

WPA (Wi-Fi Protected Access) fue creado para corregir los múltiples fallos

detectados en el protocolo WEP. WPA fue diseñado por el consorcio Wi-Fi

Alliance basándose en un borrador del estándar 802.11i (es un subconjunto del

mismo), y utiliza TKIP (Temporal Key Integrity Protocol) como protocolo de

cifrado que sustituye a WEP sin necesidad de modificar el hardware existente

(podría funcionar actualizando el firmware).

En concreto, WPA sigue usando RC4 como algoritmo de cifrado con claves de 128

bits, pero usa TKIP para cambiar dinámicamente estas claves.

WPA fue diseñado para ser usado junto a un servidor AAA (habitualmente

RADIUS), de manera que se le asignan claves distintas a cada uno de los posibles

usuarios. Sin embargo, para entornos domésticos o pequeñas oficinas también se

Page 9: Wifi Gratuito

PROTOCOLOS DE COMUNICACION 2012

7

puede usar, de forma menos segura, con una única clave compartida (pre-shared

key, PSK).

WPA2 se basa en el nuevo estándar 802.11i, y el cambio más significativo respecto

a WPA es que usa el protocolo de cifrado AES en lugar de RC4. Mientras que WAP

puede ejecutarse en el hardware que soporte WEP (tras actualizar el firmware),

WAP2 necesita un hardware más nuevo (posterior al 2004). Sin embargo, se sabe

que WAP también terminará siendo comprometido a medio plazo y por tanto sólo

se recomienda como transición a WAP2.

Otro concepto relacionado con la seguridad en redes inalámbricas que merece la pena

destacar es EAP (Extensible Authentication Protocol). EAP es un marco general de

autenticación, y no un mecanismo de autenticación concreto. EAP proporciona algunas

funciones comunes y un método para negociar el mecanismo de autenticación a usar.

Actualmente hay más de 40 métodos distintos.

FFRREEEERRAADDIIUUSS

FreeRADIUS es un paquete de software de código abierto y libre distribución que

implementa diversos elementos relacionados con RADIUS, tales como una biblioteca BSD

para clientes, módulos para soporte en apache, y lo que más nos interesa en este punto, un

servidor de RADIUS.

El servidor de FreeRADIUS es modular, para facilitar su extensión, y es muy escalable.

Además, tiene casi todas las opciones que un usuario puede necesitar:

Para realizar las tareas de AAA puede almacenar y acceder a la información por

medio de múltiples bases de datos: LDAP (AD, OpenLDAP,…), SQL (MySQL,

PostgreSQL, Oracle,…) y ficheros de texto (fichero local de usuarios, mediante

acceso a otros Reales, fichero de sistema /etc/passwd,…)

Soporta prácticamente toda clase de clientes Radius (por ejemplo, ChilliSpot,

JRadius, mod_auth_radius, pam_auth_radius, Pyrad, extensiones php de RADIUS,

etc)

Page 10: Wifi Gratuito

PROTOCOLOS DE COMUNICACION 2012

8

Se puede ejecutar en múltiples sistemas operativos: Linux (Debian, Ubuntu, Suse,

Mandriva, Fedora Core, etc.), FreeBSD, MacOS, OpenBSD, Solaris, e incluso MS

Windows por medio de cygwin.

Soporta el uso de proxies y la replicación de servidores.

LLDDAAPP

LDAP son las siglas de Lightweight Directory Access Protocol (en español Protocolo

Ligero de Acceso a Directorios) que hacen referencia a un protocolo a nivel de aplicación

el cual permite el acceso a un servicio de directorio ordenado y distribuido para buscar

diversa información en un entorno de red. LDAP también es considerado una base de datos

(aunque su sistema de almacenamiento puede ser diferente) a la que pueden realizarse

consultas.

Un directorio es un conjunto de objetos con atributos organizados en una manera lógica y

jerárquica. El ejemplo más común es el directorio telefónico, que consiste en una serie de

nombres (personas u organizaciones) que están ordenados alfabéticamente, con cada

nombre teniendo una dirección y un número de teléfono adjuntos.

Un árbol de directorio LDAP a veces refleja varios límites políticos, geográficos u

organizacionales, dependiendo del modelo elegido. Los despliegues actuales de LDAP

tienden a usar nombres de Sistema de Nombres de Dominio (DNS por sus siglas en inglés)

para estructurar los niveles más altos de la jerarquía. Conforme se desciende en el

directorio pueden aparecer entradas que representan personas, unidades organizacionales,

impresoras, documentos, grupos de personas o cualquier cosa que representa una entrada

dada en el árbol (o múltiples entradas).

Habitualmente, almacena la información de autenticación (usuario y contraseña) y es

utilizado para autenticarse aunque es posible almacenar otra información (datos de contacto

del usuario, ubicación de diversos recursos de la red, permisos, certificados, etc.). A manera

de síntesis, LDAP es un protocolo de acceso unificado a un conjunto de información sobre

una red. La versión actual es LDAPv3.

Page 11: Wifi Gratuito

PROTOCOLOS DE COMUNICACION 2012

9

MMyySSQQLL

El software MySQL proporciona un servidor de base de datos SQL (Structured Query

Language) veloz, multi-hilo, multiusuario y robusto. El servidor está proyectado tanto para

sistemas críticos en producción soportando intensas cargas de trabajo como para

empotrarse en sistemas de desarrollo masivo de software. El software MySQL tiene

licencia dual, pudiéndose usar de forma gratuita bajo licencia GNU o bien adquiriendo

licencias comerciales de MySQL AB en el caso de no desear estar sujeto a los términos de

la licencia GPL. MySQL es una marca registrada de MySQL AB

PPFFSSEENNSSEE

pfSense es una distribución personalizada de FreeBSD adaptado para su uso como Firewall

y Router. Se caracteriza por ser de código abierto, puede ser instalado en una gran variedad

de ordenadores, y además cuenta con una interfaz web sencilla para su configuración.

CCaarraacctteerr ííss tt ii ccaass

La siguiente lista muestra algunas funcionalidades que se incluyen por defecto en el

sistema:

Firewall: pfSense se puede configurar como un cortafuego permitiendo y denegando

determinado tráfico de redes tanto entrante como saliente a partir de una dirección

ya sea de red o de host de origen y de destino, también haciendo filtrado avanzado

de paquetes por protocolo y puerto.

Servidor VPN: pfSense se puede se puede configurar como un servidor VPN

usando protocolos de tunneling tales como IPSec, PPTP, entre otras.

Servidor de Balanceo de Carga: pfSense puede ser configurado como servidor de

balanceo de carga tanto entrante como saliente, esta característica es usada

comúnmente en servidores web, de correo, de DNS. También para proveer

estabilidad y redundancia en él envió de tráfico a través del enlace WAN evitando

los cuellos de botella.

Portal Cautivo: Este servicio consiste en forzar la autenticación de usuarios

redirigiéndolos a una página especial de autenticación y/o para aceptar los términos

Page 12: Wifi Gratuito

PROTOCOLOS DE COMUNICACION 2012

10

de uso, realizar un pago etc. para poder tener acceso a la red. El portal cautivo es

usado comúnmente para control de accesos a la red en los puntos de accesos

inalámbricos de los hoteles, restaurantes, parques y kioscos.

Tabla de estado: pfSense es un stateful firewall, el cual como característica principal

guarda el estado de las conexiones abiertas en una tabla. La mayoría de los firewall

no tienen la capacidad de controlar con precisión la tabla de estado. pfSense tiene

un enorme número de características que permiten una granularidad muy fina para

el manejo de la tabla de estado.

Servidor DNS y reenviador de cache DNS: pfSense se puede configurar como un

servidor DNS primario y reenviador de consultas de DNS.

Servidor DHCP: También funciona como servidor de DHCP, se puede también

implementar VLAN desde pfSense.

Servidor PPPoE: Este servicio es usado por los ISP para la autenticación de usuarios

que puedan ingresar a internet, por una base local o vía radius.

Enrutamiento estático: pfSense funciona como un enrutador ya que entrega

direccionamiento IP y hace el nateo hacia afuera.

Redundancia: pfSense permite configurar dos o más cortafuegos a través del

protocolo CARP (Common Address Redundancy Protocol) por si uno de los

cortafuegos se cae el otro se declara como cortafuegos primario.

Reportes Y Monitoreo: A través de los gráficos RDD pfSense muestra el estado de

los siguientes componentes:

Utilización de CPU

Rendimiento Total

Estado del Firewall

Rendimiento individual por cada interface

Paquetes enviados y recibidos por cada interface

Manejo de tráfico y ancho de banda

pfSense cuenta con un gestor de paquetes para ampliar sus funcionalidades, al elegir

el paquete deseado el sistema automáticamente lo descarga e instala. Existen

alrededor de setenta módulos disponibles, entre los que se encuentran el proxy

Squid, IMSpector, Snort, ClamAV, entre otros.

Page 13: Wifi Gratuito

PROTOCOLOS DE COMUNICACION 2012

11

PfSense puede instalarse en cualquier ordenador o servidor que cuente con un mínimo de

dos tarjetas de red, el proceso de instalación es similar a FreeBSD. Una vez copiados los

archivos del sistema al disco duro, se procede a configurar las direcciones IP de las tarjetas

de red. Una vez concluido lo anterior, se puede acceder al sistema desde un explorador

web. El portal de administración está basado en PHP y teóricamente todas las

configuraciones y administración se pueden realizar desde allí, por lo tanto no es

indispensable contar con conocimientos avanzados sobre la línea de comandos UNIX para

su manejo.

Hay dos tipos de imágenes de pfSense:

Embedded. Es la que se emplea para Compact Flash, tiene los accesos a disco minimizados

y no admite instalación de paquetes. De esta forma se preserva la vida de la Compact Flash.

Se presenta comprimida con gzip, con la extensión img. No soporta ni teclado ni monitor,

hay que conectar cable serie para acceder a la consola de pfSense y poder hacer la

configuración inicial.

LiveCD. Es una imagen iso, también comprimida con gzip, para ser ejecutada desde el

propio CD. Tiene una opción para instalar pfSense en disco duro y a partir de entonces se

pueden instalar paquetes, muchos de ellos administrables desde la interfaz web.

pfSense permite balanceo de carga con detección de fallo (fail-over), lo que resulta muy

interesante si se tiene más de una ADSL. Esta prestación permite pues equilibrar las cargas

de las ADSL y en caso de fallo de una de ellas redireccionar su tráfico hacia otra.

pfSense emplea para el balanceo el demonio (daemon) slbd. Como la mayoría de

balanceadores, su intención es mejorar la navegación por Internet y no entiende las

conexiones múltiples. Ello descarta su uso en accesos FTP. Por tanto, o se renuncia a

balanceo o se renuncia a FTP. O bien se monta otro pfSense sólo para FTP.

El balanceo se configura definiendo una pila (pool) donde se indica la IP pública de cada

ADSL (IP a monitorizar) y la IP privada por la que se accede a la ADSL. Entonces pfSense

comprueba periódicamente si la ADSL en cuestión está funcionando, haciéndole un ping.

Page 14: Wifi Gratuito

PROTOCOLOS DE COMUNICACION 2012

12

Se necesita, por tanto, que la IP pública de la ADSL conteste a estos ping internos. De lo

contrario, pfSense no sabrá ver si la ADSL está activa.

Page 15: Wifi Gratuito

PROTOCOLOS DE COMUNICACION 2012

13

CCOONNFFIIGGUURRAACCIIOONNEESS

EEnn pprriimmeerr lluuggaarr vvaammooss aa iinnssttaallaarr yy ccoonnff iigguurraarr nnuueessttrroo sseerrvviiddoorr LLDDAAPP::

aptitude install slapd

aptitude install ldap-utils

aptitude install openjdk-6-jre

aptitude install jxplorer (explorador y administrador de directorio LDAP)

Estructura del árbol a usar:

org

internacionales

admin

paises

lector

Belice

Costa Rica

El Salvador

otros

Ciudad Belice

Otras Ciu.

Sucursal 1

Otras Suc.

usuarios

usuarios

chepe

juan maria xxx

xxx xxx

Page 16: Wifi Gratuito

PROTOCOLOS DE COMUNICACION 2012

14

Crear cada una de las ramas hasta terminar la estructura del árbol ya se con archivos ldif o

por medio del administrador de directorios:

Ejemplo de uno de los ldif:

rama.ldif

dn:ou=países, dc=internacionales, dc=org

objectClass: organizationalUnit

objectClass: top

ou: países.

Comando para agregar la rama:

ldapadd –D “cn=admin, dc=internacionales, dc=org” –W –h localhost –x –f rama.ldif

Ahora que ya hemos instalado y configurado el servidor ldap pasamos a las configuraciones

de Freeradius. Como ya dijimos anteriormente Freeradius es un servidor Radius de código

abierto.

Para instalar un servidor radius es necesario bajar los paquetes propios para la distribución

de Sistema Operativo a usar, así como también cada uno de los módulos que el servidor va

a manejar:

EEnn sseegguunnddoo LLuuggaarr vveerreemmooss llaa ccoonnffiigguurraacciióónn ddee ffrreeeerraaddiiuuss ++ LLDDAAPP::

aptitude install freeradius

aptitude install freeradius-utils

aptitude install freeradius-ldap

Una vez instalado el servidor Radius y el servidor OpenLDAP, solo necesitaremos decirle

al servidor freeradius que se autentifique con OpenLDAP:

En /etc/freeradius/sites-available/default descomentamos la linea que pone ldap para

habilitar el módulo LDAP en la parte de autorización y descomentamos el apartado

de ldap para la parte de autenticación de la siguiente forma:

authorize {

#

Page 17: Wifi Gratuito

PROTOCOLOS DE COMUNICACION 2012

15

#

# The ldap module will set Auth-Type to LDAP if it has not

# already been set

ldap

#

}

authenticate {

Auth-Type LDAP {

ldap

}

En /etc/freeradius/sites-available/inner-tunnel descomentamos la linea que pone

ldap para habilitar el módulo LDAP en la parte de autorización y descomentamos el

apartado de ldap para la parte de autenticación de la siguiente forma:

server inner-tunnel {

authorize {

#

# The ldap module will set Auth-Type to LDAP if it has #not

# already been set

ldap

#}

authenticate {

#

# PAP authentication, when a back-end database listed

# in the 'authorize' section supplies a password. The

# password can be clear-text, or encrypted.

Auth-Type PAP {

pap

}

# Uncomment it if you want to use ldap for authentication

#

# Note that this means "check plain-text password against

# the ldap database", which means that EAP won't work,

# as it does not supply a plain-text password.

Auth-Type LDAP {

ldap

}

#

}

Page 18: Wifi Gratuito

PROTOCOLOS DE COMUNICACION 2012

16

En /etc/freeradius/modules/ldap configuramos los parámetros de conexión con

nuestro OpenLDAP

# -*- text -*-

#

# $Id$

# Lightweight Directory Access Protocol (LDAP)

#

# This module definition allows you to use LDAP for

# authorization and authentication.

#

# See raddb/sites-available/default for reference to the

# ldap module in the authorize and authenticate sections.

#

# However, LDAP can be used for authentication ONLY when the

# Access-Request packet contains a clear-text User-Password

# attribute. LDAP authentication will NOT work for any other

# authentication method.

#

# This means that LDAP servers don't understand EAP. If you

# force "Auth-Type = LDAP", and then send the server a

# request containing EAP authentication, then authentication

# WILL NOT WORK.

#

# The solution is to use the default configuration, which does

# work.

#

# Setting "Auth-Type = LDAP" is ALMOST ALWAYS WRONG. We

# really can't emphasize this enough.

#

ldap {

#

# Note that this needs to match the name in the LDAP

# server certificate, if you're using ldaps.

server = "172.16.1.3"

identity = "cn=lector,dc=internacionales,dc=org"

password = alexander

basedn = "dc=internacionales,dc=org"

filter = "(uid=%{%{Stripped-User-Name}:-%{User-Name}})"

base_filter = "(objectclass=radiusprofile)"

}

En /etc/freeradius/clients.conf agregamos los clientes respectivos de nuestro

servidor freeradius. pfSense para nuestro caso, aunque es completamente valido

agregar como cliente el AP (NAS) como cliente de nuestro servidor radius, caso en

Page 19: Wifi Gratuito

PROTOCOLOS DE COMUNICACION 2012

17

el cual se estaría trabajando con el protocolo 802.1x, para agregar a pfSense como

nuestro el cliente de freeradius abrimo el fichero y agregamos lo siguiente:

Client 172.16.1.1 {

secret =123456

shortname =francisco

}

Una vez hemos terminado las configuraciones necesarias, detenemos el servicio y lo

reiniciamos en modo debug para nuestra conveniencia a través del comando:

service slapd stop

freeradius –X

Hecho esto ya tenemos configurado nuestro servidor freeradius para efectuar el

servicio de autenticación y autorización con ldap para comprobar si nuestro servidor

está corriendo de la manera adecuada, usamos el siguiente comando:

radtest usuario contraseña ipdelservidor puerto secreto.

radtest usuario contraseña 127.0.0.1 1812 testing123

Hemos de realizar las mismas configuraciones para el servidor freeradius

secundario con la diferencia que no apuntaran de forma local si no hacia otra

maquina que tiene corriendo de manera correcta los servicios requeridos, para con

ello implementar redudancia.

CCoommoo tteerrcceerr ppuunnttoo vveerreemmooss llaa ccoonnffiigguurraacciióónn ddee FFrreeeerraaddiiuuss yy MMyySSQQLL

Vamos a instalar los paquetes para manejar MySQL con Freeradius y MySQL server

aptitude install freeradius-mysql

aptitude install mysql mysql-server

Iniciamos el servicio de mysql si no se ha iniciado de forma automática después de la

instalación:

service mysqld start

Accedemos al intérprete de MySQL:

mysql –u root –p

Page 20: Wifi Gratuito

PROTOCOLOS DE COMUNICACION 2012

18

ingresamos la contraseña

Creamos la base de datos denominada radius:

CREATE DATABASE radius;

Declaramos un usuario para la base de datos creada:

GRANT ALL ON radius.* TO radius@localhost IDENTIFIED BY 'radius';

En este caso asumimos que la Base de datos se llama "radius" y creamos un

usuario también "radius" con password "radius"

Salimos de la base de datos usando: exit;

Una vez hecho esto creamos algunas tablas en la base de datos usando los esquemas

incluidos en Freeradius para la base de datos:

mysql -u root -p radius < /etc/freeradius/sql/mysql/admin.sql

mysql – u root –p radius < /etc/freeradius/sql/mysql/cui.sql

mysql - u root –p radius < /etc/freeradius/sql/mysql/ippool.sql

mysql - u root –p radius < /etc/freeradius/sql/mysql/nas.sql

mysql - u roor –p radius < /etc/freeradius/sql/mysql/schema.sql

mysql - u root –p radius < /etc/freeradius/sql/mysql/wimax.sql

Ahora si queremos verificar las tablas creadas solo necesitamos hacer lo siguiente:

mysql -u root –p

use radius;

show tables;

Se mostrara una table con la informacion respectiva de las tablas de la base de datos

+------------------+

| Tables_in_radius |

+------------------+

| nas |

| radacct |

| radcheck |

Page 21: Wifi Gratuito

PROTOCOLOS DE COMUNICACION 2012

19

| radgroupcheck |

| radgroupreply |

| radippool |

| radpostauth |

| radreply |

| radusergroup |

+------------------+

9 rows in set (0.00 sec)

Por último nos salimos de la base con:

quit;

Despues de agregar los esquemas nos dirigimos al archivo sql.conf y descomentamos o

agregamos la línea $INCLUDE sql.conf además definimos los valores para acceder a la

base de datos:

nano /etc/freeradius/sql.conf

Descomentamos $INCLUDE sql.conf

Definimos los valores para acceder

# Connection info:

server = "localhost"

#port = 3306

login = "radius"

password = "admin"

Por ultimo descomentamos el parámetro

readclients=yes.

Por último al igual que se hace con ldap se editan los archivos, default e inner-tunnel y se

descomentan las líneas de parámetros para la verificación de autenticación y autorización

nano /etc/freeradius/sites-available/default

authorize {

#

# Look in an SQL database. The schema of the database

#is meant to mirror the “users” file

#

Page 22: Wifi Gratuito

PROTOCOLOS DE COMUNICACION 2012

20

#See “Authorization Queries” in sql.conf

Sql

#

}

accounting {

detail

sql

}

nano /etc/freeradius/sites-available/inner-tunnel

authorize {

#

# Look in an SQL database. The schema of the database

#is meant to mirror the “users” file

#

#See “Authorization Queries” in sql.conf

Sql

#

}

DDaalloorraaddiiuuss

Daloradius es una avanzada aplicación HTTP que sirve de sistema de administración para

RADIUS, y está diseñada para ser utilizada para administrar hotspots (puntos calientes, es

decir zona de cobertura Wi-Fi, en el que un punto de acceso o varios proveen servicios de

red a través de un Proveedor de Servicios de Internet Inalámbrico o WISP) y uso general

para la autenticación de Proveedores de Acceso a Internet (ISP). Incluye gestión de

usuarios, reportes gráficos, contabilidad, motor de cobranza e integración con GoogleMaps

para Geolocalización.

Page 23: Wifi Gratuito

PROTOCOLOS DE COMUNICACION 2012

21

Instalación

aptitude install daloradius-x-xx

Una vez instalado agregamos algunas libreiras que son necesarias para el buen

funcionamiento de la aplicación

aptitude install php5 php5-mysql php-pear php5-gd php-DB

Una vez hecho, cambiamos los permisos y propiedades del directorio de daloradius.

chown www-data:www-data /var/www/daloradius/ -R

Para que Daloradius funcione correctamente, se requiere agregar algunas tablas mas a la

base de datos de MySQL. Estas tablas ya estan incluidas en el directorio de DaloRadius,

por lo que solo es necesario ejecutar el siguiente comando:

mysql -u root -p admin < /var/www/daloradius/contrib/db/fr2-mysql-

daloradius-and-freeradius.sql

Aparte de daloradius es recommendable instalar phpmyadmin:

aptitude install phpmyadmin

Por último antes de poder accesar a la GUI modificamos el archivo daloradius.conf.php en

el cual ponemos los valores de la conexión al server de la base de datos:

……………………………..

CONFIG_DB_ENGINE = mysql

CONFIG_DB_HOST = 127.0.0.1

CONFIG_DB_USER = radius

CONFIG_DB_PASS = labserver

CONFIG_DB_NAME = radius

.......................

Después de editar reiniciamos apache y accedemos a través del siguiente enlace:

Page 24: Wifi Gratuito

PROTOCOLOS DE COMUNICACION 2012

22

service apache2 restart

http://x.x.x.x/daloradius

ppffSSeennssee

Se realizo una instalación en disco duro, para ello se descarga una imagen iso. Desde la

pagina de www.pfsense.org.

Los pasos de la instalación no son nada complicados:

1. Se configura el BIOS de la PC para que el primer dispositivo de arranque sea la

unidad de CD/DVD, se guardan los cambios y se reinicia el equipo, se inserta el cd

de pfSense en la unidad de CD e inicia el proceso de arranque.

2. Tras ver pasar varias pantallas informativas del proceso de carga se llega a la

siguiente en la cual se produce una pausa de 10 segundos para dar la opción de

hacer una instalación nueva (I) o recuperar una instalación (R), en este caso

tecleamos la letra I.

Page 25: Wifi Gratuito

PROTOCOLOS DE COMUNICACION 2012

23

3. llegamos a una pantalla azul de la configuración de la consola de instalación, en la

cual por lo general basta con navegar con las teclas de cursor a "Accept these

settings"y dar enter

4. Se nos presentará la pantalla de Select Task (seleccionar tarea) en la cual

escogeremos "Quick/Easy nstall" para hacer una instalación de manera

automatizada y sin mayores preguntas.

Page 26: Wifi Gratuito

PROTOCOLOS DE COMUNICACION 2012

24

5. El programa de instalación nos pregunta si estamos seguros de lo que queremos

hacer, como es una instalación desde cero seleccionamos "OK"

6. Se lleva a cabo toda una serie de procesos de partición, formateo, y copia de

archivos en las distintas particiones que se generan en el disco duro, todo lo cual

puede llevar unos 20 minutos, tras lo cual presenta la pantalla de instalación de

Kernel, en la cual dependiendo del tipo de procesador seleccionaremos el kernel

adecuado al sistema (multiproceso simétrico si el equipo tiene un procesador

Page 27: Wifi Gratuito

PROTOCOLOS DE COMUNICACION 2012

25

multinúcleo o es tarjeta con 2 procesadores separados, o uniprocesador si es un solo

procesador de un solo núcleo)

7. termina la instalación del kernel, seleccionamos "Reboot" y se reiniciará el equipo

(debemos de sacar el CD de instalación del lector), tomen nota del usuario y

contraseña que muestra en la pantalla, será la base para entrar al cofigurador web.

Page 28: Wifi Gratuito

PROTOCOLOS DE COMUNICACION 2012

26

8. arranca el sistema, y nos pregunta si queremos configurar VLAN, tecleamos una N

(indicamos que no)

9. nos muestra las interfaces instaladas, en este caso em0 (e eme cero, no emo =/ ) y

em1, si tenemos la completa certeza de cual tarjeta de red es em0 y em1 (en este

caso mi ejemplo) escribimos directamente el nombre de la interface LAN (es la

primera por la que pregunta), en este caso em0 y aceptamos, nos pregunta por el

Page 29: Wifi Gratuito

PROTOCOLOS DE COMUNICACION 2012

27

nombre de la interface WAN y escribimos em1 y aceptamos, tecleamos otro enter

cuándo nos pregunte por la interface Optional 1 (en este caso no la hay)

Otra opción para configurar las tarjetas de red es indicar tecleando la letra A si se

quiere llevar a cabo la autoconfiguración, en este caso tras teclear esa A el sistema

pedirá que se conecte un cable de red que esté activo a la tarjeta de red a configurar

(primero es la LAN) y cuándo se enciendan los LED de la tarjeta de red se da enter

para aceptar la asignación, se repite el mismo pricedimiento para configurar la

tarjeta WAN.

Page 30: Wifi Gratuito

PROTOCOLOS DE COMUNICACION 2012

28

10. el sistema pregunta si se procede con la configuración

11. nos presenta la pantalla de información y configuración, y con eso tenemos

instalado un sistema pfSense básico.

Page 31: Wifi Gratuito

PROTOCOLOS DE COMUNICACION 2012

29

CONFIGURACION DE PFSENSE – MODO GRAFICO

1- Accedemos a pfSense através de la dirección ip que trae por defecto pfsense para

ingresar a sus configuraciones la cual es 192.168.1.1 y nos mostrará la siguiente

pantalla. El Username es: admin, y la contraseña: pfsense.

2- Una vez nos hemos logueado en el modo gráfico necesitamos instalar los paquetes

necesarios para la versión, seleccionando para ello a la pestaña system de donde

elegiremos la opción packages, en donde nos desplazaremos a la subpestaña de

available packages e instalaremos el paquete freeradius2 y squid (Pfsense tiene una

valiosa herramienta conocida como Squid, el cual es un servidor proxy en el cual

podemos poner en una lista negra (o blacklist) todas las direcciones URL que no

queremos que sean visitadas en nuestra red).

Page 32: Wifi Gratuito

PROTOCOLOS DE COMUNICACION 2012

30

Una vez hemos instalado los paquetes podremos elegir la pestaña Installed Packages y ver

si estos ha sido instalados satisfactoriamente.

3- Ahora que ya hemos instalado los paquetes, nos aparecerá la opción de Freeradius y de

proxy server en la pestaña de services, el primer cambio que debemos de realizar es

desplazarnos a la pestaña de proxy server en donde elegiremos poner que escuche en

modo transparente.

4- Seguidamente pasaremos a definir una IP estática para la o las interfaces LAN que

vamos a usar mientras que las WAN las editaremos para recibir DHCP, para el caso

usaremos el caso nos dirigimos a la pestaña Interfaces, seleccionamos la interfaz LAN y

escogemos la opción enable interface seguidamente nos desplazamos al combo box

donde elegiremos static seguidamente nos desplazamos y establecemos la dirección ip

de la interfaz y guardaremos los cambios.

5- Hecho esto nos ubicamos en Services elegimos Captive Portal: Es aquí donde

seleccionamos la opción Enable captive portal seguidamente elegiremos la/s

interfaces sobre las cuales se desplegara el portal cautivo en primera instancia, hecho

esto la forma por la cual los usuarios serán autenticados, y varios aspectos más como

habilitar la opción de logout para desconectarse de la red. Además podemos poner una

URL para redireccionar a los usuarios una vez estos han sido autenticados exitosamente

esto a groso modo es una forma de publicidad, para un sitio en especifico, ahora bien se

puede implementar publicidad basada en perfiles.

Page 33: Wifi Gratuito

PROTOCOLOS DE COMUNICACION 2012

31

6- Dado que para nuestro proyecto estamos usando servidores freeradius externos a la

aplicación elegimos RADIUS authentication al hacer esto se nos despliegan las

opciones para ingresar ya sea un servidor local o externo, para el caso elegimos como

servidor primario ubicado en la dirección 172.16.1.3 indicamos esto en la opción

correspondiente y proporcionamos la contraseña para el acceso del cliente radius

(hemos de recordarnos de las marcadas diferencias entre clientes y usuarios de

freeradius). Hacemo el mismo proceso para el servidor freeradius secundario, servidor

que solo entrara en funciones una vez el primario deje de funcionar por algún motivo.

Page 34: Wifi Gratuito

PROTOCOLOS DE COMUNICACION 2012

32

7- Una vez hemos terminado las configuraciones pertinentes y necesarias solo nos queda

guardar todas las configuraciones, hemos de recordar que pfsense es un firewall y que

para nuestro diseño este está enfrente de nuestra nube, lo que quiere decir que esta

directamente a nuestra conexión a internet al mismo tiempo este se encuentra conectado

a nuestro/s NAS y este a su vez esta conectado ya sea directamente o por wireless a

nuestro/s NAS, y cada individuo que desee obtener conexión a internet deberá de

autenticarse, sea este un usuario de ldap, mysql ó cualquier otro soportado por

freeradius, una vez un individuo conecte un dispositivo a la red se le desplegara la

pagina del portal cautivo para que provea sus credenciales.

Page 35: Wifi Gratuito

PROTOCOLOS DE COMUNICACION 2012

33

DDIIAAGGRRAAMMAA DDEE SSOOLLUUCCIIOONN AALL PPRROOBBLLEEMMAA

Page 36: Wifi Gratuito

PROTOCOLOS DE COMUNICACION 2012

34

BBIIBBLLIIOOGGRRAAFFIIAA

http://www.soportejm.com.sv/kb/index.php/article/daloradius

http://www.youtube.com/watch?v=Mw_jrGX635Y

http://www.youtube.com/watch?v=B6Hjxd1Af-s

http://www.alcancelibre.org/staticpages/index.php/como-freeradius-basico

http://vuksan.com/linux/dot1x/802-1x-LDAP.html

Otros pequeños aportes de guías y paginas variadas.

Archivo Publicado en: