Linux

VPN IPSEC con Linux usando OpenSwan

VPN IPSEC
En una ocasión surgió la necesidad de implementar una VPN, con primero que se me vino a la mente es OpenVPN sin embargo este necesidad estaba basada en IPSEC, para lo cual decidí googlear un poco y llegue hasta OpenSwan. La conexión que necesitabamos hacer era contra un equipo CISCO (Check Point R77.30), pero bueno no tenia de otra que probar, para saber si la opción de hacerlo con software libre era factible.
Como suele pasar, la contraparte que utilizaba CISCO es quien estableció los parámetros de conexión, a lo cual tendría que someter mi conexión:
 
Fase 1
  • Encryption Scheme defined: IKEv1
  • Encryption Algorithm IKE: 3DES
  • Hashing Algorithm IKE: SHA-1
  • Support Diffie-Hellman groups for IKE SA: Group 2
  • Support Diffie-Hellman groups for IKE SA: 1440 min
Fase 2
  • Encryption Schemes defined: IPSEC
  • Encryption Algorithm: 3DES
  • Hashing Algorithm IPSEC: SHA-1
  • Hashing Algorithm IPSEC: none
  • Aggressive Mode Support: none
  • Renegotiate IPSEC SA every: 3600 s
  • Use Perfect Forward Secrecy: No PFS

Instalando paquetes y preparando el ambiente

Lo primero que hizo es instalar el OpenSwan para lo cual en mi distribución debian 7, se lo hace de la siguiente manera:
apt-get install openswan
Desactivamos los redirecciones VPN, cualquiera usando estos comandos:
 
