Proxy Squid amb Debian Squeeze

23
SQUID proxy http Aquest document ha estat creat per Jordi Clopés Esteban i està protegit per la llicencia Creative Commons by-sa 3.0 Twitter @jordiclopes [email protected]

Transcript of Proxy Squid amb Debian Squeeze

Page 1: Proxy Squid amb Debian Squeeze

SQUID

proxy http

Aquest document ha estat creat per Jordi Clopés Estebani està protegit per la llicencia Creative Commons by-sa 3.0Twitter @[email protected]

Page 2: Proxy Squid amb Debian Squeeze

QUÈ ÉS L'SQUID?

L'Squid és un servei de proxy (intermediari) que permet contralar l'accés http de la nostra xarxa. Amb Squid podrem: ● determinar qui pot accedir a internet● quines webs estan permeses● veure a on accedeixen les màquines de la nostra LAN● tancar l'accés a msn i a determinats fitxers.● cachejar les webs i accelerar la navegació.● I molt més.

Page 3: Proxy Squid amb Debian Squeeze

COM FUNCIONA?

Page 4: Proxy Squid amb Debian Squeeze

INSTAL.LACIÓ

apt-get install squid3

Page 5: Proxy Squid amb Debian Squeeze

FITXERS DE CONFIGURACIÓ

El fitxer de configuració principal està a:

/etc/squid3/squid.conf Els logs estan a:

/var/log/squid3/

I el servei s'inicia i s'apaga a:

/etc/init.d/squid3 start/stop/restart/reload

Page 6: Proxy Squid amb Debian Squeeze

SQUID.CONFPodem netejar els comentaris del fitxer fent:

cat squid.conf | grep -v '^#\|^$\|^;' > squid.sense_comentaris

Podem consultar al manual d'squid les referències del fitxer:

http://www.squid-cache.org/Versions/v3/3.0/cfgman/

Page 7: Proxy Squid amb Debian Squeeze

DEFINIM L'ESPAI DE CACHE

A l'squid.conf afegim:

cache_mem 750 MBcache_dir ufs /var/spool/squid3 10000 16 256

Page 8: Proxy Squid amb Debian Squeeze

COMPROVAR LA SINTAXI

Per comprovar si tenim correctament escrit el fitxer de configuració l'squid té aquesta eina:

squid3 -k parse

Page 9: Proxy Squid amb Debian Squeeze

ACL: LOCALHOSTL'Squid funciona amb ACLs (llistes de control d'accés) que defineixen, per exemple, quina és la xarxa local, quines ips estan permeses, quines webs permetem, etc.

Més tard sobre aquestes ACLs especificarem que volem fer.

Exemple: Creem la ACL per la màquina local:acl localhost src 127.0.0.1/32 Permetem l'accés http a la màquina local: http_access allow localhost

Page 10: Proxy Squid amb Debian Squeeze

ACL:DEFINIR LA LAN

Podem definir quin rang IP està autoritzat per utilitzar el proxy: acl la_meva_lan src 192.168.10.0/24 http_access allow la_meva_lan

Page 11: Proxy Squid amb Debian Squeeze

ACL: NAVEGADORS

També podem definir l'ús d'un únic navegador:

acl firefox browser -i firefox http_access deny !firefox

Navegadors:

Internet Explorer = ieGoogle Chrome = chromeOpera = chrome

Page 12: Proxy Squid amb Debian Squeeze

ACL:NO CACHEJAR UN SITE

acl gmail dstdomain .gmail.com

always_direct allow gmail

Page 13: Proxy Squid amb Debian Squeeze

RESTRINGIR UNA PARAULA

Podem restringir una paraula de qualsevol cerca: Per exemple la paraula porno:

acl paraula_restringida url_regex pornoacl la_meva_lan src 192.168.0.0/24http_access deny paraula_restringidahttp_access allow la_meva_lanhttp_access deny all

Page 14: Proxy Squid amb Debian Squeeze

RESTRINGIR LLISTAT DE PARAULES

Seguint l'exemple anterior podem canviar:

acl paraula_restringida url_regex porno per

acl paraula_restringida url_regex "/etc/squid3/llistat_de_paraules"

On llistat_de_paraules serà el fitxer on guardem totes les paraules. Una paraula per linia.

Page 15: Proxy Squid amb Debian Squeeze

RESTRINGIR LLISTAT DE WEBS

Similar a l'exemple anterior, podem restringir un llistat de webs:

acl webs_restringides url_regex -i "/etc/squid3/llistat_de_webs"

http_access deny webs_restringides

Page 16: Proxy Squid amb Debian Squeeze

MOSTRAR ERRORS EN CATALÀ

Cal afegir a l'squid.conf: Si volem els errors en català:

error_directory /usr/share/squid3/errors/Catalan/ Si volem els errors en castellà: error_directory /usr/share/squid3/errors/Spanish/

Page 17: Proxy Squid amb Debian Squeeze

ACCÉS SEGONS HORARI

acl FOO src 10.1.2.3 10.1.2.4acl WORKING time MTWHF 08:30-17:30http_access allow FOO WORKINGhttp_access deny FOO

Page 18: Proxy Squid amb Debian Squeeze

CONFIGURAR EL NAVEGADOR

Bàsicament existeixen dos tipus de proxys http: ● No transparents (requereixen la configuració de cada

navegador web) ● Transparents (no requereixen configurar el navegador però

cal que el tràfic web passi a través d'ells)

Page 19: Proxy Squid amb Debian Squeeze

CONFIGURAR EL NAVEGADORA Firefox anem a Herramientas --> Opciones -->Avanzado-->Red-->Configuración

Page 20: Proxy Squid amb Debian Squeeze

CONFIGURAR EL NAVEGADOR

Page 21: Proxy Squid amb Debian Squeeze

PROXY TRANSPARENT

A l'squid.conf modiquem:

http_port 3128 transparent Cal activar l'ip_forward: echo "1" >/proc/sys/net/ipv4/ip_forward I redireccionar el tràfic del port 80 al 3128: iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128 (tot en la mateixa linia!)

Page 22: Proxy Squid amb Debian Squeeze

EXECUTAR SCRIPT A L'INICI

Per executar comandes a l'iniciar el sistema cal afegir les comandes a /etc/rc.local

En el nostre cas per activar l'enrutament i el redirecionament de ports cada vegada que el servidor s'iniciï, caldrà afegir al fitxer /etc/rc.local:

echo "1" >/proc/sys/net/ipv4/ip_forward

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128