Páginas

viernes, 24 de junio de 2011

ESQUEMAS WIFI

ESQUEMAS WIFI




El listado de los protocolos usados es el siguiente:

TCP/IP
ICMP
UDP
SSH
HTTP
HTTPS
DHCP
DNS
SPT
RSPT
RADIUS



ZEROSHELL

Zeroshell es una distribución Linux para servidores y dispositivos integrados destinados a proporcionar los servicios de red principal de una LAN requiere. Está disponible en forma de Live CD o de imagen de Compact Flash y se puede configurar y administrar utilizando el navegador web. Las principales características de esta distribución de Linux para aplicaciones de red se enumeran a continuación:

  • De equilibrio de carga y conmutaciĂłn por error de varias conexiones a Internet;
  • UMTS/HSDPA conexiones mediante el uso de mĂłdems 3G;
  • Servidor RADIUS para proporcionar una autenticaciĂłn segura y la gestiĂłn automática de las claves de cifrado para el Wireless 802.11b, 802.11g y 802.11a redes que soportan el protocolo 802.1x en el EAP-TLS, EAP-TTLS y PEAP forma o la autenticaciĂłn menos seguro del cliente de direcciĂłn MAC, WPA con TKIP y WPA2 con CCMP (802.11i queja) se apoyan demasiado, el servidor RADIUS tambiĂ©n puede, en funciĂłn del nombre de usuario, grupo o direcciĂłn MAC del suplicante, permitir el acceso de un 802.1Q VLAN ;
  • Portal Cautivo para apoyar el inicio de sesiĂłn web, en redes cableadas e inalámbricas. Zeroshell actĂşa como puerta de enlace de las redes en la que el portal cautivo está activo y en la que las direcciones IP (por lo general pertenecientes a las subredes privadas) son asignados dinámicamente por el servidor DHCP. Un cliente que tiene acceso a esta red privada debe autenticarse a travĂ©s de un navegador web utilizando Kerberos 5 nombre de usuario y contraseña antes de que el firewall del Zeroshell permite al pĂşblico acceder a la LAN. El Captive Portal se utilizan a menudo para proporcionar acceso autenticado a Internet en los hotspots en alternativa al protocolo de autenticaciĂłn 802.1X demasiado complicado de configurar para los usuarios. Zeroshell implementa la funcionalidad de Portal Cautivo en forma nativa, sin necesidad de utilizar otro software especĂ­fico NoCat o Chillispot;
  • QoS (Quality of Service) y de gestiĂłn de tráfico para controlar el tráfico en una red congestionada. Usted será capaz de garantizar el ancho de banda mĂ­nimo, limitar el ancho de banda máximo y asignar una prioridad a una clase de tráfico (Ăştil en aplicaciones de red sensibles a la latencia como VoIP). El ajuste anterior se puede aplicar en interfaces Ethernet, redes privadas virtuales, bridges y bondings VPN. Es posible clasificar el tráfico mediante el uso de L7 filtros que permitan la inspecciĂłn profunda de paquetes (DPI), que puede ser Ăştil para dar forma a las aplicaciones de VoIP y P2P;
  • Servidor proxy de HTTP que es capaz de bloquear las páginas web que contienen virus. Esta caracterĂ­stica se implementa con la soluciĂłn antivirus ClamAV y el servidor proxy HAVP. El servidor proxy trabaja en proxy transparente el modo en el que, no es necesario configurar los navegadores de los usuarios a usarlo, pero las peticiones http será redirigido automáticamente;
  • Punto de acceso inalámbrico con mĂşltiples SSID y VLAN de apoyo utilizando las tarjetas de red WiFi basada en el chipset Atheros. En otras palabras, un cuadro de Zeroshell con uno de tales tarjetas WiFi podrĂ­a convertirse en un punto de acceso IEEE 802.11a/b/g proporciona autenticaciĂłn fiable y el intercambio de claves dinámicas de 802.1X y protocolos WPA. Por supuesto, la autenticaciĂłn se lleva a cabo con EAP-TLS y PEAP sobre el servidor RADIUS integrado;
  • Host-a-LAN VPN con L2TP/IPsec en el que L2TP (Layer 2 Tunneling Protocol) autenticado con Kerberos v5 nombre de usuario y la contraseña es encapsulado dentro de IPSec autenticada con IKE que utiliza certificados X.509;
  • VPN Lan-to-LAN con la encapsulaciĂłn de datagramas Ethernet en SSL/TLS de tĂşnel, con soporte para VLAN 802.1Q y configurar en la vinculaciĂłn de balanceo de carga (aumento de banda) o la tolerancia a fallos (aumentar la fiabilidad);
  • Enrutador con rutas estáticas y dinámicas (RIPv2);
  • Bridge 802.1d con protocolo Spanning Tree para evitar bucles, incluso en la presencia de rutas redundantes;
  • LAN virtual 802.1Q (VLAN etiquetado);
  • Firewall Packet Filter y Stateful Packet Inspection (SPI) con filtros aplicables en las dos rutas y bridges en todo tipo de interfaces, incluyendo VPN y VLAN;
  • Es posible rechazar o forma de uso compartido de archivos P2P tráfico mediante el uso de iptables IPP2P mĂłdulo en el Firewall y QoS clasificador;
  • NAT para utilizar la red LAN clase de direcciones privadas ocultas en la WAN con direcciones pĂşblicas;
  • Port Forwarding TCP/UDP (PAT) para crear servidores virtuales. Esto significa que clĂşster de servidores reales se verán con una Ăşnica direcciĂłn IP (la IP del servidor virtual) y cada solicitud será distribuido con Round Robin algoritmo a los servidores reales;
  • Multizona servidor DNS con la gestiĂłn automática de la ResoluciĂłn Inversa in-addr.arpa;
  • Subred multi servidor DHCP con la posibilidad de IP fija en funciĂłn de la direcciĂłn MAC del cliente;
  • Cliente PPPoE para la conexiĂłn a la WAN a travĂ©s de ADSL, DSL y lĂ­neas de cable (requiere un adecuado MODEM);
  • Cliente de DNS dinámico para llegar fácilmente a la sede, incluso cuando la IP es dinámica;
  • NTP (Network Time Protocol) del cliente y el servidor host para mantener sincronizados los relojes;
  • Servidor Syslog para la recepciĂłn y catalogaciĂłn de los registros del sistema producido por los hosts remotos, incluidos los sistemas Unix, routers, switches, puntos de acceso Wi-Fi, impresoras de red y otros compatibles con el protocolo syslog;
  • AutenticaciĂłn Kerberos 5 utilizando un enfoque integrado y transversal KDC-autenticaciĂłn entre reinos (cross-authentication);
  • LDAP, NIS y RADIUS autorizaciĂłn;
  • X509 entidad emisora ​​de certificados para la emisiĂłn y gestiĂłn de certificados electrĂłnicos;
