Servidors Proxy: Squid. Pràctica d'avaluació
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:
- http://localhost/blogiaw/ (aquí poses el nom del teu bloc)
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]
- http://www.hispasonic.com/
- www.hispasonic.com
- http://www.hispasonic.com/foros/gnu-linux/f73
- http://www.hispasonic.com/foros/windows/f11
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
- www.hispasonic.com
- http://www.hispasonic.com/foros/windows/f11
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