jueves, 10 de noviembre de 2011

Bonding

Bonding

BONDING CON DOS TARJETAS DE RED: Redundancia en las interfaces de red

En este enlace se explica como hacerlo para openSuse 11.0 o superior

El Bonding es una técnica que consiste, básicamente, en configurar dos tarjetas de red con la misma IP. Al hacer esto, conseguimos que ambas tarjetas trabajen como una sola produciendo redundancia con balanceo de carga y tolerancia a fallos en la interface. Es posible hacerlo con más tarjetas, pero yo personalmente no lo he probado.

Este documento lo he desarrollado conforme a una instalación de openSUSE Linux 10.2 sobre un servidor IBM Netfinity 5100 type 8658-21Y, con dos tarjetas de red: la primera es la que trae el equipo de fábrica integrada en la placa madre y la segunda es una Intel PRO/1000 MT Server Adapter.

También lo probé, anteriormente, con openSUSE Linux 10.0 sobre servidor un IBM eServer xSeries 206 type 8482-3MG, con dos tarjetas de red: la primera es la que trae el equipo de fábrica integrada en la placa madre (IBM 82547GI Gigabit Ethernet Controller) y la segunda es una Intel PRO/1000 MT Server Adapter (módulo e1000 del kernel, la misma que usé en la instalación referenciada en el párrafo anterior).

Sigue  http://es.opensuse.org/Bonding

domingo, 4 de septiembre de 2011

Voz sobre Protocolo de Internet

Voz sobre Protocolo de Internet, también llamado Voz sobre IP, Voz IP, VozIP, VoIP, es un grupo de recursos que hacen posible que la señal de voz viaje a través de Internet empleando un protocolo IP (Protocolo de Internet). Esto significa que se envía la señal de voz en forma digital, en paquetes de datos, en lugar de enviarla en forma analógica a través de circuitos utilizables sólo por telefonía convencional como las redes PSTN (Red Telefónica Pública Conmutada).

Los Protocolos que se usan para enviar las señales de voz sobre la red IP se conocen como protocolos de Voz sobre IP o protocolos IP. Estos pueden verse como aplicaciones comerciales de la "Red experimental de Protocolo de Voz".
El tráfico de Voz sobre IP puede circular por cualquier red IP, incluyendo aquellas conectadas a Internet, como por ejemplo las redes de área local (LAN).
Es muy importante diferenciar entre Voz sobre IP (VoIP) y Telefonía sobre IP.
  • VoIP es el conjunto de normas, dispositivos, protocolos, en definitiva la tecnología que permite comunicar voz sobre el protocolo IP.
  • Telefonía sobre IP es el servicio telefónico disponible al público, por tanto con numeración E.164, realizado con tecnología de VoIP

Funcionalidad

VoIP puede facilitar tareas que serían más fáciles de realizar usando las redes telefónicas comunes:
  • Las llamadas telefónicas locales pueden ser automáticamente enrutadas a un teléfono VoIP, sin importar dónde se esté conectado a la red. Uno podría llevar consigo un teléfono VoIP en un viaje, y en cualquier sitio conectado a Internet, se podría recibir llamadas.
  • Los agentes de call center usando teléfonos VoIP pueden trabajar en cualquier lugar con conexión a Internet lo suficientemente rápida.
  • Algunos paquetes de VoIP incluyen servicios extra por los que PSTN (Red Publica Telefónica Conmutada) normalmente cobra un cargo extra, o que no se encuentran disponibles en algunos países, como son las llamadas de 3 a la vez, retorno de llamada, remarcación automática, o identificación de llamada.


Saludos.

Miguel Ángel Peñate.

viernes, 12 de agosto de 2011

Como hacer una red wifi segura: WPA + EAP-TLS + RADIUS

Nuevamente por aquí. Hoy les quiero hablar sobre el tipo de encriptación usada en nuestros modem, AP's o routers con el servicio a internet.
De todos es sabido que el cifrado WEP es tan vulnerable que está sin utilización a estas altura. Hoy se trabaja con este nivel de seguiridad... claro esto es a nivel de querer garantizar la seguridad de tus datos e información sobre una disminución despreciable de la velocidad de acceso. El servidor RADIUS tambien se puede montar en un entorno windows - para los que siguen usando windows, claro está - (Server 2003 o superior + IIS). Bueno pasemos a lo que nos compete.