Zeroshell es una distribución Live CD, es decir, que no es necesario instalarlo en el disco duro, ya que puede operar directamente desde el CD-ROM en el que se distribuye. Obviamente, la base de datos, que contiene todos los datos y la configuración, se pueden almacenar en ATA, SATA, SCSI y discos USB. Cualquier Corrección de errores de seguridad se pueden descargar desde el sistema de actualización automática a través de Internet e instalado en la base de datos. Estos parches se eliminará automáticamente de la base de datos de las versiones posteriores del Zeroshell Live CD que ya contiene las actualizaciones.
También está disponible una imagen Compact Flash de 512 MB útil si tiene que iniciar el cuadro de este dispositivo en lugar de CD-ROM por ejemplo, en dispositivos integrados para aplicaciones de red. La imagen Compact Flash tiene 400 MB disponibles para almacenar la configuración y datos.
El nombre Zeroshell subraya el hecho de que, si bien se trata de un sistema Linux (tradicionalmente administrable desde una consola), todas las operaciones de administración se puede realizar a través de interfaz web: de hecho, después de haber asignado una dirección IP a través de una terminal VGA o de serie , basta con conectarse a la dirección asignada por medio de un navegador para configurar todo. Zeroshell fue probado con éxito para trabajar con Firefox, Internet Explorer.
ConstrucciĂłn Zeroshell
Zeroshell no se basa en una distribución ya existentes como por ejemplo Knoppix está basada en Debian. El autor ha recopilado todo el software de los cuales la distribución se compone a partir del código fuente en el tar.gz o tar.bz2 paquetes. El compilador gcc y el glibcs de la GNU han sido recopilados demasiado y he tenido la denominada fase de arranque en el que se ha recompilado más veces. Esto ha sido necesario para optimizar el compilador y para eliminar todas las dependencia de la glibcs del sistema desde el que la primera recopilación se llevó a cabo. Algunas de las secuencias de comandos de inicialización, así como las directrices seguidas por el autor son las de Linux From Scratch.

CĂłmo instalar Zeroshell en un pendrive usando Windows

Esta guĂ­a cubre la grabacion de la imagen CompactFlash/IDE/USB/SATA a un pendrive USB. Este procedimiento fue realizado en Windows 7 y en Windows XP SP3.

