Personal tools
You are here: Home Progetti softwarelibero@scuola Proxy scolastico con SQUID
Document Actions

Proxy scolastico con SQUID

by Alice Narduzzo last modified 2008-06-06 10:12

Migliorare la gestione della rete locale scolastica, installando un server proxy basato su Squid su un computer configurato con Gentoo/Linux.

  • Istituto creatore del progetto: Liceo Scientifico "N. Tron" di Schio (VI), via Luzio, 4
  • Categorie a cui ha partecipato: Vicenza, Redomino base, Redomino Plus.
  • Responsabile del progetto: Filippo Frigerio
  • Descrizione sintetica: Questo progetto si propone di migliorare la gestione della rete locale scolastica, installando un server proxy basato su Squid, nota piattaforma per la creazione di proxy open-source, su un computer configurato con la distribuzione Gentoo/Linux. Attraverso un’apposita interfaccia in PHP sarà possibile, per gli insegnanti, attivare/disattivare l’accesso a internet o bloccarlo per determinati siti, singolarmente per computer o per laboratorio. L’interfaccia sarà accessibile da ogni computer della scuola, in quanto il proxy sarà collegato direttamente in rete locale.
  • Descrizione del progetto:

Introduzione

Nell’utilizzo quotidiano dei laboratori informatici si è sentita la necessità di uno strumento flessibile che permettesse di controllare l’accesso a internet da parte degli insegnanti. Non trovando alcun software libero che soddisfacesse le nostre necessità il TronWeb si è preso l’incarico di realizzare tale applicativo.
Lo sviluppo è stato senz'altro lungo, e per niente indolore, ma ha trasformato l'idea in qualcosa di realmente tangibile, con un funzionamento ineccepibile. Siamo fieri ed orgogliosi di ciò che abbiamo creato, ma ancor più nel pensare di presentare un'idea così innovativa in un istituto scolastico moderno quale è il Liceo Scientifico Tron.
Sicuramente possiamo dire di aver migliorato di molto la vecchia gestione di internet all'interno dei laboratori, che ora viene controllata da uno strumento molto più preciso ed affidabile. Anche graficamente, quest'applicazione è molto gradevole ed amichevole per l'utente, garantendo una facilità di utilizzo che consente veramente a tutti di usufruirne.

Cos’è un proxy?

Per spiegare correttamente cosa sia un proxy iniziamo a presentare la parte hardware.
La parte hardware si compone di un computer, configurato preferibilmente con un sistema operativo di tipo server (Gentoo server, Debian server, Windows server 2003, ...) e con una particolarità: 2 schede di rete, una collegata con un hub o switch nella quale arrivano le connessioni dai computer, e l’altra dalla quale parte il cavo che va al router. Il server proxy si frappone fisicamente fra il client e il router, impedendo o permettendo il passaggio, secondo le regole spiegate prima, della connessione.
Il proxy, inoltre, si differenzia in varie categorie:

  • Cache Proxy: questo tipo di proxy è utile nel caso la navigazione in internet sia lenta e quindi sia necessario memorizzare tutti i dati in modo da averli disponibili senza contattare il server e attendere la sua risposta.
  • Web Proxy: è il tipo di proxy che abbiamo usato. In poche parole è un server direttamente affacciato sulla rete che si occupa di filtrare tutte le connessioni in ingresso e in uscita verso la rete.
  • Anonymizing Proxy: a differenza degli altri tipi, questo è un server che si occupa di rendere anonime tutte le richieste che vengono effettuate sulla rete.
  • Transparent Proxy: è un proxy non va a modificare le richieste dei client verso la rete.
  • Non-transparent Proxy: è, al contrario, un proxy che modifica le richieste del client e aggiunge alcuni servizi.

 

A cosa serve un proxy?

Indipendentemente da ogni tipo presentato sopra, un proxy ha la funzione di filtrare la connessione a partire dal client verso la rete (router, modem, ...).

Nel nostro caso specifico, il proxy ha la funzione di lasciar passare tutte le connessioni segnalate come accettabili (allow) e bloccare tutte quelle non accettabili (deny). Il modo in cui svolge questa funzione è spiegato più avanti nella guida.

Interfaccia grafica (GUI)

Come tutte le cose, per essere accessibili e fruibili anche da chi non ha molta dimestichezza con il computer, è necessario che gli applicativi nuovi siano dotati di una interfaccia semplice e intuitiva.

Proxy-login