Objetivos:
Vamos a configurar una red wifi segura usando certificados de cliente y
servidor para la autenticación. Para montar la red necesitamos:
-Tener ganas (importante).
-Un servidor RADIUS.
-Un AP con soporte WPA y EAP (802.1X)
-Un cliente wifi.
Como servidor RADIUS vamos a utilizar Linux Fedora Core 2 con el sistema
de instalación de paquetes apt y como software RADIUS usaremos
FreeRADIUS.
El AP (Access Point) será un Dlink 2000AP+ (802.11b/g) con la última versión
de firmware instalada para tener soporte WPA en el dispositivo. Hay que tener
en cuenta que este hardware se fabricó sin tener en cuenta WPA así que se ha
añadido dicha funcionalidad en el firmware por lo que no soportará muchos
clientes.
El cliente usado será un portátil con MAC OS X (10.4) cuyo soporte WPA está
incluido de forma nativa. No obstante se indican sitios de referencia para
configurar otros sistemas operativos.


Para ver el documento completo con detalles de procedimiento, adquiérelo en: http://www.maptic.net/conctactenos.html

Atte.
Miguel Ángel Peñate

martes, 22 de marzo de 2011

Implemetar NAT (Network Address Translation)


INTRODUCCIÓN AL NAT

En este tutorial vamos a explicar los conceptos básicos de lo que conocemos como NAT. No se pretende dar una explicación profunda de todos los tipos de NAT existentes, sino dar una explicación que, de cara al usuario, sirva para comprender el porqué de la necesidad de este mecanismo, qué tiene que ver con lo que se conoce habitualmente como “abrir puertos” (como popularmente se conoce), y entender que pasa en nuestro router cuando “abrimos” esos puertos.


Unas palabras sobre direcciones IP

Las direcciones privadas son rangos especiales de direcciones IP que se reservan para ser utilizadas en redes locales, y se llaman privadas (o no-enrutables) porque no pueden ser utilizadas en Internet. Los routers intermedios que componen todo Internet, no “entienden” este tipo de direcciones y no las encaminan.

Esto da una gran flexibilidad para configurar redes locales, ya que por ejemplo, yo puedo tener en mi red local direcciones del tipo 192.168.0.0, y mi vecino también, pero como esas direcciones no salen de la red local no hay ningún conflicto. Esto no pasa con las direcciones públicas, que son las que se usan en Internet, y han de pertenecer a un único equipo (host); no puede haber varios con la misma IP pública.

Pero esto tiene también un problema. ¿No hemos dicho antes que estas direcciones no pueden ser usadas en Internet? Entonces, cuando nosotros enviamos a Internet (a google, por ejemplo) algo desde nuestra red local, en el paquete que enviamos figura como IP de origen nuestra IP privada... ¿Como va a poder devolvernos el paquete (en ese caso google) si ha de devolverlo a una IP que no puede ser usada en Internet?
La solución a este problema es NAT: Network Address Translation (o Traducción de Direcciones de RED)

NAT: Traducción de Direcciones de Red

La idea básica que hay detrás de NAT es traducir las IPs privadas de la red en una IP publica para que la red pueda enviar paquetes al exterior; y traducir luego esa IP publica, de nuevo a la IP privada del pc que envió el paquete, para que pueda recibirlo una vez llega la respuesta. Con un ejemplo lo veremos mejor.

Podría ser la típica red casera en la que tenemos un par de PCs que salen a Internet a través del router. Cada PC tiene asignada una IP privada, y el router tiene su IP privada (puerta de enlace) y su IP pública (que es nuestra IP de Internet).

Cuando uno de los PCs de la red local quiere enviar un paquete a Internet, se lo envía al router (o a la puerta de enlace o gateway), y éste hace lo que se conoce como SNAT (Source-NAT) y cambia la dirección de origen por si IP pública. Así, el host remoto sabrá a qué IP pública ha de enviar sus paquetes. Cuando una respuesta o un paquete pertenecientes a esa conexión llegue al router, éste traducirá la dirección IP de destino del paquete (que ahora es la IP del router) y la cambiará por la dirección privada del host que corresponde, para hacer la entrega del paquete a la red local.

DNAT: Destination-NAT

Hasta ahora hemos visto como actúa el software de NAT para permitir que un PC de una red privada pueda acceder a Internet y recibir respuestas. El mecanismo que utiliza NAT para las asociaciones entre IP pública y IP privada es una tabla (tabla de NAT) en la que guarda una entrada por cada conexión. Cuando un host de la red local inicia una conexión hacia el exterior, el software de NAT asigna una entrada en la tabla, para que a partir de ahora, todo lo que llegue perteneciente a esa conexión sepa traducirlo hacia la IP privada que inició la conexión.

Pero ¿qué pasa si la conexión se inicia desde el exterior? Por ejemplo, si montamos en nuestra red local un servidor web, lo que queremos es que se puedan iniciar conexiones hacia él. Para poder hacer esto se utiliza DNAT (Destination-NAT).

