El proxyautocfg és una utilitat per configurar automàticament un servidor cau (proxy cache) segons la proposta desenvolupada en el document “Instal·lació i i configuració del proxy-catxé Squid”. En concret, la utilitat realitza les següents tasques:

  • Integra el servidor al domini
  • Estableix la seguretat en els accessos per xarxa
  • Configura el programari cau Squid
  • Configura el filtre squidGuard
  • Instal·la i configura la utilitat iControl
  • Instal·la i configura Sarg, un analitzador de fitxers logs de l'squid
  • Configura el tallafocs iptables blocant totes les connexions excepte les destinades als ports http, https, pop3, smtp, dns, ftp, ftp-data i ssh. Es permeten els paquets icmp (ping)

Fent servir aquesta utilitat és molt senzill instal·lar i configurar un servidor cau a la xarxa del centre. Aquest document explica totes les passes que s'han de fer per tal d'instal·lar i configurar una màquina en el centre que realitzi les tasques de cau de la xarxa, de filtratge de continguts i de tallafocs.

Requeriments previs


És necessari descarregar l'Ubuntu 10.04 Server.

L'ISO del CD s'anomena ubuntu-10.04.x-server-i386.iso (cas de la versió de 32 bits) o bé ubuntu-10.04.x-server-amd64.iso (cas de la versió de 64 bits). La x de 10.04.x ens indica la versió, descarregau la versió més actual. Es recomana la versió de 64 bits si la instal·lació s'ha de fer en un equip de més de 3 GB de memòria RAM; en qualsevol altre cas es pot usar la versió de 32 bits.

Aquests ISO es poden trobar a http://old-releases.ubuntu.com/releases/10.04.3/

Instal·lació del Linux


Iniciau la instal·lació amb el CD Ubuntu 10.04.x Server.

Triau l'idioma Català i premeu la tecla Enter

Premeu F4 (Modes) i escolliu "Instal·la un sistema mínim" + Enter

Iniciau la instal·lació amb "Instal·la l'Ubuntu per a un servidor" + Enter

Seleccionau el país ("Espanya") + Enter

Es pot cancel·lar la detecció del teclat.

Triau el teclat "Espanyol" amb la plantilla "Espanya - Variant catalana amb L amb punt volant"

Començarà la detecció de maquinari, s'analitzarà el CD-Rom, es carregaran components addicionals i es detectarà la targeta de xarxa.

Cancel·lau la configuració automàtica de la xarxa amb DHCP. Premeu <Continua> per configurar la xarxa manualment.

Introduïu l'adreça IP del servidor (utilitzau un dels 10 primers nombres del rang d'IP del centre) i premeu <Continua>

Introduïu la màscara de la xarxa del centre i premeu <Continua>