Così si presenta la pagina di login, mediante cui è possibile accedere all’applicazione in modo sicuro e con nome utente e password condivisi fra i docenti. È inoltre possibile accedere con un nome utente e password con dei diritti superiori.

pagina-admin

Questa è la pagina principale vista come utente Admin, quindi con i permessi maggiori. Nella parte Amministrazione è possibile andare a modificare le impostazioni principali dell’applicazione:

  • Gestione Utenti:

gestione-utenti

Nella pagina di gestione degli Utenti vi è una gestione semplificata degli utenti memorizzati nel database. È possibile modificare nome, password e diritti e inoltre si possono inserire nuovi utenti.
Per una maggiore sicurezza tutte le password vengono criptate con gli algoritmi md5 dello sha1.

  • Gestione Laboratori:

gestione-laboratori

Mediante questa interfaccia molto semplice, è possibile modificare, eliminare e aggiungere un nuovo laboratorio, con anche l’inserimento di ogni indirizzo IP per computer.

  • Gestione Squid:

Gestione-Squid

Qui è possibile modificare, aggiornare il file di configurazione ed anche ricaricare (/etc/init.d/squid reload) e riavviare (/etc/init.d/squid restart).
Abbiamo concluso ora l’interfaccia di amministrazione. Possiamo procedere alla spiegazione dell’interfaccia docente.

  • Interfaccia del docente:

Interfaccia-docente

Come salta subito all’occhio, l’impostazione grafica è identica, ma è nascosta e non accessibile la parte di Amministrazione.

non-accessibile

Questo è il messaggio di errore che compare se chiediamo per mezzo dell’url una pagina di amministrazione (tipo gestione dei laboratori ecc...).

Passiamo ora alla presentazione delle pagine dei laboratori:

pagine-laboratori

L’impostazione grafica qui è cambiata un po’, per fare spazio a tutti i computer presenti nel laboratorio, è stato necessario allargare i margini. Sotto alla scritta Laboratorio in alto, sono presenti i 2 pulsanti di accensione e spegnimento generale di internet. Però la vera innovazione e novità di questo proxy sta nel fatto che è possibile attivare internet per computer. Per la spiegazione delle funzioni rimandiamo al prossimo paragrafo: funzioni.

Funzioni

Come già detto prima, questo proxy nasce come web proxy, quindi al fine di affacciarsi nella rete locale e svolgere funzioni di controllo. La funzione primaria è ovviamente bloccare o permettere al client di affacciarsi la rete; ma per rendere completo il lavoro, abbiamo pensato di dargli la funzione di cache proxy, in quanto essendo molti i computer presenti nell’edificio scolastico risulta spesso difficoltoso navigare in internet fluentemente.
Pertanto il proxy che è stato installato nella scuola, apporta moltissimi benefici in fatto di velocità e accessibilità della rete.

Come è stato realizzato

Per spiegare come è stato realizzato il proxy, occorre suddividere il compito in 2 parti:

  • Come abbiamo realizzato il server:

    Come sistema operativo abbiamo scelto Gentoo Linux, che era già stato adoperato per il server centrale del Tronweb. Gentoo è una distribuzione binaria a nostro avviso difficile da installare e mantenere. In ogni caso è possibile installare Squid su qualsiasi sistema operativo (Debian, Ubuntu Server, Mandriva, ecc...) semplicemente digitando il comando per l’installazione più il pacchetto squid.

    es. gentoo: emerge –av squid;
    debian: apt-get install squid.

  • Come abbiamo realizzato l’applicativo:

    Invece il linguaggio che abbiamo utilizzato per creare l’applicazione è PHP insieme all’xHtml e CSS per la parte grafica.

    Ovviamente, per quanto riguarda la programmazione, abbiamo cercato di costruire    un’applicazione il più sicura possibile.

Implementazione futura

La nostra idea, fin dal primo momento in cui abbiamo cominciato a sviluppare l’applicazione, è stato quello di creare un programma che possa essere usato anche da altre scuole e anche da aziende. Ci siamo ispirati a vari applicativi soprattutto nel momento in cui c’è stato da pensare alle possibili implementazioni future.
Abbiamo creato un codice pulito e adattabile a qualsiasi tipo di computer e sistema operativo per perseguire questo scopo.

Box Serve Aiuto
Box Serve Aiuto

Serve aiuto o vuoi provare Plone GRATIS?

Chiedilo ORA!!

 
Manuale Plone 3.0
Manuale Plone 3.0

Manuale Plone 3 in Italiano

Leggilo ORA!!

Sostieni il software libero
Contribuisci allo sviluppo di ItalianSkin
 

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: