Proxy Transparente con Ubuntu, Limita el acceso indeseado YA!!
Este es el primer artículo técnico que escribo en el blog.
Voy a intentar explicarme lo mejor que yo pueda, y si os surge cualquier duda la posteis y ayudamos que para esso estamos xD
Bien explicaré el problema, explicaré una posible solución, y luego daré todos los comandos que debéis usar. mola??? jeje
Veamos caso ficticio:
Tenemos una sala de bichos(usuarios con pcs), que en vez de ponerse a trabajar no tienen nada mejor que hacer que ponerse a ver las paginas de youtube(genial), pero claro eso genera unos grandes problemas:
- gastan el ancho de banda de mi emule(o del compañero)
- generan trafico de red innecesario
- no trabajan, pierden tiempo
- llenan los bichos de mierda(literalmente y técnicamente)
- asi justificamos nuestro puesto de trabajo de una forma genial
Entonces es cuando dices….esto no puede seguir así….vamos a cortarles inernés. Y tu dices vale, eso ya lo se hace tiempo pero comoooool?? si necesitan rellenar formularios de unas websss?? y no voy a ir pc por pc limitando las paginas del IE(Internet Explorer) si luego lo quitan!!
Pues bien ahí va sale el listo de turno y estornuda aaachis!!, noooo ha dicho Squid!
aaaaaaaaaaaa ahora queda todo mas claro Squid, es un servidor proxy!!! de este modo haremos una lista con las paginas permitidas, uauuuuuuuuuuu, pero como lo hacemos eso??
Yo pensé que tal Debian?? y dije pues debian mismo, pero como ese dia me llegaron los cd´s de ubuntu a casa….
Bueno explico un poco Ubuntu es una versión de Debian que esta subvencionada por el africano ese que vendió verisign por un huevo y luego se fue pa la luna.
La idea es la siguiente, pillas un Pc que aya por ahí, no hace falta ningún pepino, yo lo monte sobre un 800 con 196mb y 20gb, y funciona perfecto, es importante que según el trafico que vaya a haber que la tarjeta de red sea mas o menos decente, pones el cd de instalación de Ubuntu, haces que el pc bootee desde el CD, y cuando te salga una línea que pone boot: ponemos server, de este modo realizamos una instalación limpia para instalar lo que nosotros deseemos. Le damo pa'lante a to personalizando lo que nos convenga hasta haber finalizado, luego seguimos estos comandos siempre teniendo en cuenta que se ha de adaptar a nuestra red.
#configuracion servidor proxy squid
#objetivo: limitar el acceso a internet, solo a paginas permitidas
#SO: ubuntu breezy server-configuration
#realizamos la instalacion base del sistema
#para seguir en linea de comandos una vez instalado
#actualizamos la lista de paquetes
vi /etc/apt/sources.list
coger de aqui:http://www.ubuntu-es.org/node/9043
#actualizamos el apt
aptitude update
#confguramos la interface de red
vi /etc/network/interfaces
# The loopback interface
auto lo
iface lo inet loopback
# The first network card - this entry was created during the Debian installation
# (network, broadcast and gateway are optional)
auto eth0
iface eth0 inet static
address 172.16.0.1
netmask 255.255.255.0
network 172.16.0.0
broadcast 172.16.0.255
gateway 172.16.0.10
#le damos el dns de resolucion
vi /etc/resolv.conf
nameserver TUDNSAKI
#reiniciamos la red
/etc/init.d/networking restart
#instalamos xinetd
aptitude install xinetd
#intsalamos los paquetes que usaremos, ssh para la administracion remota usamos putty, squid proxy,iptables (routing firewall) aptitude install ssh squid iptables
#configuramos el squid
vi /etc/squid/squid.conf
http_port 8080
cache_mem 16 MB#memoria que usara
cache_dir ufs /var/spool/squid 100 16 256#esto es la cache
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_single_host off
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
offline_mode on
ie_refresh on
acl all src 0.0.0.0/0.0.0.0
acl localhost src 127.0.0.1/255.255.255.255
acl redlocal src 172.16.0.0/255.255.255.0
acl per url_regex "/etc/squid/permitidos"
http_access allow per
http_access allow localhost
http_access deny all
#creamos el fichero de permitidos
vi permitidos
akivan las paginas le das al enter para cada web, si lo deseas no pongas la extension
#reiniciamos squid
squid restart
#configuramos el firewall para el routing de puertos, de este modo lo haremos transparente
vi /etc/init.d/firewall.sh
iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 80 -j REDIRECT –to-port 8080
#hacemos que arranque como servicio
update-rc.d firewall.sh defaults
#instalamos webmin para la administracion de la maquina y configuramos
aptitude install webmin
vi /etc/webmin/miniserv.conf
allow= all
/etc/init.d/webmin start
#instalamos samba para la comparticion del fichero de permitidos, recuerda crear el usuarioooo
aptitude install samba
smbpasswd -a root
vi /etc/samba/smb.conf
[global]
server string = servidor del proxy squid
hosts allow = 172.16.0.0/24
[squid]
path = /etc/squid
valid users = root
write list = root
#editamos el xinetd activando el servicio(sino no ira ni samba ni na)
vi /etc/xinetd.conf
(quitamos los comentarios)
/etc/init.d/xinetd restart
/etc/init.d/samba restart
#ahora podemos entrar asis: \\172.16.0.1
#instalamos administracion para los servicios via web
aptitude install webmin-squid webmin-xinetd webmin-firewall
#instalamos samba para administracion de samba
aptitude install swat
#el swat(samba) funciona en el puerto 901, y el webmin en el 10000, para acceder http://172.16.0.1:puerto
Una vez hecho todo esto os preguntareis vale muy bonito pero….como lo pongo en los Bichos?? pues tienes dos opciones:
- En propiedades de la conexión de tu navegador web pones como proxy 172.16.0.1 y puerto el 8080, el problema es q lo pueden deshabilitar
- Esta es la mejor! pones el servidor 172.16.0.1 como puerta de enlace!!! uauuuuu ni se darán cuenta!!!
Encima tenemos la ventaja de que todo es administrable via web, y el fichero de permitidos lo podemos modificar a nuestro antojo gracias a Samba.
FIN
Espero que os haya sido de gran utilidad
http://deambulando.wordpress.com/2006/05/29/proxy-transparente-con-ubuntu-limita-el-acceso-indeseado-ya/
0 comentarios:
Publicar un comentario