Introduïu la passarel·la (l'adreça IP del router) i premeu <Continua>

Introduïu l'adreça IP del servidor de noms (DNS). Normalment, l'adreça IP del servidor controlador del domini del centre. Premu <Continua>

Ara s'ha d'introduir el nom curt que volem posar al servidor cau. Es proposa identificar-lo fent servir l'abreviatura px, el darrer número de l'adreça IP i el nom i versió del sistema operatiu. Així, si s'assigna l'adreça 10.216.254.7 a aquesta màquina, es proposa anomenar el servidor com px7ubt1004.

Tot seguit introduïu el nom complet del domini del centre. Per exemple, curs.local

En aquest punt es configurarà el rellotge. Per defecte és possible que no detecti la zona horària i que us presenti None com a zona horària. Contestau que No i seleccionau Madrid com a fus horari. Enter

Després s'executarà el mòdul de detecció de discs i particionat. Triau Guiat - Utilitza el disc sencer. S'emprarà una partició primària per al sistema i una partició lògica petita per a intercanvi.

Confirmau els canvis en el disc.

El procés segueix amb amb el format de les particions i la instal·lació del sistema base.

Tot seguit, el programa d'instal·lació demana les dades de l'usuari que utilitzareu per administrar el sistema. Es recomana emprar el mot ubtadmin com a nom d'usuari. Com a nom complet introduïu, per exemple, Administrador de l'Ubuntu. Caldrà també introduir la contrasenya per aquest usuari ubtadmin.

A la pregunta si voleu xifrar el vostre directori d'usuari contestau NO

S'iniciarà la configuració del gestor de paquets apt. El programa d'instal·lació demana si s'utilitza un servidor intermediari d'HTTP. Per contestar que no, deixau en blanc la resposta i premeu <Continua>

Triau l'opció "Instal·la les actualitzacions de seguretat de manera automàtica" a la pregunta "Com voleu gestionar les actualitzacions d'aquest sistema".

Tot seguit s'inicia la instal·lació del programari i apareixerà el menú de selecció del programari a instal·lar. Fent servir la tecla tabulador, premeu el botó <Continua> SENSE seleccionar cap opció.

Es procedirà amb la instal·lació del programari. En acabar, el programa d'instal·lació demana si es vol instal·lar el carregador GRUB al registre mestre d'arrancada. Contestau  .

La instal·lació ha finalitzat. Es demana que es tregui el CD per arrencar de nou amb el sistema instal·lat.


Configuració del servidor cau


Iniciau una sessió amb el compte de l'usuari ubtadmin.


Configuració de la font de programari educaib


En primer lloc, és necessari instal·lar la clau pública per autenticar el repositori Educaib. Això suposa descarregar la clau i desprès instal·lar-la:

Per descarregar-la, obriu un terminal i executau:

 cd $HOME
 sudo wget http://weib.caib.es/ubt-educaib/educaib_key.asc


Ara, és necessari instal·lar la clau descarregada. Per això, executau:

 sudo apt-key add educaib_key.asc


El sistema ha de contestar OK.

Un cop instal·lada la clau, s'ha d'afegir el repositori Educaib a les fonts de programari. Per això, simplement cal copiar el fitxer educaib-lucid.list a /etc/sources.list.d:

 sudo wget http://edudownload.caib.es/files/ubt1004/educaib-lucid.list
 sudo cp educaib-lucid.list /etc/apt/sources.list.d/


Configuració de preferències en la instal·lació de programari


Tot seguit cal establir un conjunt de preferències en la instal·lació de programari:

 sudo wget http://edudownload.caib.es/files/ubt1004/educaib
 sudo cp educaib /etc/apt/preferences.d/

 

 sudo wget http://edudownload.caib.es/files/ubt1004/puppet
 sudo cp puppet /etc/apt/preferences.d/

 

 sudo wget http://edudownload.caib.es/files/ubt1004/samba-lxubt1004
 sudo cp samba-lxubt1004 /etc/apt/preferences.d/


Instal·lació de la utilitat proxyautocfg


Abans de procedir amb la instal·lació, cal actualitzar les fonts de programari:

 sudo apt-get update


En el cas que ens doni qualque error haureu de repetir la instrucció fins que deixi de de donar errors

Tot seguit ja es pot instal·lar:

 sudo apt-get install proxyautocfg


Per satisfer les dependències, s'instal·laran més de 50 nous paquets.

Apareixerà un avís indicant la quantitat d'espai que s'emprarà. En acceptar (prement la tecla s + <Enter>), el sistema procedirà a la descàrrega i instal·lació dels paquets.

És possible que apareixi una finestra per configurar el client kerberos. En concret demanarà el nom del servidor kerberos. Podeu deixar en blanc aquest nom ja que, després, proxyautocfg el configurarà automàticament.

La utilitat proxyautocfg s'instal·la a /opt/proxyautocfg


Descàrrega i instal·lació de les llistes negres gestionades per l'squidGuard


Executau:

 cd $HOME
 sudo wget http://edudownload.caib.es/files/pxubt1004/blacklists.tar.gz
 sudo tar xzf blacklists.tar.gz
 sudo rm -rf /var/lib/squidguard/db
 sudo mv blacklists /var/lib/squidguard/db


Actualització del sistema


Executau

 sudo apt-get upgrade

Us demanarà Continue without installing GRUB? li heu de contestar que Yes
Reiniciau el sistema:

 sudo shutdown -r now


Adaptació del fitxer proxyautocfg.conf als paràmetres de la xarxa del centre


Editau el fitxer /opt/proxyautocfg/proxyautocfg.conf

 cd /opt/proxyautocfg
 sudo nano proxyautocfg.conf


El fitxer està estructurat en tres seccions: funcionalitats, variables i firewall.
La secció de funcionalitats ens permet configurar el servidor cau de maneres diferents:

integracio_domini=S si el centre disposa de servidor controlador de domini, N si el centre no disposa de domini.

puppet=S si el centre disposa de servidor de configuracions. N si el centre no disposa de servidor de configuracions.

routing=S si el centre té instal·lada la xarxa Wi-Fi del projecte Xarxipèlag 2.0, N si el centre no disposa de la xarxa Wi-Fi del projecte Xarxipèlag 2.0.

En la secció variables cal modificar les variables segons els valors de la xarxa del centre

ip_equip= Adreça IP del servidor cau (l'equip que configurau) (10.216.x.y)

sm= Màscara de la xarxa del centre.

ip_xarxa= Adreça IP de la xarxa del centre (10.216.x.z). El valor de z depèn de la subxarxa. Si aquesta és 255.255.255.0, la z val 0. Si el centre està dins la Intranet i té les adreces IP normalitzades (que comencen amb 10.216), z = r-1 essent r el darrer dígit de l'adreça IP del router.

ip_xarxa_wifi= Adreça IP de la xarxa Wi-Fi Xarxipèlag 2.0 del centre (10.218.x.z o bé 10.219.x.z).

sm_wifi= Màscara de la xarxa Wi-Fi Xarxipèlag 2.0.

ip_switch_wifi= Adreça IP del commutador (switch) que controla la xarxa Wi-Fi Xarxipèlag 2.0.

nom_equip= Nom curt que heu assignat al servidor cau, per exemple px7ubt1004

ip_servidor= Adreça IP del servidor controlador del domini. Si el centre no disposa de domini es deixa en blanc

nom_servidor= Nom del servidor controlador del domini. A l'exemple: scurs. Si el centre no disposa de domini es deixa en blanc

domini= Nom curt del domini de la xarxa del centre. A l'exemple: curs. Si el centre no disposa de domini es deixa en blanc

dominic= El nom complet DNS del domini del centre. A l'exemple curs.local. Alguns centres tenen el sufix .local  mentre que altres no li tenen. Podeu consulta-ho en el servidor DNS del controlador del domini. Els dominis controlats per un Windows NT, no han d'afegir el sufix .local. Si el centre no disposa de domini es deixa en blanc

realm= El nom del domini tot en majúscules. Per exemple, CURS.LOCAL. Si el centre no disposa de domini es deixa en blanc

nom_administrador= Nom de l'usuari administrador de domini. En el 99.99% dels cassos és administrador. Si el centre no disposa de domini es deixa en blanc

ip_administracio= Adreça IP de l'equip que s'utilitza habitualment per administrar la xarxa.

MB_catxe= Nombre de Megabytes reservats per al cau (cache). Depèn de la capacitat del disc dur. No es recomanen caus més grans de 25000 si no es disposa d'un equip amb molta capacitat.

MB_ram_catxe= Quantitat de memòria RAM en Megabytes destinada al servidor cau. Com més memòria RAM pugui gestionar el proxy-cau millor és el seu rendiment. Entre el 50% i el 60% de la memòria RAM de l'equip.

KB_max_obj_ram= Nombre màxim de Kilobytes dels objectes que s'han de guardar en la memòria RAM gestionada pel cau (cache). Òbviament depèn del valor de la variable MB_ram_catxe. Valors recomanats van des de 128 a 1024 depenent de la quantitat de RAM que gestiona el cau. Per exemple, 512 és un valor correcte si MB_ram_catxe=1024

MB_max_obj_catxe= Nombre de Megabytes màxim dels objectes que s'han de guardar al cau (cache). Òbviament depèn de la grandària del cau. Si el cau és de 25000 MB es pot mantenir els 400 MB que hi ha establerts per defecte. Per a valors de cau inferiors caldrà reduir el valor proporcionalment.

url_rewrite_children= Nombre de subprocessos de l'aplicació que filtra els contiguts (squidGuard) gestionats pel cau. Depèn de la capacitat de l'equip (memòria i processador). Amb 1 GB de RAM, un nombre entre 8 i 12 subprocessos es considera raonable

Guardau prement <Ctrl-O> + <Enter>


Configuració de la secció firewall


La versió del proxyautocfg corresponent a Ubuntu 10.04 permet configurar el tallafocs (firewall) inclòs en el servidor cau. Aquesta configuració es fa a la secció [firewall] del fitxer proxyautocfg.conf: Per defecte el proxy talla TOTES les connexions del centre cap a fora excepte les connexions http (web). Les excepcions a aquesta regla general s'han d'especificar en aquesta secció.

tcp_ports_internet= Llista de ports TCP remots (fora del centre) als quals s'hi podrà accedir. Per defecte hi ha una llista dels ports més habituals als quals es requereix connectar. No convé modificar aquesta si no es té una raó concreta per fer-ho. El proxy permetrà connexions TCP amb qualsevol servidor d'Internet en els ports llistats a tcp_ports_internet.

udp_ports_internet= Llista de ports UDP remots (fora del centre) als quals s'hi podrà accedir. Per defecte s'inclou el port 53 que permet fer consultes DNS a servidor de fora del centre. El proxy permetrà connexions UDP amb qualsevol servidor d'Internet en els ports llistats a udp_ports_internet.

tcp_ports_proxy= Llista de ports TCP del servidor proxy-cache als quals s'hi podrà accedir. Serveix per si es volen habilitar serveis TCP en el servidor proxy.

udp_ports_proxy= Llista de ports UDP del servidor proxy-cache als quals s'hi podrà accedir. Serveix per si es volen habilitar serveis UDP en el servidor proxy.

ip_servidorX (on x són números de l'1 al 5)= Adreça IP d'un servidor remot (fora del centre) al qual s'hi vol accedir per un o més ports no llistats a tcp_port_internet o udp_port_internet

tcp_ports_servidorX (on x són números de l'1 al 5)=
Llista de ports TCP del servidor amb adreça IP ip_servidorX als quals s'hi vol accedir.

udp_ports_servidorX (on x són números de l'1 al 5)= Llista de ports UDP del servidor amb adreça IP ip_servidorX als quals s'hi vol accedir.


Execució de proxyautocfg


Convé fer una execució de prova:

 sudo ./proxyautocfg -test


Es crearà una carpeta anomenada output amb els fitxers que la utilitat modifica. A més, dins aquesta carpeta trobareu un fitxer, anomenat ordres, amb el llistat de les comandes que s'executaran qua s'executi proxyautocfg. És convenient revisar una mica el contingut de output per comprovar si les modificacions es realitzaran correctament.

Un cop executada la prova amb resultat satisfactori, es pot procedir a l'execució definitiva:

 sudo ./proxyautocfg


El procés demanarà la contrasenya de l'administrador del domini per tal d'integrar l'equip en el domini del centre (si el centre disposa de servidor de domini). Si la integració ha anat bé, la resposta del sistema a la introducció de la contrasenya és: Joined 'PX**UBT1004' to realm 'nom del domini'. Si no llegiu aquesta frase, alguna cosa ha fallat.

Durant el procés es recompilaran les llistes negres de l'SquidGuard (Re-building SquidGuard db files ...). El procés és una mica lent, teniu paciència.

En acabar, es demanarà un reinici de l'equip. Un cop reiniciat, el proxy-catxé Squid + squidGuard + iControl + iptables estarà completament configurat.


Comprovació del correcte funcionament


Per comprovar el correcte funcionament del sistema podeu fer el següent:

  1. Posau la IP del servidor cau com a porta d'enllaç per defecte d'un lloc de treball i navegau per Internet en aquest lloc de treball.
  2. Visualitzau el contingut de /var/log/squid3/access.log. Si el fitxer conté referències de la navegació anterior, vol dir que l'squid funciona.
  3. Per comprovar l'squidGuard, executau iControl des d'un lloc de treball qualsevol (http://adreça_ip_proxy/cgi-bin/iControl/iControl.cgi). Us ha de demanar autenticació; introduïu administrador i la contrasenya de l'administrador del domini (inicialment aquest usuari és l'únic que té permisos per accedir a iControl).
  4. Creau un nou origen i un nou destí, comprovau que podeu blocar, filtrar i permetre l'accés a Internet des del nou origen. Comprovau també que la navegació per llocs prohibits està restringida.
  5. Per comprovar que s'han blocat totes les connexions excepte les destinades als ports http, https, dns, pop3, smtp, ftp i ssh podeu esperar la protesta d'un professor que usi habitualment eines tipus eMule. Podeu també comprovar que es permet fer ping (per exemple, ping www.uoc.edu).

Accés a l'iControl


Cas A: El centre disposa de servidor de domini

Per defecte, només els usuaris administradors del domini (grup Admins. del dominio) tendran accés a iControl. Si es vol que altres usuaris hi tenguin accés s'ha de crear un grup global al domini fent servir l'eina Usuarios y equipos de active directory del servidor controlador de domini amb el nom icontrol_users i després afegir-hi els usuaris que vulguem que hi tenguin accés.

Cas B: El centre no disposa de domini

Els usuaris que tenen accés a iControl són coordinaciotic i professorat. Les contrasenyes d'aquests dos usuaris les podeu sol·licitar al Servei d'Informàtica Educativa i Suport Tècnic a Centres enviant un correu electrònic a sevei.ie@educacio.caib.es.

Actualització de les llistes negres


Actualment es poden trobar actualitzacions diàries de les llistes negres al servei FTP de la universitat de Toulouse (ftp.univ-tlse1.fr). Les llistes negres que s'han penjat al Weib i que han servit per fer la instal·lació inicial del proxy s'han compilat a partir d'aquestes llistes negres distribuïdes per la universitat de Toulouse. De tant en tant, també nosaltres penjarem al Weib llistes actualitzades. Per evitar haver de fer modificacions en el fitxer de configuració de l'squidGuard recomanam actualitzar les llistes negres emprant exclussivament les llistes publicades a la universitat de Tolouse o al Weib. El procés de descàrrega i actualització és el següent:

 cd $HOME


Aturada de l'squid

 sudo /etc/init.d/squid3 stop


Esborrau, si existeix, la darrera descàrrega:

 sudo rm blacklists.tar.gz
 sudo rm -rf blacklists


Descàrrega de les llistes

Si es fan servir les llistes de la universitat de Tolouse:

 sudo wget ftp://ftp.univ-tlse1.fr/pub/reseau/cache/squidguard_contrib/blacklists.tar.gz


Si es fan servir les llistes del Weib:

 sudo wget http://edudownload.caib.es/files/pxubt1004/blacklists.tar.gz


Extracció

 sudo tar xzf blacklists.tar.gz


Actualitzau les llistes actuals

 sudo cp -rf blacklists/* /var/lib/squidguard/db/


Recompilació de les llistes negres

 sudo update-squidguard


Tornau a iniciar l'squid

 sudo /etc/init.d/squid3 start


Tornau a executar el proxyautocfg

cd /opt/proxyautocfg
sudo ./proxyautocfg

 


Accés als informes generats pel servidor cau


Automàticament es generen informes diaris sobre la utilització del servidor cau i sobre les pàgines blocades per squidGuard. Els informes es poden consultar a la url http://ip_proxy/squid-reports/

Si es vol un informe del dia present, iniciau una sessió al servidor cau amb el compte ubtadmin i executau:

 sudo sarg-reports today


Ara, l'informe generat es podrà consultar a http://ip_proxy/squid-reports/


Cas A: El centre disposa de servidor de domini

Per defecte, només els usuaris administradors del domini (grup Admins. del dominio) tendran accés a iControl. Si es vol que altres usuaris hi tenguin accés s'ha de crear un grup global al domini fent servir l'eina Usuarios y equipos de active directory del servidor controlador de domini amb el nom sarg_users i després afegir-hi els usuaris que vulguem que hi tenguin accés.


Cas B: El centre no disposa de domini

L'únic usuari que tenen accés a iControl és coordinaciotic. La contrasenya d'aquest usuari la podeu sol·licitar al Servei d'Informàtica Educativa i Suport Tècnic a Centres enviant un correu electrònic a servei.ie@educacio.caib.es.