Servidors Proxy: Squid. Pràctica d'avaluació

De wikijoan
Salta a la navegació Salta a la cerca

Pràctica SQUID puntuable. Enunciat

Defineix la ACL xarxa_35 que s'ajusti al rang de IPs de l'aula 35. En aquesta prova treballaràs només com a localhost, però deixarem la possibilitat de què altres companys de l'aula es connectin al teu ordinador com a servidor de proxy.

En el cas de què tinguins altres ACL's creades per tu de la pràctica i proves que has estat fent, les pots eliminar. (És convenient haver fet còpies de seguretat dels fitxers de configuració originals o d'altres que has utilitzat).


[0]. Elimina totes les restriccions (Proxy Restrictions). En el webmin (que no és obligatori utilitzar) t'ha de quedar una cosa similar a:

Allow 	localhost 	
Deny 	all

Ara mateix no pots navegar per Internet ni accedir a recursos de l'A35, però sí que has de poder accedir al teu blog:

Ara permetrem navegar per Internet sense restriccions. N'hi ha prou en habilitar la xarxa local. Com ho faràs? Com queda la configuració? Comprova que pots navegar. Quina és l'explicació de què ara puguis navegar? [1]

Començarem ara a restringir continguts. Se't demana que creïs una ACL (deny_hispasonic) i una regla per a una web concreta. Hem de denegar qualsevol d'aquestes formes per al domini www.hispasonic.com [2]

El que volem ara és habilitar l'accés al fòrum de gnu-linux, però denegar l'accés a qualsevol altre recurs. Per fer-ho, crearàs la ACL allow_hispasonic_linux i posaràs les regles correctes [3]

però no podem accedir a

Tanmateix, això ens planteja un problema: podem accedir al fòrum de Linux, però no podem llegir els seus posts, que estan capats. Per exemple,

El que volem fer ara és accedir al fòrum de Linux i a tot el que penja de foros/. El que penja de foros/ també seran posts de windows o mac, però això no ens importa perquè no podem accedir als posts de Windows mentre no puguem accedir a http://www.hispasonic.com/foros/windows/f11 o http://www.hispasonic.com/foros/mac/f72. Per tant, el que hem de fer ara és habilitar el que penja de foros/ i que acabi amb un número de 6 xifres. És la nostra plantilla per detectar que es tracta d'un post

i deshabilitar

Has de crear la ACL allow_hispasonic_posts [4], utilitzant una expressió regular que satisfaci la condició, i ficar-la en el lloc correcte de les restriccions.

Feina per quan acabis

Un cop hagis resolts aquests problemes proposats, l'alumne treballarà:

  • Missatges d'error en català [5]

En comptes de

ERROR
The requested URL could not be retrieved
...

ha d'aparèixer

ERROR
No es pot mostrar la URL que heu sol.licitat
...
  • Documenta altres condicions de filtratge [6]

Entrega

Recorda la normativa per entregar les pràctiques al Moodle: ASIX-M11-SAD#Normativa_d.27entrega_de_les_pr.C3.A0ctiques_al_Moodle.

Entregaràs al Moodle el fitxer LLEGEIX-ME.txt amb les teves notes i les configuracions que has utilitzat. El professor ha de certificar el funcionament dels diferents items puntuables.

Solució

[1]

	Allow 	localhost 	
	Allow 	xarxa_local 	
	Deny 	all

[2]

acl deny_hispasonic dstdom_regex www.hispasonic.com (fitxer de configuració)
deny_hispasonic 	Web Server Regexp 	www.hispasonic.com (webmin)
	Allow 	localhost 	
	Deny 	deny_hispasonic 	
	Allow 	xarxa_local 	
	Deny 	all

[3]

allow_hispasonic_linux url_regex http://www.hispasonic.com/foros/gnu-linux/f73 (fitxer de configuració)
allow_hispasonic_linux 	URL Regexp 	http://www.hispasonic.com/foros/gnu-linux/f73
	Allow 	localhost 	
	Allow 	allow_hispasonic_linux 	
	Deny 	deny_hispasonic 	
	Allow 	xarxa_local 	
	Deny 	all

[4] Per fer la prova de què funciona l'expressió regular contra aquesta url:

$ echo http://www.hispasonic.com/foros/chale-gaius-baltar/397315 | grep ".*foros/.*[0123456789]\{6\}$"

Ara bé, allò important és que amb el Squid, per dir que el hi ha d'haver 6 números al final de tot no fem [0123456789]\{6\}$ sinó que fem [0123456789]{6}$. Aquesta és una diferència important en la implementació de les expressions regulars respecte el que s'ha vist a classe.

allow_hispasonic_posts urlpath_regex .*foros/.*[0123456789]{6}$ (fitxer de configuració)
allow_hispasonic_posts 	URL Path Regexp 	.*foros/.*[0123456789]{6}$

(es pot utilitzar URL Regexp o bé URL Path Regexp)

	Allow 	localhost 	
	Allow 	allow_hispasonic_posts 	
	Allow 	allow_hispasonic_linux 	
	Deny 	deny_hispasonic 	
	Allow 	xarxa_local 	
	Deny 	all

nota: es pot intercanviar allow_hispasonic_posts i allow_hispasonic_linux sense cap problema.

[5] En el fitxer de configuració

#error_directory /usr/share/squid/errors/en
error_directory /usr/share/squid/errors/ca

creat per Joan Quintana Compte, març 2012