Se presenta a continuación los enlaces hacia los proyectos finales de comunicacionesII para uso futuro
Gestion e inventario de red
firewalls ipv6
thin clients - terminales tontas
análisis de tráfico
Help desk
Redundancia
Interesante, Leer nota completa!!
Sitio destinado para agrupar los proyectos finales de la materia de Comunicaciones II de la Universidad de El Salvador, Facultad Multidisciplinaria de Occidente
domingo, 26 de junio de 2011
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”
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
- 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.
- 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:
# 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.
- 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:
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.
Interesante, Leer nota completa!!
Suscribirse a:
Comentarios (Atom)