Archivo de la categoría: Internet
Hasta luego Ubuntu… Hola Unity3D
Me ha costado depegarme de mi Ubuntu, pero la curiosidad por usar Unity3D era tal, que pasó a convertirse casi en una necesidad vital. He dejado atrás (durante un tiempo) a mi querido Linux para regresar al nefasto Windows y probar este fabuloso sistema de creación de juegos en 3D.
Potente software con el que se han hecho juegos bastante buenos como Battlestar Galactica Online. Quiero meterme de lleno en el 3D, que desde la última vez que usé Entidad 3D, ha llovido mucho, demasiado diría yo.
Mucha más info en: http://unity3d.com/
Mundo Hacker TV, un programa interesante
El otro día, aburrido por elhacker.net encontré un tema de enero de este mismo año, que hablaba de un programa de TV llamado Mundo Hacker que pinta bastante bien. Para los que hemos escuchado a Antonio y a Jean Paul desde hace tiempo en la radio con el programa homónimo, no nos sorprende mucho ya que es igual pero viéndole el careto a los tertulianos; aunque sí es verdad que también es útil ver alguna de las demostraciones en directo.
El programa va por su cuarto episodio televisivo, aunque en radio llevan algunos más. Los podemos ver por aquí:
Squid en modo transparente
Hola a todos, fui un pelín mentiroso cuando dije que la práctica de Dansguardian iba a ser la última del curso. Esta sí que va a ser la última. Hoy vamos a ver cómo configurar Squid en modo transparente.
¿Modo transparente?
Normalmente, los proxys navegan a través del puerto 3128, y hay que configurar los clientes para que puedan acceder a internet a través del proxy. En cambio, en un proxy transparente, no es necesario configurar ningún cliente, todo se configura una única vez en la máquina en la que está instalado el proxy y los clientes no saben que navegan a través de este. Se redirige el tráfico del puerto 80 al 3128.
Empezando
Supongamos que tenemos una red local con tres equipos que deseamos conectar a internet, pero antes queremos que pasen por un proxy, ya sea para filtrar contenidos o para almacenar información en la caché. Para ello necesitamos una máquina con dos interfaces de red, una para nuestra red local y otra que nos conectará a Internet. Sabiendo esto, vamos a comenzar.
Configurando las interfaces de red
En primer lugar vamos a mostrar información referente a nuestras interfaces de red. En una consola tecleamos:
ifconfig
Como vemos en la imagen, poseemos dos interfaces de red, etc0 y eht1. eth0 será la interfaz que nos conectará con nuestra red local y eth1 nos conectará con el ruter que a su vez no conectará a Internet. Necesitamos configurar eth0 de forma estática, para ello abrimos un terminal y tecleamos:
sudo gedit /etc/network/interfaces
Y dejamos el archivo de la siguiente forma:
auto lo
iface lo inet loopback
auto eth1
iface eth1 inet dhcp
auto eth0
iface eth0 inet static
address 10.0.0.1
netmask 255.0.0.0
gateway 10.0.0.1
Bien, ya tenemos configurada eth1 como dinámica y eth0 como estática. Ahora reiniciamos el servicio de red, desde la terminal:
sudo /etc/init.d/networking restart
Instalando el servidor DHCP
Vamos ahora a instalar el servidor DHCP en nuestra máquina, desde un terminal escribimos:
sudo aptitude install dhcp3-server
Ya tenemos instalado nuestro servidor DHCP, ahora vamos a configurarlo, así que tenemos tecleamos lo siguiente en una consola:
sudo gedit /etc/dhcp3/dhcpd.conf
Una vez con el archivo abirto, borramos el contenido y lo dejamos aproximadamente así:
option domain-name "midominio.com";
option domain-name-servers 10.0.0.1;
option subnet-mask 255.0.0.0;
option netbios-name-servers 10.0.0.1;
option routers 10.0.0.1;
default-lease-time 600;
max-lease-time 7200;
subnet 10.0.0.0 netmask 255.0.0.0 {
range 10.0.0.2 10.0.0.100;
option domain-name-servers 10.0.0.1;
option subnet-mask 255.0.0.0;
option netbios-name-servers 10.0.0.1;
option routers 10.0.0.1;
host PC1 {
option host-name "PC1";
hardware ethernet 00:1E:24:6F:2B:5C;
fixed-address 10.0.0.11;
}
host PC2 {
option host-name "PC2";
hardware ethernet 00:1E:24:1C:53:DF;
fixed-address 10.0.0.12;
}
host PC3 {
option host-name "PC3";
hardware ethernet 00:1E:24:CC:1A:E2;
fixed-address 10.0.0.13;
}
}
Explicación del contenido: En el fichero anterior, debemos incluir un nombre de dominio si pertenecemos a uno, la dirección de la máquina donde está el servidor con su máscara y diversas opciones más como NetBios y los tiempos de asignación de direcciones.
En subnet, vamos a configurar cómo se asignarán las direcciones para esa red (que está controlada por eth0), aparte de indicarle la misma información que antes, le debemos de especificar el rango con el que queremos que trabaje. En mi caso he especificado del 1 al 100.
En host, definimos la dirección que se asignará a cada máquina de nuestra red, se especifica el nombre real, su dirección MAC y la dirección IP que se asociará a dicha MAC. Así hasta que completemos todos los equipos de los que dispondrá la red.
Ahora reiniciamos el servicio de DHCP con el siguiente comando:
sudo /etc/init.d/dhcp3-server restart
Creando las iptables
Vamos ahora a crear las llamadas iptables. Las iptables son un complemento del framework Netfilter, usadas para el filtro de tráfico en una red. Nosotros vamos a usarlas para redirigir el tráfico del puerto 80 al 3128, entre otras cosas.
Para crear nuestras iptables, debemos crear un archivo con ellas, para crear el archivo tecleamos el siguiente comando en un terminal:
sudo gedit /etc/init.d/proxy-rules.sh
Al nuestro archivo le añadimos lo siguiente:
echo "Aplicando las reglas para el direccionamiento, espere..." iptables -t nat -F iptables -t nat -X iptables -t nat -Z iptables -F iptables -X iptables -Z echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A PREROUTING -s 10.0.0.0/8 -p tcp --dport 80 -j REDIRECT --to-port 3128 iptables -t nat -A POSTROUTING -o eth1 -s 10.0.0.0/8 -j MASQUERADE
Nota: Yo he elegido el nombre de proxy-rules para el archivo, podéis elegir el que queráis, pero obviamente que sea de carácter descriptivo.
Explicación de las iptables: Las primeras reglas iptables eliminan cualquier iptable que se encuentre en ejecución en ese momento. La primera cadena de iptables, direcciona el tráfico de nuestra red desde el puerto 80 al puerto 3128. La segunda cadena de iptables, se encarga de enmascarar nuestra red para que pueda salir a Internet mediante la interfaz eth1.
Descargando, compilando y configurando Squid
Vamos ahora a descargar Squid desde su web oficial para después compilarlo. Las versiones disponibles las podemos ver en http://www.squid-cache.org/Versions/, sería ideal trabajar con la última versión estable de Squid, en este caso, la última versión estable es la 3.0. Antes de descargar Squid, nos vamos al directorio /usr/local/src, para ello tecleamos en la consola:
cd /usr/local/src
Una vez allí, volvemos a teclear en el terminal lo siguiente:
sudo wget http://www.squid-cache.org/Versions/v3/3.0/squid-3.0.STABLE24.tar.gz
Eso descargará la última versión de Squid al directorio en el que nos encontramos. Cuando ya tenemos descargado el paquete de Squid, tenemos que descomprimirlo, por lo que tecleamos en un terminal:
sudo tar xvzf squid-3.0.STABLE24.tar.gz
Muy bien, ya tenemos los archivos de Squid listos para compilar, para esto necesitaremos tener instalado un compilador de C/C++ en nuestra máquina, por lo que en un terminal tecleamos:
sudo aptitude install build-essential
Una vez instalado el compilador, y estando dentro de /usr/local/src, tecleamos en un terminal:
cd squid-3.0.STABLE24
Bien, ya estamos dentro de dicho directorio, ahora de nuevo en un terminal tecleamos lo siqguiente:
sudo ./configure --prefix=/usr/local/squid --enable-linux-netfilter --enable-follow-x-forwarded-for --enable-x-accelerator-vary
Cuando el proceso acabe (es posible que esté unos minutos) tecleamos esto ahora:
sudo make
Este proceso también tardará unos minutos posiblemente. Al finalizar este proceso, escibimos lo siguiente en la consola:
sudo make install
Ya tenemos Squid instalado en /usr/local/squid. Vamos ahora a crear el usuario y grupo squid. En un terminal tecleamos:
sudo useradd squid
Y después:
sudo groupadd squid
Nota: Es posible que al añadir el grupo nos diga que ya existe un grupo llamado squid, no pasa nada, nos saltamos este paso y sin problemas.
Ahora vamos a hacer al usuario squid dueño de los directorios de Squid. Para ello nos vamos a un terminal y tecleamos:
cd /usr/local/squid
Una vez estamos en este directorio, tecleamos lo siguiente:
sudo chown -R squid *
Y depués:
chgrp -R squid *
Con esto, el usuario squid ya es dueño de los directorios que maneja Squid. Vamos ahora a configurar nuestro Squid para permitir la conexión a nuestra red, nos vamos a un terminal y tecleamos:
sudo gedit /usr/local/squid/etc/squid.conf
Una vez tenemos el archivo, con Ctrl + F, buscamos la línea http_port, la borramos y la añadimos de esta forma:
http_port 10.0.0.1:3128 transparent
Ahora buscamos la línea cache_dir, y la dejamos de la siguiente manera:
cache_dir ufs /usr/local/squid/var/cache 1024 16 256
Volvemos a realizar otra búsqueda, esta vez de cache_effective_user, aquí añadimos dos líneas:
cache_effective_user squid cache_effective_group squid
Ahora vamos a añadir una ACL, nos vamos a la zona de las ACL, que está por la línea 600 más o menos, y allí añadimos:
acl nuestra_red src 10.0.0.0/24
Vamos ahora a añadir una regla http_access, nos vamos aproximadamente a la línea 645, y añadimos:
http_access allow nuestra_red
Ya queda poco por hacer, ahora vamos a crear los directorios para la caché de Squid, así que desde un terminal tecleamos:
sudo /usr/local/squid/sbin/squid -z
Ahora toca configurar rc.local para que arranque Squid y proxy-rules.sh al iniciar Ubuntu, esto es fácil, desde el terminal tecleamos:
sudo gedit /etc/rc.local
Una vez con el fichero abierto, añadimos lo siguiente:
sh /etc/init.d/proxy-rules.sh cd /usr/local/squid/sbin/ ./squid
Magnífico, ya sólo queda reiniciar nuestra máquina y comprobar que hay dos procesos de Squid ejecutándose en nuestro equipo. Una vez con la máquina reiniciada, volvemos a abrir un terminal y tecleamos:
sudo ps ax | grep squid
Si nos apareden los dos procesos de Squid significa que todo está correcto, ya tenemos nuestro proxy caché transparente instalado y configurado.
Instalación y configuración de Squid3
Hola a todos, hoy vamos a aprender a instalar y configurar Squid3 bajo Ubuntu. Squid3 es un programa con licencia GPL que implementa un servidor proxy y un demonio para web caché.
¿Servidor proxy?
Un servidor proxy es un programa informático o dispositivo con diversas funciones, entre las más habituales están:
- Permitir conectarse a internet a una serie de equipos a través de una sola IP.
- Filtrado de contenidos.
- En el caso de los proxy-caché como Squid, almacenan una caché de páginas webs para que el acceso a ellas sea mucho más rápido.
Instalación
Vamos a instalar Squid3 en nuestra máquina, lo podemos hacer mediante Synaptic o mediante una consola. Nosotros vamos a hacerlo mediante la consola. Abrimos una y tecleamos:
sudo aptitude install squid3
Una vez instalado, abrimos /etc/squid3/squid.conf para habilitar una directiva. En el terminal tecleamos:
sudo gedit /etc/squid3/squid.conf
Bien, ya tenemos el archivo de configuración abierto, ahora pulsamos Control + F y buscamos “visible_hostname localhost“, obviamente sin comillas.
Una vez nos hemos situado en dicha directiva, la comentamos un un # al principio de la línea, y debajo de dicha línea añadimos lo siguiente:
visible_hostname A2PC37
¿Por qué A2PC37?
En mi caso pongo A2PC37 porque es el nombre de mi máquina, en el vuestro debéis poner el nombre de vuestro equipo. Para saber cuál es el nombre de vuestra máquina, tecleamos en un terminal:
hostname
Bien, ya tenemos la antigua línea comentada y la nueva línea añadida. Debe de quedar más o menos así:
Una vez tenemos lo anterior realizado, vamos a arrancar el servicio, en un terminal tecleamos:
sudo /etc/init.d/squid3 start
Nota: Es posible que nos de un fallo al iniciar el servicio, esto se debe a que el servicio ya está en ejecución, por lo que debemos cambiar start por restart en el comando anterior.
Configuración
Llegamos a la parte más interesante, la parte de configurar Squid 3. Supongamos que queremos configurar Squid3 de la siguiente manera:
- Queremos 512 MB de caché en disco duro.
- Vamos a cambiar los directorios de nivel 1 y de nivel 2.
- Sólo vamos a permitir navegar de lunes a viernes de 16:40 a 22:50.
- Sólo se permitirá el acceso desde la red 172.16.0.0/255.255.0.0.
- Filtraremos el acceso a 3 páginas webs cualquiera.
- Filtraremos el puerto para los mensajes de MSN
Muy bien, una vez tenemos definida nuestra hoja de ruta, vamos a la tarea.
Estableciendo los 512 MB de caché en disco y los niveles de directorios
Vamos ahora a establecer nuestra caché de disco, en este caso serán 512 MB. Debemos de abrir el archivo de configuración, de modo que en un terminal escribimos:
sudo gedit /etc/squid3/squid.conf
La directiva encargada de controlar la caché en disco se llama cache_dir. Debemos de buscarla en el archivo, y justo en la línea de abajo escribir:
cache_dir ufs /var/spool/squid3 512 8 64
A la directiva cache_dir le inidicamos el sistema de almacenamiento que va a usar, ufs es el más recomendable. /var/spool/squid3 es el directorio donde se almacenará la caché. 512 son los MB de caché que usaremos.8 y 64 son los directorios de nivel 1 y 2 respectivamente, estos directorios están ubicados en el directorio de la caché.
Estableciendo los días y horas de navegación
Vamos a crear nuestra primera regla ACL. Básicamente, una ACL es una definición de control de acceso en la que definiremos una serie de reglas. En este caso vamos sólo a permitir navegar una serie de días y en unas horas concretas.
Debemos buscar en /etc/squid3/squid.conf donde se encuentran las ACL. Será en esa zona donde definamos nuestras propias reglas, dicha zona presenta una serie de ACL por defecto y se encuentran próximas a la línea 600. Dicho esto, añadiremos la siguiente línea:
acl hora time MTWHF 16:40-22:50
A las acl tienen su propio nombre, en este caso es hora, el tipo de acl es time y los argumentos de time son los días y las horas
Definiendo la ACL para 172.16.0.0/255.255.0.0
Vamos ahora a definir una ACL que hará referencia a todos los equipos de la red 172.16.0.0/255.255.0.0. En el mismo fichero y justo debajo de la anterior línea escribimos:
acl equipos_permitidos src 172.16.0.0/255.255.0.0
Esto agrupa a todas las direcciones IP de dicha red.
Definiendo la ACL de las 3 páginas webs que vamos a restringir
Esta parte es bastante curiosa, la parte del filtrado de contenidos. Aquí vamos a poner ejemplo de cómo filtrar 3 páginas webs cualquiera, en nuestro ejemplo vamos a filtrar:
- www.elhacker.net
- www.arp-sapc.org
- www.elpais.com
Vamos a añadir una ACL para cada página web, de modo que en el mismo fichero de configuración de Squid y debajo de la anterior línea escribimos:
acl elhacker dstdomain www.elhacker.net acl escepticos dstdomain www.arp-sapc.org acl elpais dstdomain www.elpais.com
Esto define las ACL para cada nombre de dominio.
Definiendo la ACL del puerto del MSN
Para completar el uso de las ACL, vamos a filtrar el acceso al MSN, para ellos vamos a cerrar el puerto que este tipo de programas usa para la mensajería instantánea, dicho puerto es 1863. La nueva ACL se debe ubicar debajo de la última, y será esta:
acl msn port 1863
Con esto definimos el puerto que queremos filtrar.
Así quedarán todas nuestras ACL una vez definidas. Vamos ahora a crear las directivas http_access que manejarán nuestras ACL.
Creando las directivas http_access
Esta es una parte muy importante, ya que las reglas http_access deben de estar en el orden adecuado. Squid las interpreta de abajo arriba, por lo que primero debemos definir las reglas que deniegan algo, y después las que permiten. Nuestro orden va a ser el siguiente:
http_access deny !hora http_access deny msn http_access deny elhacker http_access deny escepticos http_access deny elpai shttp_access allow equipos_permitidos
En primer lugar denegamos el acceso a lo contrario de lo que habiamos definido en hora, se lo indicamos con un ! delante del nombre, que en informática significa una negación. En la siguiente línea denegamos msn, así nadie podrá usar ningún programa de mensajería instantánea que se comunique por ese puerto. En la tercera, cuarta y quinta denegamos las webs y finalmente en la sexta línea, permitimos los equipos que se van a conectar.
Habría sido mucho más fácil definir las webs en una sola ACL, pero por cuestiones de claridad informativa no lo he hecho así. Si quisiéramos hacerlo de esa forma, nuestra ACL sería la siguiente:
acl paginas dstdomain www.elhacker.net www.arp-sapc.org www.elpais.com
Vamos a ubicar las directivas http_access
Las http_access las vamos a insertar en una zona en concreto de nuestro fichero de configuración, para llegar a esa zona, buscamos INSERT YOUR OWN en el fichero. Esta búsqueda nos llevará aproximadamente a la línea 650.
Ahí será la zona en la que insertaremos nuestras http_access, lo haremos de la siguiente forma:
Una vez añadidas las http_access, guardamos el fichero y reiniciamos el servicio.
sudo /etc/init.d/squid3 restart
Esta operación puede tardar unos segundos, una vez tenemos el servicio correctamente reiniciado, pasamos a configurar Mozilla Firefox para usar nuestro proxy.
Configurando Firefox para usar nuestro proxy
Vamos ahora a indicarle a Mozilla Firefox que use nuestro proxy, para ello abrimos una nueva ventana de nuestro navegador y nos vamos a Editar, Preferencias, en la ventana que se nos abre nos vamos a la ficha Avanzado, dentro de esta nos vamos a Red, y dentro de Red pulsamos en el botón Configuración.
La ventana que se nos abre, la rellenamos de la siguiente forma:
Pulsamos Aceptar y en teoría, ya tenemos todo listo. Vamos a probarlo.
Entrando en www.elpais.com
Esto es lo que ocurrirá al intentar entrar en una de las páginas que hemos restringido.
Acceso denegado.
Entrando a www.google.es en una hora no permitida
Vamos a intentar entrar a Google en una hora que no esté permitida, nos diría esto:
Aptana Studio, una alternativa a Dreamweaver
Hace unos días, buscando un programa similar a Dreamweaver pero para Linux, encontré Aptana Studio.
Aptana Studio es un completísimo IDE basado en el famoso Eclipse. Orientado al desarrollo web y con numerosas funciones que nos facilitarán el desarrollo de un sitio web. También podemos descargar e instalar gratuitamente un gran número de plugins que nos proporcionarán numerosas funciones más. Gracias a los plugins podemos hacer que Aptana Studio trabaje con PHP, Jaxer, Ruby on Rails, Python, Adobe AIR, Apple iPhone y Nokia S60.
Entre las funciones de Aptana Studio destacan:
- Resalte de sintaxis.
- Herramientas para trabajar con bases de datos.
- Librerías para Ajax.
- Conexión FTP, SFTP, FTPS y Aptana Cloud.
- Compatibilidad con las extensiones de Eclipse.
Aptana Studio es gratuito, libre y multiplataforma. Lo podemos instalar en Linux, Windows o Mac. Para instalarlo basta con ir a la página oficial, descargarlo, descomprimirlo y ejecutarlo. Lo podemos descargar de:
Necesitaremos tener instalado JRE como mínimo. En el caso de Ubuntu necesitaremos también un paquete llamado xulrunner.
Desde un terminal escribimos:
sudo aptitude install sun-java6-jre xulrunner
Una vez instaladas las dependencias, descomprimimos el zip que nos descargamos de la página oficial de Aptana Studio y ejecutamos el binario.
Sería ideal mover ese directorio a /etc y crearnos un enlace al binario en el escritorio. Para moverlo, en un terminal tecleamos:
sudo mv "Aptana Studio 2.0" /etc
Ya sólo queda crear en enlace al archivo binario.
cd Escritorio sudo ln -s "/etc/Aptana Studio 2.0/AptanaStudio" AptanaStudio
Una vez hecho eso, tendremos el enlace en el escritorio y estamos listos para ejecutar Aptana Studio.




































