Posts tagged proxy
SquidTL 0.1.0
0Ho appena rilasciato, dopo due giorni di testing sul proxy della Sala di Lettura “Chiesa della Rosa”, la versione stabile (si spera !) di SquidTL.
Perchè SquidTL ?
Siete il gestore della intranet del Vs ufficio/azienda. Molti colleghi passano le giornate su Facebook o sui siti di notizie sportive. Il vs capo è preoccupato della produttività e delle perdite economiche causate dalla perdita di tempo dei Suoi dipendenti. Tuttavia non vuole scatenare la rivolta dei sindacati e le proteste di chi pensa che rilassarsi ogni tanto e distrarsi dal lavoro sia un diritto. Non potete semplicemente bloccare Facebook o Corriere dello Sport. Cosa fate ?
Pensate alla possibilità di non bloccare Facebook ai Vs utenti ma di limitarne l’uso. Potete accedere a Facebook, controllare la posta, rispondere alle notifiche ma…se esagerate…il sistema vi blocca per n minuti.
E questo potete farlo sia per un dominio ma anche per una lista di domini (bloccare i siti porno, ad esempio). Potete farlo specificando regole diverse per contesto (tot regole per l’Ufficio Amministrazione, altre per la Direzione, altre ancora per il reparto progettazione…) e gruppi di utenti diversi.
Potete monitorare il traffico di tutti i Vs utenti -chi, quando e da quale IP- comodamente via web.
Potete gestire account temporanei, bloccare temporaneamente utenti che violano le policy aziendali, controllare quali sono i siti web più visitati.
Come funziona SquidTL ?
SquidTL utilizza il meccanismo degli url_redirector di squid, un fantastico software per realizzare proxy web. Riceve ed analizza tutti gli accessi al web che transitano attraverso il proxy, decidendo se permetterlo oppure no.
SquidTL si basa fortemente su MySQL e PHP (per la GUI) ed il demone è sviluppato in C per la massima velocità ed affidabilità.
L’installazione è stata semplificata al massimo e si compone di una parte web (la GUI di gestione sviluppata in PHP), un dabatase (su MySQL) ed il demone in C.
L’interfaccia di gestione è stata creata pensando sia alla comodità di uso ma anche alla gradevolezza: utilizza jQuery ed i CSS per una grafica efficace ed accativante.
Vorrei provarlo ma…
SquidTL è software libero: non ha costi di licenza e viene distribuito in codice sorgente. Tuttavia mi rendo conto che può non essere semplice mettere a regime un proxy senza esperienza. Se desiderate provarlo nella Vs azienda sono a Vs disposizione per consulenza, messa in opera e gestione remota del sistema.
About Michele Pinassi
Nato a Siena nel 1978, dopo aver conseguito il diploma in "Elettronica e Telecomunicazioni" e la laurea in "Storia, Tradizione e Innovazione", attualmente è Responsabile del Sistema telefonico di Ateneo presso l'Università degli Studi di Siena. Utilizza quasi esclusivamente software libero. Dal 2006 si occupa di politica locale come attivista nel Movimento Siena 5 Stelle.
GNUnisi libera la Sala di Lettura “Chiesa della Rosa”
0Per i dettagli sul progetto guardate la pagina su www.gnu.unisi.it. Io vi voglio raccontare quello che è stata la mia attività.
Sala di lettura “Chiesa della Rosa”: 5 PC con Windows XP con accesso alla rete, completamente infestati di virus e malware vario, lenti e spesso neanche funzionanti. Arriviamo con un PC “server” in spalla, che funzionerà da proxy per una sottorete creata ad-hoc (per beghe istituzionali di autenticazione). In tasca il CD della Debian 5.0.3 Lenny ed una patch di rete.
Attacco il server alla rete, monitor, tastiera e parto con l’installazione della Debian. Da buon sistemista, al contrario di molti, NON installo X nè qualsiasi altra cosa abbia a che fare con X: attraverso SSH si riesce egregiamente a fare di tutto. Chi ha bisogno del mouse per gestire un server, meglio che mediti di cambiare lavoro.
Debian si installa senza problemi e tutto l’hardware della workstation HP xw4200 viene visto perfettamente.
Prima scelta strategia: partizionare il disco. Ho a disposizione 160GByte di hard disk…un’enormità rispetto al necessario. Decido di creare una / da 40GByte, 1 Gbyte per /boot ed il restante per /var, dove andranno tutti i log ed i DB di MySQL. Riservo 512MByte per lo swap.
Seconda scelta strategica: il software. Sono alla scelta dei pacchetti. Non rinuncio alla suite gcc, make etc etc per la compilazione di nuovi programmi. Installo Squid, Apache, MySQL, PHP, Postfix per la messaggistica, Monit per il monitoring dei processi, iptraf per controllare cosa succede nella rete. La partizione di root è stata occupata per circa 1GByte.
Terza scelta strategica: la rete. Finalmente si inizia a parlare di cose serie: come organizziamo la rete ? Decidiamo di creare una intranet 192.168.10.x per i PC al pubblico (dotandoli di IP fisso così da saper intervenire, via SSH, in caso di bisogno) e dotiamo il server proxy di due schede di rete (inizialmente creo una interfaccia virtuale sulla eth0: eth0:1): IF pubblica ed IF privata (192.168.10.1). Modifico il file /etc/network/interfaces:
allow-hotplug eth0 iface eth0 inet static address 172.x.x.x netmask 255.255.248.0 gateway 172.x.x.xauto eth1 iface eth1 inet static address 192.168.10.1 netmask 255.255.255.0 network 192.168.10.0 broadcast 192.168.10.255
Verifico la connettività e passo a configurare lo Squid, il proxy. Scelgo non implementare una soluzione di transparent-proxy perchè prevediamo di utilizzare dei redirector (tipo SquidGuard) per la gestione e blocco del traffico. Implemento l’autenticazione sul server LDAP di Ateneo così da permettere la navigazione solamente agli utenti dotati di account:
auth_param basic program /usr/lib/squid/ldap_auth -v 3 -b "dc=xxx,dc=it" -D "cn=xxx,ou=admin,dc=xxx,dc=it" -w xxx -f "(&(uid=%s)(objectclass=Person))" ldap.xxx.it
auth_param basic children 5
auth_param basic realm PASS
auth_param basic credentialsttl 1 minute
authenticate_ttl 2 hours
e mi riservo la possibilità di aggiungere dei domini visitabili anche da persone non autenticate (ad es. la pagina istituzionale o il catalogo):
acl noauthurl url_regex "/etc/squid/noauth.lst"
http_access allow noauthurl
decido anche di facilitare il compito ad un eventuale log analyzer (come webalizer) impostando il formato “combined” per i log di Squid:
logformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %<st "%{Referer}>h" "%{User-Agent}>h" %Ss:%Sh
access_log /var/log/squid/access.log combined
Ok, per il momento può bastare. Per il fine-tuning ci sarà, e ci vorrà, tempo. Passo adesso a lavorare ad una delle parti più delicate di un server: il firewall.
Impostare delle buone regole di firewalling penso sia una delle attività più difficili che un sistemista si trovi a dover compiere: una scelta sbagliata può compromettere tutta la funzionalità dei servizi e la scelta di cosa permettere e cosa bloccare richiede una buona conoscenza dei protocolli TCP, UDP ed ICMP e relativi servizi assegnati alle porte.
Insomma, il firewall deve proteggere: una corazza deve essere indossata bene perchè se cade al primo fendente….che corazza è ?
Ovviamente non starò a spiegarvi per filo e per segno cosa ho fatto in merito alle regole di firewalling. Dirrò che ho usato le splendide IPTABLES per gestire il tutto nel migliore dei modi e con risultati più che soddisfacenti !
Se per voi una riga così è arabo, non siete decisamente pronti a configurare un firewall:
[193883.833623] IN=eth1 OUT=eth0 SRC=192.168.10.xxx DST=130.59.10.xxx LEN=60 TOS=0x00 PREC=0x00 TTL=63 ID=7438 DF PROTO=TCP SPT=44968 DPT=80 WINDOW=5840 RES=0x00 SYN URGP=0
Non disperate: su netfilter.org trovate, comunque, tutto quello che vi serve !
Bene, adesso, mentre i miei colleghi sono alle prese con le 5 postazioni utente, mi dedico all’HP ProCurve (uno Switch) per far configurare una bella VLAN dedicata per la intranet della sala.
A questo punto passiamo alle raffinatezze che un sistema GNU/Linux offre. Innanzitutto implemento un bel sistema di monitoring continuo su tutti i servizi presenti nella macchina usando MonIT (apt-get install monit) e configurando adeguatamente /etc/monit/monitrc. MonIT controlla i servizi e, in caso di problemi, tenta il riavvio notificando agli indirizzi e-mail impostati l’evento. Per evitare problemi nella notifica ho scelto di installare un MTA (Mail Transport Agent) direttamente sulla macchina. La scelta è, ovviamente, ricaduta su Postfix (apt-get install postfix). Installo anche webalizer per fare l’analisi dei log di Squid così da avere anche una reportistica di uso delle postazioni. In più decido anche di implementare un server dns caching-only con bind9.
A questo punto riavvio (notare: riavvio !) per verificare le configurazioni di startup.
Alla fine, in una giornata di lavoro, abbiamo migrato 5 postazioni a Ubuntu Linux e configurato un server proxy Debian per il tutto, spendendo ZERO per il software e recuperando tutte le macchine esistenti.
La Chiesa della Rosa è stata liberata dalla malefica M$ !!!
About Michele Pinassi
Nato a Siena nel 1978, dopo aver conseguito il diploma in "Elettronica e Telecomunicazioni" e la laurea in "Storia, Tradizione e Innovazione", attualmente è Responsabile del Sistema telefonico di Ateneo presso l'Università degli Studi di Siena. Utilizza quasi esclusivamente software libero. Dal 2006 si occupa di politica locale come attivista nel Movimento Siena 5 Stelle.
Social Networks: bloccare o permettere ? Meglio limitare !
1Da alcuni studi, sembra che l’uso di Facebook sul posto di lavoro diminuisca la produttività di almeno l’1,5% e che il costo dei social network (LinkedIn, Twitter, Facebook) sia una bella cifra:
Morse PLC, una società specializzata in servizi IT, ha condotto lo studio su 1.460 impiegati inglesi, scoprendo che il 57% di loro accede ai siti di social networking in ufficio per motivi personali. La società ha calcolato che la mancata produttività di questi dipendenti costa alle imprese del Regno Unito qualcosa come 2,25 miliardi di dollari all’anno.
Fonte: ComputerWorld
Da una parte ci sono i dipendenti, che reclamano il loro diritto ad informarsi, dall’altra i datori di lavoro che vorrebbero dipendenti concentrati più sul lavoro che sulle chiacchere. Penso che tutti e due abbiano ragione: se da un lato è giusto dedicarsi al lavoro, dall’altro è anche vero che una pausa caffè (magari su Facebook) non ha mai ucciso nessuno !
Come si può, però, limitare l’uso dei Social networks (ma anche il porno, ad esempio, o la lettura quotidiani on-line…) ad una pausa caffè che non si trasformi nell’intera mattinata ?
La risposta è un proxy con SquidTL:
SquidTL is a software created for administrators that want to limit usage of particular web sites. Because HTTP is a stateless protocol, it’s very difficulty to calculate the right amount of visits by an user, so SquidTL check the amount of connections originated by each proxy user.
SquidTL è un software opensource, sviluppato dal sottoscritto, che si preoccupa di limitare -o impedire- l’uso di specifici siti web. Consultando il workflow si capisce come il prodotto sia estremamente flessibile e potente:
Ogni regola creata (che può essere un limite od un blocco) viene assegnata ad uno o più gruppi di utenti. Ogni regola afferisce anche ad un periodo di tempo specifico (può essere 24/7 oppure solo ore di lavoro, solo in pausa pranzo, etc etc) permettendo una maggiore flessibilità nel definire i momenti di validità (su base settimanale) delle regole.
Gli utenti sono riconosciuti secondo IP o login (SquidTL non si occupa di autenticare l’utente ma si può configurare Squid perchè esegua l’autenticazione) e vengono assegnati a gruppi, per facilitarne la gestione.
Il tutto viene gestito attraverso una comoda e pratica interfaccia web sviluppata in PHP e la quasi totalità delle impostazioni viene applicata in tempo reale: tutto il sistema è fortemente basato su MySQL.
I requisiti di sistema necessari sono veramente esigui: è sufficente un PC di media potenza (Pentium III 800Mhz) con almeno 1GByte di spazio libero (tra DB MySQL, Log, liste…) e 256MByte di RAM, dove installare una distribuzione GNU/Linux (SquidTL è stato testato con successo su Slackware, Debian ed Ubuntu) con i seguenti pacchetti software: Apache HTTP Server, MySQL, PHP, Squid.
Sei un’azienda interessata ad una prova del prodotto ? Contattami senza impegno per maggiori informazioni !
About Michele Pinassi
Nato a Siena nel 1978, dopo aver conseguito il diploma in "Elettronica e Telecomunicazioni" e la laurea in "Storia, Tradizione e Innovazione", attualmente è Responsabile del Sistema telefonico di Ateneo presso l'Università degli Studi di Siena. Utilizza quasi esclusivamente software libero. Dal 2006 si occupa di politica locale come attivista nel Movimento Siena 5 Stelle.
Internet su IPAQ rw6815
0Come sapete, ho preso un IPAQ rw6815 a poco su eBay. Questo smartphone ha Windows Mobile 5 (ok, infamatemi pure…) e l’ultimo aggiornamento della ROM risale al 30 Agosto 2007. Su questo palmare ho la mia scheda Wind su cui è attiva l’opzione Mega 1500 per l’accesso ad internet via GPRS/Edge e mi sono immaginato che non avrei avuto problemi a condividere tale connessione e navigare con il mio eeePC. …illuso ! Dopo aver provato vari programmi di routing (WMWifiRouter…) che prometteva di essere il non-plus-ultra, ho scoperto che ogni mio tentativo era vano perchè su questa versione di WM5 manca…ICS (Internet Connection Sharing), ovvero qualche DLL e poco più. Senza questa roba ogni tentativo di “nattare” era assolutamente inutile, così come inutili i vari tentativi di trovare un aggiornamento/patch su Internet. Alla fine ho risolto, in maniera straziante, con un Socks Proxy. Ovviamente avevo problemi con il DNS, così ho scoperto che -su Firefox- anche impostando un Socks Proxy, le chiamate del DNS vengono di default reindirizzate ai server DNS di sistema. Ho dovuto così impostare il parametro network.proxy.socks_remote_dns a true nella configurazione di Firefox, accedendoci via about:config.
Alla fine sono riuscito a navigare lentissimamente e con un sacco di dns timeout, ma navigavo. Ho così scoperto di essere un pò internet addicted
About Michele Pinassi
Nato a Siena nel 1978, dopo aver conseguito il diploma in "Elettronica e Telecomunicazioni" e la laurea in "Storia, Tradizione e Innovazione", attualmente è Responsabile del Sistema telefonico di Ateneo presso l'Università degli Studi di Siena. Utilizza quasi esclusivamente software libero. Dal 2006 si occupa di politica locale come attivista nel Movimento Siena 5 Stelle.

Commenti recenti