1. Descarga e instala la Ăşltima versiĂłn de Physdiskwrite (http://m0n0.ch/wall/physdiskwrite.php)

2. Descarga la imagen de Zeroshell CompactFlash/IDE/USB/SATA

3. Extrae el archivo de imagen .img del archivo del gzip

4. Conecta a tu ordenador el pendrive usb en el cual deseas instalar zeroshell.

5. CRUCIAL: Usando el administrador de discos o otro software elimina todas las posibles

Particiones que contenga dejando solo una.


Después de eliminar las particiones en el disco 1:

6. En windows xp haz click en ejecutar y teclea cmd.

Si no encuentra el cuadro ejecutar teclee cmd en el cuadro de busqueda y aparecera.

Haz click en cmd.exe y selecciona ejecutar como administrador y acepta los mensajes.

7. En la linea de comandos navegue al directorio donde guardo el archivo physdiskwrite

8. Teclea el siguiente comando escribiendo el nombre correcto de la imagen y su localizacion si no esta en el mismo directorio que Physdiskwrite

physdiskwrite -u [nombre de la imagen .img ]

Vera una lista de las unidades disponibles en tu sistema (si no las ves es que no estas como administrador)

En el ejemplo pueden ver que PhysicalDrive1 es mi unidad usb.

9. Teclea el numero de la unidad en la que deseas instalar zeroshell.

10. Recibira un mensaje de alerta indicando el disco que ha escogido, si esta seguro teclee “y”

11. La imagen se empezara a escribir en el pendrive usb, veras los bytes que lleva escritos, ten paciencia que tarda un rato.

12. Cuando la grabacion ha finalizado el pendrive ya puede ser usado para arrancar un pc con el zeroshell.


RedistribuciĂłn de una red Wi-Fi a un segmento de red Cableado por medio de Iptables

Utilizando una computadora con al menos una interfaz ethernet y una Wi-Fi, se redistriuye la red inalámbrica a un segmento de red cableada. Esto se logra haciendo uso de reglas de iptables y habilitando el forwarding de IP para que el equipo haga NAT, siendo capaz de enrutar.
En nuestro caso, creamos un script interpretable con bash con las reglas de ip tables para posteriormente correrlo. Creamos un archivo en blanco con nano:
# nano setIptables
El script debe poseer la siguiente estructura:
En la primer parte se realiza la limpieza de las iptables para luego establecer una polĂ­tica por defecto en la que no se deniegue nada, es decir, se acepte todo.
Luego se indica que se hará NAT (Network Adress Tranlation) para la red 192.168.5.0 con máscara de subred 255.255.255.0 y que la interfaz de salida será la wlan0.
Por Ăşltimo se escribe un 1 sobre el archivo ip_forward, lo que es equivalente a un verdadero para la opciĂłn de reenvĂ­o de IP.
Ya teniendo el script se debe correr con permisos de sĂşper usuario. Asumiendo que el script se encuentra dentro del directorio de trabajo, le agregamos permisos de ejecuciĂłn para el sĂşper usuario y su grupo:
# chmod 770 setIptables
Ahora nos conectamos a la red Wi-Fi. Cuando la conexión esté establecida, tendremos que asignarle una dirección IP a la interfaz Ethernet, pudiendo variar según el caso:
# ifconfig eth0 192.168.5.1 netmask 255.255.255.0 up
Hecho esto, ya podemos redistribuir la red inalámbrica a una red cableada y poder de esta forma compartir recursos.

Servidor FreeRadius

RADIUS es un protocolo ampliamente usado en el ambiente de redes, para dispositivos tales como routers, servidores y switches entre otros. Es utilizado para proveer autenticación centralizada, autorización y manejo de cuentas para redes de acceso dial-up, redes privadas virtuales (VPN) y, recientemente, para redes de acceso inalámbrico.
Puntos importantes:
- Los sistemas embebidos generalmente no pueden manejar un gran nĂşmero de usuarios con informaciĂłn diferente de autenticaciĂłn. Requiere una gran cantidad de almacenamiento.
- RADIUS facilita una administraciĂłn centralizada de usuarios. Si se maneja una enorme cantidad de usuarios, continuamente cientos de ellos son agregados o eliminados a lo largo del dĂ­a y la informaciĂłn de autenticaciĂłn cambia continuamente. En este sentido, la administraciĂłn centralizada de usuarios es un requerimiento operacional.
- Debido a que las plataformas en las cuales RADIUS es implementado son frecuentemente sistemas embebidos, hay oportunidades limitadas para soportar protocolos adicionales. Algún cambio al protocolo RADIUS deberá ser compatible con clientes y servidores RADIUS pre-existentes.
Un cliente RADIUS envía credenciales de usuario e información de parámetros de conexión en forma de un mensaje RADIUS al servidor. Éste autentica y autoriza la solicitud del cliente y envía de regreso un mensaje de respuesta. Los clientes RADIUS también envían mensajes de cuentas a servidores RADIUS.
Los mensajes RADIUS son enviados como mensajes UDP (User Datagram Protocol). El puerto UDP 1812 es usado para mensaje de autenticaciĂłn RADIUS y, el puerto UDP 1813, es usado para mensajes de cuentas RADIUS. Algunos servidores usan el puerto UDP 1645 para mensajes de autenticaciĂłn y, el puerto 1646, para mensajes de cuentas. Esto Ăşltimo debido a que son los puertos que se usaron inicialmente para este tipo de servicio.
La siguiente figura presenta una vista simple de la topologĂ­a de red asumida al establecer una conexiĂłn RADIUS autenticada con un router.
InstalaciĂłn de MySQL
FreeRadius puede trabajar con MySQL como base datos para los usuarios que se intenten autenticar. Para instalar MySQL en un sistema operativo basado en Debian, como root ingresemos el siguiente comando en una terminal:
# apt-get install mysql-server

InstalaciĂłn de OpenSSL
Necesitamos tener instalado OpenSSL antes de instalar FreeRadius, ya que si no se encuentra instalado los módulos para EAP/PEAP de FreeRadius no se instalarán. Para instalar OpenSSL en un sistema operativo basado en Debian, como root ingresemos el siguiente comando en una terminal:
# apt-get install openssl
InstalaciĂłn de FreeRadius
  1. Descargar el cĂłdigo fuente de http://freeradius.org/download.html. Para la instalaciĂłn se ocupo la versiĂłn 2.1.11. En el cĂłdigo fuente se incluyen muchos mĂłdulos, entre ellos el mĂłdulo necesario para que FreeRadius trabaje conjuntamente con MySQL.
  2. Luego de descargar el cĂłdigo fuente, se procede a descomprimirlo e instalarlo. En una terminal, ubĂ­quese en el directorio donde descargĂł la fuente, y como root ejecute los siguiente comandos:
# tar xvf freeradius-server-2.1.1.tar.gz
# cd freeradius-server-2.1.1

# ./configure
#
make
#
make install
Los archivos de configuraciĂłn de FreeRadius se instalan por defecto en la ubicaciĂłn /usr/local/etc/raddb.
  1. Si la instalaciĂłn fue exitosa, pruebe que el servidor FreeRadius este funcionando correctamente con el siguiente comando:
freradius -X
Si todo está bien instalado debería aparecer una respuesta similar a la siguiente:
Si recibiĂł el mensaje “Ready to process requests” como en la imagen de anterior, FreeRadius se ha instalado correctamente.

ConfiguraciĂłn de FreeRadius
Vamos a configurar FreeRadius para que trabaje conjuntamente con MySQL. Para esto tenemos que crear la base de datos que usará FreeRadius, crear un usuario para conectarse a MySQL, agregar un usuario de prueba en la base de datos para conectarse a FreeRadius y por último configurar FreeRadius para que trabaje con esta base de datos.
En la siguiente imagen se pueden ver los comandos necesarios para crear la base de datos llamada “radius” y crear un usuario con el mismo nombre y contraseña “radpass”. Luego llenamos la base de datos a partir del esquema que trae FreeRadius:
Ahora crearemos un usuario para probar la autenticaciĂłn con FreeRadius, los comandos necesarios se muestran a continuaciĂłn:
Ahora configuraremos FreeRadius para que trabaje con la base de datos de MySQL que acabamos de crear. Vayamos a configurar el archivo /usr/local/etc/raddb/sql.conf, en la sección sql configuremos los parámetros de conexión a MySQL:
server = "localhost"
login = "radius"
password = "radpass"
radius_db = "radius"
TambiĂ©n tenemos que configurar el archivo /usr/local/etc/raddb/clients.conf. Este archivo contiene configuraciones para los clientes o redes de clientes que se conectaran a nuestro servidor FreeRadius. Ahora configuraremos al cliente “localhost”, para esto revisamos en la secciĂłn client localhost el parámetro secret y lo dejamos de la siguiente manera :
client localhost {
secret
...
= s3cr3t0
}
Otro archivo que configuraremos es /usr/local/etc/raddb/sites-available/default. Acá configuraremos las siguientes secciones, asegurándonos de tener descomentado el parámetro sql en cada una de ellas:
authorize {
preprocess
chap
mschap
suffix
eap
sql
}
accounting {
detail
radutmp
sql
}
session {
radutmp
sql
}
post-auth {
sql
}
Para ejecutar la prueba con el nuevo usuario creado haremos lo siguiente. volvemos a correr el comando radiusd -X, y en otra terminal usaremos el comando radtest, que recibe como parámetros nombre contraseña host puerto secreto. Escribamos lo siguiente:
radtest ususario usuario localhost 1812 s3cr3t0

Si recibimos el mensaje Access-Accept quiere decir que nuestro usuario ha sido autenticado exitosamente por nuestro servidor FreeRadius.
Luego de esto debemos crear los certificados que utilizaremos con el EAP
Y configurar nuestro punto de acceso con seguridad EAP empresarial.

No hay comentarios:

Publicar un comentario