Cuando iniciábamos una conexión desde la red local, se creaba automáticamente una entrada en la tabla de NAT para que todo lo que perteneciera a esa conexión fuera dirigido hacia el PC correspondiente. Pero si la conexión se inicia desde fuera ¿como y cuando se crea esa entrada en la tabla de NAT? La respuesta es que si queremos permitir conexiones desde el exterior a un PC de nuestra red local, hemos de añadir una entrada fija en la tabla de NAT, indicando que todo el tráfico que llegue que vaya a determinado puerto, sea dirigido al PC en cuestión. El puerto es el único elemento que tenemos para “distinguir” conexiones, ya que todo llegará a la IP del router, pero tendrán un puerto de destino según sea una conexión u otra. Así que, en nuestro ejemplo, deberíamos crear una entrada fija en la tabla de NAT en la que indicáramos que lo que llegue al puerto 80 (web) sea dirigido al PC en el que corre el servidor web.

Esto es lo que se conoce habitualmente como “abrir puertos” en el router. Al abrir puertos, simplemente estamos añadiendo una entrada a la tabla de NAT del router para que sepa hacer la traducción y sepa a qué PC enviar los paquetes. Ya que desde el exterior, aunque nuestra red tenga varios PCs, se verá como si sólo fuera uno (solo se conoce la IP del router, éste lo traduce todo) y necesitamos que éste router al que le llega todo el tráfico sepa a quién ha de entregárselo.

Conclusión:

Como se puede apreciar NAT es un mecanismo muy potente que nos permite crear redes locales con gran flexibilidad, pero también tiene sus inconvenientes. Muchas aplicaciones podrían no funcionar detrás de NAT. Pero eso es quizá un tema un poco más avanzado que queda fuera del objetivo de este tutorial. De todos modos las funcionalidades comentadas de NAT (que son el SNAT y el DNAT) son las más usuales y importantes, y comprenderlas es suficiente para tener una idea bastante buena de qué es NAT y qué es lo que pasa en los routers/gateways que dan salida a nuestra red local.

El origen de esta investigacion, inicia como parte de la necesidad que tuve de hacer NAT en mi router que me da acceso a internet, pero mas sobre eso, como la necesidad de acceder a un servicio web y ftp desde la wan(internet) hacia mi red privada.


Atte.

Miguel Ángel Peñate.

sábado, 20 de noviembre de 2010

Mysql 6.0 Vulnerable


Gusto de estar por aqui nuevamente. He estado un poco ocupado con muchos proyectos y trabajos pero ya estamos poniendonos al dia.

El tema que nos compete hoy es la vulnerabilidad de Mysql 6.0 en su fase Alpha que sigue teniendo la misma vulnerabilidad para saltarse el root como se hace en las versiones 5.x tanto para Windows como para Linux.

Tuve una experiencia la que me hizo asistirme de el procedimiento que publique anteriormente y las pruebas me han permitido recuperar la cuenta del root cuando no conocia el password. Nuevamente los datos no estan seguro si se tiene acceso fisico a la DB, puesto que como vimos anteriormente, podemos violar los accesos del OS tanto para Win como Linux y luego violar el root en el SGBD.

Tomemos politicas de seguridad para los datos...el procedimiento a seguir es el antes publicado. Que todos esten bien.


Atte.

Miguel Angel Peñate

miércoles, 14 de julio de 2010

Saltar root en MySQL para Linux/Windows


Estimados

Despues de haber "bajado" la cuenta de root en distros de linux como la cuenta de windows y otras cosas de seguridad; quiero traerles este nuevo tips que nos permitira cambiar la clave del super usuario "root" en MySQL para Linux.

La cuenta root se encuentra en la tabla "User" de la base de datos mysql en dicho SGBD (Sistema gestor de base de datos).

Les detallo el procedimiento para Linux: -------------------------------------------------------------------

Paso # 1: Detener el servicio mysql
# /etc/init.d/mysql stop

Paso # 2: Iniciar el servidor MySQL sin contraseña:
# mysqld_safe --skip-grant-tables


Paso # 3: Conectar al servidor mysql usando el cliente mysql: (IMPORTANTE: En una nueva shell)
# mysql -u root

Paso # 4: Configurar una nueva contraseña del servidor MySQL para el usuario root:
mysql> use mysql;
mysql> update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User='root';
mysql> flush privileges;
mysql> quit

Paso # 5: Detener el servidor MySQL:
# /etc/init.d/mysql stop

Paso # 6: Iniciar el servidor MySQL y verificar la contraseña:
# /etc/init.d/mysql start
# mysql -u root -p

Tener en cuenta que este procedimiento es para sistemas linux. Para el MySQL en Windows es el que sigue:

-------------------------------------------------------------------

1. Abrir el administrador de procesos de Windows (services.msc)

2. Detener el servicio de MySQL (click derecho — Detener)

3. Abrir una ventana de CMD, consola de Windows, o Pantalla de DOS (como le quieran llamar) y situarse en la carpeta donde esta instalado el MySQL (generalmente es en la carpeta BIN de la carpeta de instalacion) y desde la cual, generalmente se ejecuta MySQL en modo consola

4. Escribir la siguiente linea “mysqld-nt –skip-grant-tables” cuando hagan esto, la pantalla del CMD se vera como que esta haciendo nada o algo… ya saben como es Windows… la cosa es que esa ventana quedará “inutilizable” dejenla así y abran otra ventana de CMD. (Esto pasa en linux tambien).

5. En la nueva ventana del CMD ir de nuevo a la carpeta donde esta instalado MySQL y acceder como root (si, ya se que perdieron la contraseña…) solo escriban “mysql -u root” y listo! accedemos sin contraseña… no se precipiten, aun no hemos terminado.

6. Seleccionamos la base de datos (use mysql) y después procedemos con la tecnica milenaria de crear a otro root, con la siguiente linea “INSERT INTO user VALUES (‘localhost’, ‘roottemporal’, ”,’Y', ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ”, ”, ”, ”, ’0′, ’0′, ’0′,’0′)” OJO: Deben ser 26 ‘Y’, 4 espacios en vacio”, y 4 Ceros ’0′… Con esto estamos creando, para el localhost, un usuario roottemporal, sin contraseña y con todos los permisos posibles.

7. Con el administrador de tareas de Windows bajamos el proceso mysqld-nt (que se esta ejecutando en la consola CMD que parece que no hace nada) y además cerramos amablemente la terminal MySQL donde estuvimos trabajando con un QUIT, si no se cierra bajenla con el administrador de tareas también.

8 Arrancamos de nuevo el servicio de MySQL con el administrador de servicios (services.msc)

9. Desde una ventana de CMD, Ingresamos a MySQL con el usuario roottemporal sin password

10. Seleccionamos la base de datos mysql (use mysql)

11. Ejecutamos la instrucción ” UPDATE user SET Password=PASSWORD(‘la_nueva_contraseña’) WHERE User=’root’ ” (importante respetar las mayusculas de las palabras…)

12. Ejecutamos ” flush privileges ” (si no hacen esto será como no haber hecho nada…)

13. Sonrian y relajense, en este punto ya hemos reiniciado la contraseña del root, asi que pueden salir de la consola, y acceder con el MySQL Administrator y gestionar lo demás en modo gráfico, o bien salir de la consola y entrar de nuevo con el usuario root y la contraseña que acaban de crear… en ambos casos es importante eliminar al usuario roottemporal, pues tiene calidad de root y además no tiene contraseña… esto lo pueden desde la consola con la instrucción: “delete from user where user=’roottemporal’;” y después la instrucción “flush privileges;” o desde el modo gráfico del Administrator, vayan a User Administration, click derecho en el usuario roottemporal y delete user.

_________________________________________________________________

Estos dos procedimientos los he probado y funcionan perfectamente en los dos tipos de OS. Espero haber cooperado a la falta de seguridad en los sistemas informaticos.

Atte.

Miguel Angel Peñate

jueves, 24 de junio de 2010

Controla los equipos de tu red sin importar tu Sistema Operativo

Muy bueno y no llega solo a eso, es GNU y clustershh. Quieren mas...pues incluye lenguaje en español.

Gestionar una red compuesta por equipos con diferentes sistemas operativos puede ser una pesadilla para cualquier administrador de red. Sin embargo, no todo está perdido y gracias a KontrolPack podemos hacernos con el control de este tipo de redes heterogéneas sin apenas esfuerzo.

KontrolPack es una de esas herramientas que una vez que se descubre no se puede dejar de usar. Se trata de un programa para controlar los equipos de una red sin importar el sistema operativo que usen ya que es multiplataforma.

Está basado en una arquitectura cliente/servidor. Por lo que un equipo hará de servidor y a él se conectarán los clientes. Lo mejor de KontrolPack es la flexibilidad que nos ofrece porque no importa si tenemos GNU/Linux, Windows o Mac OS X en los clientes o en el servidor, al ser multiplataforma se ejecutará sin problemas en cualquiera de los tres sistemas.

Por si esto no fuera suficiente también nos sorprende con la posibilidad de ejecutar un comando en todos los clientes conectados, algo así como clusterssh pero más fácil de usar. La visualización de capturas de pantalla de los escritorios remotos y el poder compartir los archivos entre el servidor y los clientes completan la lista de principales características con la que se presenta esta herramienta de administración de redes.

Por lo tanto, gracias a sus características su implantación es muy útil en cualquier ambiente en el que exista una red local con varios sistemas operativos en sus equipos. Hoy en día esto es más común de lo que podríamos pensar pero por poner unos ejemplos podríamos nombrar a los institutos y colegios, empresas de desarrollo de software y diseño gráfico e incluso en entornos domésticos.


Les dejo mas link para detalle de instalacion en los distintos sistemas operativos.


Atte.

Miguel Angel Peñate