apr 17 2008

La fine dell’olio fritto

PJ @ 18:01Categorie:

Mi è arrivata oggi questa mail, che reputo interessante. In effetti sebbene molte persone si interessino a differenziare i rifiuti di casa, molti non lo sanno fare correttamente perché cadono in luoghi comuni, oppure non sono stati istruiti correttamente. A parte l’esempio citato nella mail, mi vengono in mente altri due errori comuni nel riciclare i rifiuti:

  • non tutta la plastica può essere inserita nei contenitori della plastica, ma solo quella che nella confezione riporta il simbolo del riciclo
  • carta e cartoni utilizzati per alimenti (il cartone della pizza da asporto, la salvietta della frittella) non vanno messi nei contenitori della carta, in quanto si tratta di carta sporca o unta. Lo stesso dicasi per le riviste patinate o certi tipi di carta oleosa.

A tale proposito voglio citare anche un articolo scritto dagli “Amici di Beppe Grillo” di Catanzaro, in cui si parla appunto del recupero dell’olio fritto. Ma veniamo alla mail:

È BENE SAPERLO PER LA TUA SALUTE E LA SALUTE DEL MONDO.

Sapete dove buttare l’olio della padella dopo una frittura fatta in casa?

Sebbene non si facciano molte fritture, quando le facciamo buttiamo l’olio usato nel lavandino della cucina o in qualche altro scarico, vero? Questo è uno dei maggiori errori che possiamo commettere.

Perchè lo facciamo? Semplicemente perchè non c’è nessuno che ci spieghi come farlo in forma adeguata

In realtà la cosa migliore che possiamo fare è ASPETTARE CHE L’OLIO USATO SI RAFFREDDI e poi collocarlo in alcune bottiglie di plastica, o barattoli di mayonese o marmellate, chiuderli e gettarli nella spazzatura.

UN LITRO DI OLIO CONTAMINA CIRCA UN MILIONE DI LITRI D’ACQUA, quantità sufficiente per il consumo di acqua di una persona per 14 anni.

Se tu scegli di inviare questo ai tuoi amici, l’ambiente ti sarà molto riconoscente.

Articoli attinenti:

  1. La fine dell’olio fritto

apr 17 2008

Come realizzare un modulo di autenticazione per Squid

PJ @ 15:19Categorie:

Squid è il software più famoso e diffuso per la realizzazione di un proxy Web o FTP, utile sia per creare una cache e accelerare così la navigazione su Internet che per proteggere la propria rete locale (ha opzioni per l’analisi e il filtraggio dei contenuti, degli IP e dei protocolli sorgente o destinazione). Attraverso l’utilizzo di moduli esterni consente di accettare connessioni solo a seguito di una corretta autenticazione, che può essere realizzata con l’aiuto di un database MySQL, un file di testo con le password in chiaro, un server LDAP o RADIUS, o qualsiasi altra cosa ci possa venire in mente.

Mi è capitato recentemente di dover realizzare un modulo personalizzato per l’autentificazione su un server LDAP dotato di istanze distinte per la gestione di studenti, docenti e dipendenti. In pratica non potevo utilizzare il modulo LDAP standard fornito con la distribuzione, ma ho dovuto riscrivermene uno di mio in PHP.

I moduli di autenticazione di Squid sono infatti degli eseguibili (programmi in C oppure script in PHP, PERL o altro) che accettano ciclicamente in input login e password dell’utente, fornendo una linea con l’esito dell’operazione di verifica dell’accesso. Vediamo quindi come costruirci un modulo di autenticazione e come configurare Squid per utilizzarlo.

Prima fase: la realizzazione del modulo

Come avevo accennato prima, il modulo è un eseguibile che deve accettare dallo standard input una riga contenente login e password codificate secondo l’RFC 1738 e separate da uno spazio, per poi restituire una riga contenente una delle parole OK o ERR a seconda dell’esito dell’operazione di autenticazione. Una volta restituita la riga col risultato, deve rimettersi in attesa di un nuovo input. La risposta ERR può essere seguita da una frase indicante il tipo di errore: tale frase può essere visualizzata all’utente tramite il parametro %m nella pagina di errore del proxy.

Vediamo quindi come possiamo realizzare un semplicissimo modulo in PHP, che si limita a verificare che l’utente inserisca come login la parola pippo e come password la parola pluto:

<?
while (!feof(STDIN))
      {
      $line = trim(fgets(STDIN));
      $fields = explode(' ', $line);
      $username = rawurldecode($fields[0]); // RFC 1738
      $password = rawurldecode($fields[1]); // RFC 1738

      if ($username == 'pippo' and $password == 'pluto')
         echo "OK\n";
        else
         echo "ERR\n";
}
?>

Con queste poche righe ci siamo già assicurati un sistema di controllo sugli accessi al nostro proxy; sta ora alla fantasia del programmatore arricchirlo col codice necessario per verificare l’identità dell’utente.

Seconda fase: la configurazione di Squid

Una volta realizzato il modulo occorre istruire Squid affinché lo utilizzi quando necessario. Per fare questo, dobbiamo creare una apposita ACL all’interno del file di configurazione:

auth_param basic program /usr/lib/squid/foo_auth
auth_param basic children 5
auth_param basic realm Autenticazione per l'accesso all'esterno
auth_param basic credentialsttl 5 minute
acl foo-auth proxy_auth REQUIRED

Il parametro program deve puntare allo script che abbiamo appena creato, comprensivo del percorso completo per raggiungerlo; children invece è il numero di processi di validazione che Squid attiva al suo avvio: questo parametro deve essere pesato in base alla frequenza di autenticazioni realizzate sul proxy durante la giornata. Il parametro realm indica il testo da visualizzare al momento della richiesta di login e password, mentre credentialttl indica il tempo di durata delle credenziali prima di riprocedere con la verifica.

A questo punto possiamo utilizzare l’ACL appena creata in maniera analoga a tutte le altre, ad esempio per chiedere la password quando un utente della rete locale cerca di accedere ad Internet:

acl from_local src 192.168.0.0/16
acl to_local dst 192.168.0.0/16
http_access allow from_local !to_local foo-auth