for vpn in /proc/sys/net/ipv4/conf/*;
do echo 0 > $vpn/accept_redirects;
echo 0 > $vpn/send_redirects;
done
 
Luego, modificamos los parámetros del kernel para permitir el forwardeo de IP y desactivar redireccionamientos de forma permanente.
 
# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
Recargamos /etc/sysctl.conf:
sysctl -p
Permitimos puertos necesarios en nuestro firewalll
Por favor asegurate no entran en conflicto con otras ya existentes en tu firewall.
 
iptables -A INPUT -p udp --dport 500 -j ACCEPT
iptables -A INPUT -p tcp --dport 4500 -j ACCEPT
iptables -A INPUT -p udp --dport 4500 -j ACCEPT
Finalmente, creamos reglas para NAT en nuestro firewall
iptables -t nat -A POSTROUTING -s site-A-private-subnet -d site-B-private-subnet -j SNAT --to site-A-Public-IP
Por favor asegurarse que estas reglas son permanentes en nuestro firewall.

Preparando archivos de configuración

Una vez instalado el paquete procedemos a realizar las configuraciones dentro del archivo /etc/ipsec.conf
Nos vamos a central puntualmente en la parte de la creación de las conexiones.
 
conn myvpn
        authby=secret
        auto=start
        ## -------------------- phase 1 --------------------------- ##
        ike=3des-sha1
        keyexchange=ike
        ikelifetime=1800s
        ikev2=no
        ##--------------------- phase 2 --------------------------- ##
        phase2=esp
        #phase2alg=3des-md5
        phase2alg=3des-sha1
        compress=no
        #pfs=yes
        pfs=no
        type=tunnel
        keylife=3600s
        left=190.219.19.230
        leftid=190.219.19.230
        leftsourceip=190.219.19.230
        leftsubnet=192.168.1.14/32 # Conectando solo un host
        leftnexthop=%defaultroute
        right=210.16.96.2
        rightid=210.16.96.2
        rightsubnet=210.16.96.2/32
Posteriormente modificamos el archivo /etc/ipsec.secrets aquí introducimos una clave que la compartiremos con nuestra contraparte
190.219.19.230 172.2526.1: PSK "MiClaveSecreta"
Finalmente reniciamos el servicio /etc/init.d/ipsec restart para que se ejecute nuestra configuración realizada a los archivos ipsec.conf y ipsec.secrets
Al hacer esto debemos recibir un mensaje que nos dice que nuestra conexión está arriba.
 
Setear el archivo ipsec.secrets con el PSK y las direcciones de cada extremo, en algunos casos el problema al establecer la phase2 es que el ip del lado derecho en el archivo ipsec.secrets es diferente, esto se lo puede verificar revisando el archivo /var/log/pluto.log

Comandos Utiles

  • ipsec auto --status
  • ipsec verify
 
Para activar el nat-t se debe habilitar en el archivo de configuración ipsec.conf la variable trasnversal-nat = yes
 
Cabe indicar que al levantar el tunel deben comprobarse con service ipsec status donde nos mostrará que el tunel esta UP
También podemos comprobar que se ha superado las dos fases, a través del comando ipsec auto --status
donde poderemos visualizar dos líneas específicas
#2: "myvpn":500 STATE_QUICK_I2 (sent QI2, IPsec SA established); EVENT_SA_REPLACE in 2355s; newest IPSEC; eroute owner; isakmp#1; idle; import:admin initiate
000 #1: "myvpn":500 STATE_MAIN_I4 (ISAKMP SA established); none in -1s; newest ISAKMP; nodpd; idle; import:admin initiate
 
Espero les sirva esta pequeña contribución para sus necesidades en VPN
 
Secciones: 

Configurar Skype 4.3 en Linux Debian

Virtualdevice

Es muy frecuente estos dias que usuarios linux y especialmente debianitas están teniendo problemas con el sonido en la aplicación Skype, esto gracias a que nuestro amigo Microsoft dejó de dar soporte para ALSA, lo que provoca que al intentar configurar el sonido nos muestra Virtual Device dentro de las opciones de audio y microfono, luego de buscar varias veces en foros y demás encontré una solución para mi Debian Jessie, que al menos en mi caso funcionó.

 

Solución

Se resuelve cargando el paquete pavcontrol y la librería pulseaudio para arquitectura 386, con esto nos aparecerá al configurar nuestro sonido la opción de “Pulse Audio Server Local”
apt-get install pavcontrol libpulse0:i386

Configuracion de Sonido

Configuración de su perfil

Una vez realizados los pasos anteriores debemos escoger el medio de entrada y salida, para lo cual vamos a la opción de control de volumen de skype que se encuentra en la configuración de sonido del propio skype.
Vamos a la pestaña de “Configuración” y en mi caso particular, escogí un dispositivo de sonido que solo me permitía escuchar el audio pero la entrada a través del micrófono, no funcionaba.
Al tener este inconveniente me tocó probar uno por uno y pase de:
Analog Stereo Audio => Analog soundround 5.1 Output + Analog Stereo Input

Finalmente con eso se soluciono y Skype estuvo de vuelta desde mi Debian Jessie.

Espero les sirva esta pequeña guia.
 

Secciones: 
Tags: 

Elimine por error mi directorio ETC en debian

PLOP

Poco tiempo atrás hice una de las tonterias mas grandes con el comando rm -Rf ya que la tecla de tabulador me jugó una mala pasada, y como es costumbre digite con rapidez y presione el enter, para resumirlo borre apenas mi directorio /etc de mi computadora personal, imagino lo que piensan y su reacción, justamente esa misma fue la mía “que chuc… hice !!! “.
“Piensa rápido” me decía una y otra vez, mi primera opción fue googlear para buscar la forma de recuperar mi informacion, pero oops… malas noticias no encontré ninguna.
Mi segunda opción fue copiar el directorio etc de otra maquina con configuraciones parecidas a las mías, y luego realizar una actualización de paquetes para sobreescribiera la configuración.
Luego de hacer efectiva mi segunda opción, era el momento de la verdad, reiniciar el equipo para ver si funciona o no, como era de esperarse no funciono, se los explicare porque:

  • Mi instalación cuenta con diferentes particiones para cada directorio como home, usr, var, opt, backup y como era de esperarse estos tenían otro UUID, lo que provoca que no reconozca mis particiones al intentar ser montadas (fstab)
  • Mi archivo /etc/fstab tiene otros UIDs debido a que lo copie de otra maquina

Soluciones

Una de las soluciones óptima hubiese sido reescribir mi archivo fstab antes de reiniciarlo al equipo (esto de haberlo sabido), sin embargo tome la otra ruta en mi “nerviosismo y escalofrío”

Tiempo de hablar de las soluciones para revivir mi equipo, luego del escalofriante sensación de haber “cagado” mi sistema.

  • Primero monté mi partición usr para poder hacer uso del editor vi
  • Con cada partición ejecute el comando tune2fs -l /dev/sda7 | grep UUID > uuid.txt
  • Con el comando anterior lo que estoy haciendo es filtrar la salida y enviarla a un archivo de texto para luego poder copiarla.
  • Una vez hecho esto en cada una de las particiones solo tenía que sustituir mis UUID que había obtenido en el archivo /etc/fstab y reiniciar nuevamente el sistema
  • Para la partición swap no funciona igual, para esto debes primero desactivarla a través del comando swapoff -a, obtener el UUID con el comando anterior y volver a encender el swapon -a

Finalmente estaba en pie mi sistema nuevamente, únicamente tenía que volver a crear mis host virtuales nuevamente.

gnome-screensaver no desbloquea

Otro de los percances que se me presentaron luego de revivir mi sistema, fue que una vez que se activa el protector de pantalla gnome-screensaver este no me reconocia mi clave (password) la solución empírica era cambiar de usuario en la misma ventana de autenticación, pero no era tan cómodo hacer eso cada vez.
Revisando un poco los logs, específicamente el /var/log/auth.log al intentar desbloquear el protector de pantalla recibe un error del tipo:

unix_chkpwd[7648]: password check failed for user (drw)

Revisando un poco en Internet me di cuenta que al copiar mi /etc los permisos del archivo /etc/passwd eran root.root cuando deberían ser root.shadow, entonces procedi a realizar este cambio a través del comando

chown root.shadow /etc/shadow

Y finalmente volvió a funcionar mi clave en el protector de pantalla gnome-screensaver

Moraleja: No te digites tan rápido en comandos que es obligatorio hacer una verificación (rm -Rf).

Espero este post basado en una experiencia les sirva.

Cualquier comentario o sugerencia es siempre bienvenido.

Secciones: 
Tags: 

Traducir plugins para Squirrelmail

Logo de squirrelmailHace algún tiempo me encontraba implementando una solución de Webmail con software libre, para lo cual me encontré con squirrelmail, un software muy práctico al momento de satisfacer mi necesidad en ese momento.
Instale varios plugins para proporcionar a los usuarios mayor funcionalidad y usabilidad, sin embargo tenía serios problemas con el idioma de algunos de los plugins cargados, mucho más cuando mis usuarios son un tanto apáticos al idioma Inglés.

Es así que decidí buscar cómo generar archivos de traducción para los plugins, y no tener que realizar traducción embebida dentro de cada plugin, es decir que funcione solo para idioma español, una solución no ortodoxa.

Bueno basta de palabrería y empecemos con este tutorial de como traducir los plugins para squirrelmail, cabe recalcar que trabajo bajo la distribución Debian,quizas en otras distribuciones varia la ubicación de los archivos a los cuales me refiero, ademas ya tengo precargado el paquete gettext.

Lo que veremos esta enmarcado dentro del contexto de:

  • Obtener o crear un archivo PO
  • Traducir las cadenas o textos al español
  • Convertir el archivo PO a MO
  • Cargar la traducción para que la lea squirrelmail

Existen casos en que existen archivos del tipo POT, el cual podemos renombrarlo a PO y modificar una linea que explicaré mas adelante en una NOTA, sin en caso no disponemos de este tipo de archivo que lo acabo de mencionar procedemos a realizar la siguiente acción.

Lo primero que debemos hacer es ir hacia el directorio del plugin, dentro de este realizaremos la siguiente operación para obtener todas las cadenas de los archivos PHP

xgettext --keyword=_ -d <plugin_name> -s -C *.php

Ejm:

xgettext --keyword=_ -d miplugin -s -C *.php

Realizada la operación anterior obtendremos un archivo PO con todas las cadenas que se necesita traducir para el lenguaje que se necesite.

#: functions.php:94
msgid "(set to zero to turn off)"
msgstr "(Setear a cero para apagar)"

Como podemos observar la variable msgid es el lenguaje original seteado dentro de los archivos PHP, con la variable msgstr es lo que nosotros necesitamos traducir, como se puede ver en el código anterior.

Realizado este paso necesitas transformar este archivo PO a MO, para lo cual se debe realizar el siguiente comando:

msgfmt -o <nombre de tu plugin>.mo <nombre de tu plugin>.po

Ejm.

msgfmt -o miplugin.mo miplugin.po

NOTA: Una vez realizado este procedimiento necesitas cambiar dentro de este archivo la codificación para tu idioma, lo que se refiere a CHARSET, en mi caso utilizo el iso-8859-1, en caso de que no lo hagas recibirás un mensaje de error al intentar transformarlo a la extensión MO.

“El conjunto de caracteres "CHARSET" no es un nombre de codificación portátil.
La conversión de mensajes al conjunto de caracteres del usuario podría no funcionar.”

Tenemos listo nuestro archivo de traducción, ahora lo que necesitamos es poder cargarlo dentro del lenguaje que necesitamos, es decir en espanol, para esto debes copiar este archivo MO a /usr/share/squirrelmail/locale/es_ES/LC_MESSAGES

Refrescar nuevamente tu página de squirrelmail y podrás ver que ya cuentan con traducción a español.

Espero les sirva este pequeño pero práctico tutorial.

No olvides compartirlo a través de nuestros enlaces de redes sociales.

Saludos.
 

Secciones: 

ATI Radeon en Debian Wheezy

AMD CatalystHace unos dias atras que habia actualizado Debian de squeeze a wheezy, tal parece que todo funcionaba bien en mi gnome, hasta desapareció la marca de agua que antes tenía en squeeze para el vídeo ATI, pero al momento de intentar ejecutar aplicaciones como knotes o audacity note que algo no andaba bien con la configuracion de video, no podía abrir algunas aplicaciones porque se me quedaba pegada(colgada) la aplicación y tenia que reiniciar, algunas veces solo me sacaba de la sesión y tenía que iniciar nuevamente, el problema parecía que era generado por el acelerador 3D.
Entonces procedí a monitorear el syslog desde un equipo remoto a través de ssh para saber en donde se quedaba colgado y que tipo de registro tenía en el log.
Detecte que el problema era con el fglrx es decir el driver.
Siguiendo algunas pautas que encontre aqui en

http://wiki.debian.org/ATIProprietary#Debian_7_.22Wheezy.22

en este enlace me proporciona detalles de como cargar el driver para mi ATI RADEON HD 6450.
Debía asegurarme de que el driver funcionaba, el comando para hacer esto es fglrxinfo, que deberá arrojar algunos datos, como los siguientes:

display: :0.0  screen: 0
OpenGL vendor string: Advanced Micro Devices, Inc.
OpenGL renderer string: AMD Radeon HD 6450
OpenGL version string: 4.2.11762 Compatibility Profile Context

Si no dispones del comando en tu Linux, entonces debes instalar antes el siguiente mesa-utils
Una vez que sabes que el driver funciona a la perfección puedes seguir la siguiente guia
http://wiki.cchtml.com/index.php/Verifying
Es necesario renombrar el archivo xorg.conf que esta en /etc/X11, una vez hecho esto procedes a generar nuevamente un archivo de configuración, ejecutando el comando
aticonfig --initial
Una vez generado el nuevo xorg.conf puedes reiniciar el servidor X y ya tendrás funcionando la nueva configuración sin problemas.
/etc/init.d/gdm restart

 

Espero que les sirva esta pequeña guia.

Todos los comentarios y sugerencias son bienvenidos.

Saludos.

Secciones: 

Debian 7.0 wheezy liberado como estable

El 5 de mayo se liberó oficialmente la nueva distribución de Debian con nombre clave Wheezy (El pingüino de Toy Story), ahora la distribución testing es Jessie (La vaquerita).
Siempre he querido escribir un post acerca de mi distribución favorita de Linux y aprovecho esta oportunidad de la liberación de la nueva versión estable de Debian con nombre clave Wheezy para hacerlo.

Historia

Para todos aquellos como yo que quieren saber un poco acerca de la historia de Debian y los diferentes nombres clave tomados de la pelicula TOY STORY, les dejo este enlace http://www.debian.org/doc/manuals/project-history/ch-releases.es.html
La historia cuenta que los nombres de la película Toy Story han sido tomados a partir de 17 de junio de 1996 Debian 1.1 llamada Buzz, debido a que Bruce Parens tomó la dirección del proyecto desde Ian Murdock, Bruce ese ese tiempo trabajaba en Pixar (La compañía que produce la película).
Tabla de liberación de versiones y nombres clave

Evolución de las versiones liberadas
# Nombre Fecha Version  Paquetes
1 Buzz 17 de Junio de 1996 Debian 1.1 474
2 Rex 12 de diciembre de 1996 1.2 848
3 Bo 5 de junio de 1997 1.3 974
4 Hamm 24 de julio de 1998 2.0 1.500
5 Slink 9 de marzo de 1999 2.1 2.250
6 Potato 15 de agosto de 2000 2.2 3.900
7 Woody 19 de julio de 2002 3.0 8.500
8 Sarge 6 de junio de 2005 3.1 9.000
9 Etch 8 de abril de 2007 4.0 18.200
10 Lenny 14 de febrero de 2009 5.0 23.200
11 Squeeze 6 de febrero de 2011 6.0 29.050
12 Wheezy 5 de mayo de 2013 7.0 36.000

Novedades en 7.0

Una de las principales novedades de debian 7.0 es el soporte multiarquitectura que permitirá instalar paquetes para múltiples arquitecturas en la misma máquina, es decir por primera vez se puede instalar paquetes de 32 y 64 bits en el mismo sistema operativo.
Otras novedades son las siguientes:

  • Herramientas para desplegar infraestructura de nube privada “Cloud”
  • Un instalador mejorado
  • Completo conjunto de codecs y reproductores multimedia que eliminan la necesidad de utilizar repositorios de terceros.
  • Actualización de paquetes

¿Quieres probarlo ?

Desde ahora puede bajar las imagenes que estan disponibles en CD y DVD para proceder a instalar esta nueva versión que esta simplemente fabulosa, pero si en caso decide que antes de instalarlo en su máquina es necesario probarlo, puede hacerlo a través de una versión “en vivo” disponibles para CD, USB y arranques por red. Esta versión “en vivo” inicialmente está disponible para i386 y amd64.

Espero esta pequeña reseña sobre Debian les sirva.

Saludos.

 

Secciones: 
Tags: 

El encuentro de software libre en Loja

Foto del EncuentroEl II Encuentro Nacional y I Binacional de Software Libre, para la recién conformada comunidad de Software Libre de Loja, fue un desafío en el cual se presentaron muchas dudas e inquietudes, acerca de poder llevar adelante un evento de estos, cuando la experiencia adquirida era muy poca o quizá nula, sin embargo es necesario empezar en algún momento de la vida, fue el pensamiento de todo el equipo.

Discusiones, conclusiones iban y venían durante varios días, el trastocar todo lo proyectado desde el inicio, debido a que el tiempo transcurre y se pasa volando, tener una fecha inicial para el evento y con muchos inciertos, como la nula participación de empresas ecuatorianas con gran trayectoria en el Software Libre como auspiciantes, derivo en la necesidad de postergar el evento dos meses más.

El miércoles 25 de enero y previa del evento, el equipo de LOXALIBRE tuvo que ajustar y afinar detalles hasta avanzadas horas de la noche y primeras del siguiente día, todo con el propósito y compromiso de llevar a cabo un evento de calidad.

El evento

Transcurridos los primeros minutos de las 9 de la mañana, empezaron a inscribirse estudiantes y profesionales de nuestra ciudad así como delegaciones de diferentes partes del país como Zamora, Ambato, Quito, Guayaquil, Machala, Latacunga, también como ciudades del vecino país del Perú como Chiclayo, Lima entre otros.

La ceremonia de inauguración y la disponibilidad de toda la infraestructura tecnológica de la Universidad Técnica Particular de Loja fue un gran puntal de apoyo, para llevar adelante el evento, las señoritas de protocolo coordinando y asistiendo en la ceremonia de inauguración, en la cual se contó con la intervención por parte del Ing. Nelson Piedra, Director de la escuela de Ciencias de la computación de la UTPL, Ing. Milton Labanda representante de LOXALIBRE, Ing. Rafael BonÍfaz impulsor del primer Encuentro Nacional de Software Libre realizado en Latacunga y el Ing. Darwin Betancourt también representante de LOXALIBRE, se dirigieron al público asistente haciendo alusión a la importancia de integrarse, llevar a cabo eventos de esta categoría, antecedentes del evento y logística del mismo respectivamente, dio el inicio oficial al encuentro.

Las conferencias, talleres y foros se llevaron a cabo con un éxito increíble en su calidad, participación y asistencia, la colaboración por parte de la UTPL se dejaba evidenciar en cada necesidad y percances del evento.

El coordinar alojamiento, alimentación y transporte fue algo que sin duda generaba preocupación por parte del equipo de LOXALIBRE quienes lo supieron afrontar con total responsabilidad, sin dejar de lado ningún detalle. Al finalizar el evento fue una gran satisfacción para el equipo de organizadores saber que todos los asistentes y conferencistas estaban complacidos con la organización y las conferencias realizadas, a quienes se les hizo un reconocimiento especial a través de certificados en calidad de asistentes y expositores en la clausura del evento.

Agradecimientos

Antes de concluir este articulo es importante destacar la participación y colaboración del equipo, como Rommel Gutierrez, Marlon Maldonado, Diego Saaveda y el Ing. Jorge Guerron sin quienes no hubiese sido posible el éxito del mismo, también a auspiciantes como el Banco de Loja, Microsoft OpenSource, 2dnQuadrant, MasterPc, Electrocompu, Toners, además la Embajada de Perú quien se hizo presente con un cocktail de Pisco, así como la colaboración de DRW Soluciones en la implementación y puesta en marcha del Sitio Oficial del Evento.

Secciones: 

Bloquear Ultrasurf en proxy transparente

AdjuntoTamaño
Icono de texto plano Bloqueando con IPTABLES2.65 KB

Programa UltrasurfEs verdad que la libertad a la información debe ser un derecho de todos, sin embargo tambien cumplir el trabajo encargado en el área donde uno labora es un deber. Sabemos que hay derechos y deberes, a pesar de esto hay personas que ignoran esta realidad y durante el espacio para hacer su "trabajo" se dedican a utilizar recursos para "perder el tiempo".
Muchos de nosotros hemos utilizado el Proxy Squid en el sistema operativo GNU/Linux y sabemos que se puede bloquear el acceso a diferentes sitios web a través de la creación de ACLs y dar privilegios a unos usuarios mas que a otros, sin embargo no podemos analizar las conexiones seguras debido a su naturaleza.
Cabe indicar que está publicación esta basada en la distribución Linux Debian Squeeze y Squid 2.6.

Problema

Hoy en día existen programas como el Ultrasurf que le permite a un usuario pasar por alto los controles establecidos desde una ACL en el PROXY, esto lo realiza este programa utilizando la conexión del puerto 443 (HTTPS) lo que se refiere a las conexiones seguras, con esto este programa garantiza que no se analizará el tráfico que circula por el proxy y se podrá conectar a servidores proxy anónimos en Internet y navegar con toda libertad, muchos pensarán que seria mejor bloquear las direcciones de esos servidores anónimos pero creanme es muy larga la lista.
Lo podemos observar de la siguiente manera:
tcpdump -i eth0 host 192.168.1.10 and port 443
Antes de proseguir es necesario especificar que debemos instalar el paquete tcpdump. La interface eth0 se refiere a la conexion de intranet que da el servicio de Internet a nuestros usuarios.

Solución

Quiza para algunos la solución que voy a sugerir no es una de las mejores sin embargo funciona a la perfección, la solución pasa por deshabilitar el puerto 443 a traves de IPTABLES con el siguiente comando
iptables -A FORWARD -p tcp --dport 443 -j DROP

Con la regla antes mencionada evitamos que se realice cualquier conexión segura, sin embargo existen sitios en donde si queremos que se pueda accesar, sitios de instituciones de gobierno y bancos.
para esto podemos habilitar antes de la regla antes mencionada los IPs que tendrán acceso al cualquier sitio seguro, esto lo podemos hacer con la siguiente regla:
iptables -A FORWARD -s 192.168.1.10 -p tcp --dport 443 -j ACCEPT

Pero talvez se nos presenta otro problema el tener que ingresar muchas direcciones para que tengan acceso a sitios seguros, entonces para esto habilitamos los sitios que necesitan los usuarios en general y que son de competencia de su trabajo, esto lo hacemos de la siguiente manera:
iptables -A FORWARD -s www.iess.gob.ec -p tcp --dport 443 -j ACCEPT

Muchos diran que quieren habilitar servicios para los correos electrónicos como gmail, hotmail y yahoo y que estos disponen de muchas direcciones y es tedioso tener que ingresar todas, para esto podemos habilitar un rango de direcciones utilizando lo siguiente:
iptables -A FORWARD -p tcp -m iprange --dst-range 74.17.204.1-74.17.204.200 --dport 443 -j ACCEPT

Es decir identificamos las IPs que utiliza el gmail y habilitamos su rango con esto garantizamos el acceso al servicio y en una sola linea.

Identificando IPs a habilitar

La forma en como podemos identificar las IPs que esta accesando el usuario y son necesarias se lo puede hacer de la siguiente manera:
tcpdump -i eth0 host 192.168.1.10 and port 443

y obtendremos algo como lo siguiente:

09:01:44.090970 IP 192.168.1.123.47708 > by132oim.mail.services.live.com.https: S 2047155850:2047155850(0) win 5840 09:01:50.091610 IP 192.168.1.123.47708 > by132oim.mail.services.live.com.https: S 2047155850:2047155850(0) win 5840 09:02:02.094537 IP 192.168.1.123.47710 > by132oim.mail.services.live.com.https: S 2369713159:2369713159(0) win 5840 09:02:05.093104 IP 192.168.1.123.47710 > by132oim.mail.services.live.com.https: S 2369713159:2369713159(0) win 5840 09:02:11.093700 IP 192.168.1.123.47710 > by132oim.mail.services.live.com.https: S 2369713159:2369713159(0) win 5840 09:02:23.096878 IP 192.168.1.123.47711 > by132oim.mail.services.live.com.https: S 2698426699:2698426699(0) win 5840 09:02:26.095191 IP 192.168.1.123.47711 > by132oim.mail.services.live.com.https: S 2698426699:2698426699(0) win 5840

Luego que nos obtenemos el dominio como en algunos casos el gmail procedemos a copiar esa linea y hacemos lo siguiente:
host by132oim.mail.services.live.com

Espero esta publicación sirva para aliviar el dolor de cabeza de mas de un administrador, cualquier sugerencia o comentario es bienvenida.

PD: Al final voy a adjuntar un archivo con reglas de iptables para habilitar gmail, hotmail, yahoo.

Secciones: 

Flisol Loja 2011

Logo de Flisol Loja
El Festival Latioamericano de Software Libre (FLISOL) el evento de difusión de software más grande en latinoamerica que viene desarrolladose desde el 2005 reuné a entusiastas del Software Libre en cada país y ciudad mostrando las prestaciones que tiene esta tecnología.
Este 2011 nuestra ciudad Loja como en todos los años anteriores no ha dejado pasar de lado este gran evento y nos hemos organizado con el apoyo de diferentes instituciones para fortalecer la difusión del Software libre a distintos niveles: Personal, Empresarial, Académico.
Muchas empresas se han sumado para mostrar sus productos en calidad de auspiciantes del evento entre ellas nuestra empresa, porque conocen la trascendencia que tiene el mismo, hace algún tiempo conversaba con un entusiasta del software libre y la aceptación que ha tenido en nuestra sociedad, recalcado y recordando cuando hablamos de FUTURO, pero ahora ese futuro llegó porque hoy en día se ve empresas que han evolucionado en la utilización y  conciencia de las prestaciones y utilidades de este tipo de Software.

Este año hemos querido hacer algo diferente, esto con la idea de dejar un precedente para futuras generaciones además de ser referencia para quienes aún estan indecisos en este cambio de pensamiento y de software.
Una institución tan prestigiosa como es el Colegio Militar "Lauro Guerrero" nos ha dado la acogida necesaria para impulsar la implementación de Software Libre en su malla curricular y es así que este Sábado 9 de abril estaremos instalando Software Libre en estos equipos, tambien haciendo uso de estudiantes motivados de la Universidad Ténica Particular de Loja y la Universidad Nacional de Loja se ha preparado una exposición del funcionamiento de los programas que serán cargados en los equipos.
El Municipio de Loja ratificando su apoyo al uso de Software Libre este año una vez más ha facilitado las instalaciones del Hall de la institución para el desarrollo del mismo, cabe indicar que como todos quienes estamos involucrados en el ambiente del software libre sabemos del decreto 1014, en el cual se especifica que todas las intituciones públicas deben implementar el uso de Software Libre para sus actividades.

Este evento esta dirigido a todo tipo de público en especial estudiantes y empresarios quienes tienen preguntas e inquietudes con respecto al funcionamiento y prestaciones de este tipo de Software asi como tambien podrán realizar contactos profesionales con empresas en nuestra ciudad que brindan asesoría e implementación de servicios haciendo uso del Software Libre.
La planificación y la organización del evento nos ha costado la inversión de tiempo en ir de un lugar a otro, consiguiendo auspicios para hacer un evento de calidad, asi como tambien realizando un estudio de como poder llegar a la mayor cantidad de personas en nuestra ciudad para lo cual hemos realizado diferentes estrategias como:

  • Publicar cupones en el diario "La Hora" el día domingo 3 de abril para que se reclame un CD con software libre
  • Difusión del evento a través de afiches, entrevistas en medios de comunicación
  • Estableciendo areas de difusión del conocimiento en (Básico, Intermedio y Avanzado)
  • Sorteo de suscripciones para la revista "Linux magazine"
  • Sorteo de Latinux para obtener certificaciones Linux

Instalación

Fecha: 9 de Abril de 2011
Lugar: Hall del Ilustre Municipio de Loja (calles Bolivar y José antonio Eguiguren)
Costo: Entrada Libre

Si eres un usuario twitter por favor utiliza el hashtag: #flisol_loja.

Un evento imposible de perderselo, entonces asiste, comparte, disfruta de este gran evento.

Secciones: 

Migrar y respaldar LDAP

AdjuntoTamaño
Icono de texto plano Script para restaurar LDAP1.03 KB

Servicio LDAP
Una buena política de mantenimiento de sistemas en producción, ha sido siempre el mantener una copia de respaldo de nuestros datos y archivos de configuración, en caso de que nuestro servidor sufra algún tipo de problema o inconveniente, tomando este antecedente a través de este post voy a explicar como respaldar nuestros archivos de configuración y datos de LDAP en un servidor montado con Linux Debian.

Respaldo o Backup

Para esta tarea vamos a hacer uso de una copia del archivo slapd.conf que se encuentra bajo el directorio /etc/ldap/ y tambien del comando slapcat, que nos sirve para respaldar los datos de LDAP.
Es necesario mencionar que existen 2 tipos de respaldo de nuestros datos, en FRIO y en CALIENTE, que significa esto que mientras el servicio LDAP este funcionando o corriendo estamos generando un respaldo de nuestros datos en CALIENTE, se recomienda hacer un respaldo en FRIO que significa detener el servicio esto lo hacemos para garantizar la integridad de los datos, para detener el servicio lo podemos hacer con el comando:

/etc/init.d/slapd stop

Ahora vamos a generar un archivo ldif con nuestros datos de la siguiente manera:

slapcat -v -l respaldo-03-10-2010.ldif -f /etc/ldap/slapd.conf

Restaurar o Recuperar datos

Para realizar la restauración de nuestros datos procedemos a realizar las siguientes operaciones:
El  primer paso es detener el servicio LDAP luego copiar nuestro archivo de configuración slapd.conf en el directorio /etc/ldap/ y cambiarle el grupo que debera ser openldap, esto lo podemos hacer mediante el comando.

 chown root.openldap /etc/ldap/slapd.conf

Ahora vamos a proceder a borrar todos los archivos que estan bajo el directorio /var/lib/ldap/ que son los indices y las bases de datos de nuestro servicio, esto lo podemos hacer mediante el uso de rm como se muestra a continuacion:

rm /var/lib/ldap/*

Una vez realizada esta operación procedemos a restaurar desde nuestro archivo de respaldo-03-09-2010.ldif con el comando slapcat como lo veremos en el siguiente ejemplo.

slapadd -v -c -l /dictorio-del-respaldo/respaldo-03-09-2010.ldif -f /etc/ldap/slapd.conf

Realizada esta restauracion de los datos, procedemos a cambiar el propietario y el grupo de los datos que se generan nuevamente en el /var/lib/ldap/ con el siguiente comando:

chown openldap.openldap /var/lib/ldap/*

Luego que hemos cambiado estas propiedades generamos los indices para estas bases de datos con el comando:

slapindex -v

Y finalmente procedemos a iniciar el servicio con /etc/init.d/slapd start y listo tenemos nuestro restauracion integra.

Scritps de utilidad para LDAP

Dentro de nuestro directorio hay usuarios a los cuales queremos cambiarles alguna preferencia en su configuración o entrada en LDAP para lo cual requerimos de la programación de un script para automatizar esta tarea, yo lo he realizado con Perl y otro script bash que me presta algunas funcionalidades para hacer este requerimiento.

Nota: El uso de esta información es de exclusiva responsabilidad de quien la utiliza.

Secciones: