RHCE exam passed!

Print Friendly

WHO-HAAAAAAAAAAA!!!!!!!!!!
Just passed yesterday the RHCE exam and now I’m RedHat Certified Engineer!!!

My end results:

SECTION I:    TROUBLESHOOTING AND SYSTEM MAINTENANCE
Compulsory Section I score:                        50.0
Non-compulsory Section I score:                    50.0
Overall Section I score:                           100

SECTION II:  INSTALLATION AND CONFIGURATION
RHCT components score:                             100.0
RHCE components score:                             89.3

RHCE Certification:                                PASS

Congratulations -- you are now certified as a Red Hat Certified Engineer!  Your RHCE Certificate number is 805008660832359.

Continue reading

Microsoft Office Communicator Web Access hangs on Firefox 2.x

Print Friendly

Just solved an ANNOYING problem on my Ubuntu Gutsy installation.

Microsoft Office Communicator Web Access was freezing Firefox 2.0.0.11 right after the login page.
Intensive investigations bring to the conclusion that the Google Toolbar was causing the issue.
After I disabled the Google Toolbar the problem has gone.
Removing the features from the settings didn’t help, only disabling did.

I reported this to Google on their Help forum.

Hope that this can help someone in the same situation as me.

The situation is annoying because:

  • if you need Microsoft Office Communicator Web Access, it means that you’re already pissed off because the client is not available for your OS
  • your collegues are probably blaming you because you’re not running Windows
  • you want to proof that with Linux you can do everything, but then you can’t run a bloody instant message

:-D

L’AMERICAAAA

Print Friendly

Eccomi appena tornato da 9 giorni in California, US!

Ho avuto la grande fortuna di essere andato la’ per lavoro, in visita alla sede principale dell’azienda per cui lavoro, a Sunnyvale, California, nel cuore della silicon valley.

L’impatto con l’America e’ una bella esperienza, e’ un’esposizione ad una cultura veramente differente dall’europea.
Per rendere l’esperienza piu’ interessante, ho avuto a noleggio una Mazda MX-5 convertibile :-)

Continue reading

Nice software for multi-PC users!

Print Friendly

If you, like me, have more than one PC on your desk…

http://fredrik.hubbe.net/win2vnc.html

This software is a VNC client that permits to use the client keyboard and mouse, but the host monitor.

That’s it: if you have 2 PC, with theirs own monitor, you can manage both with the same keyboard and mouse, but still using the monitors as if it is an extension of the first PC.

It’s very nice, the only problem I found is that connecting from my Windows host to the Linux box sometimes the process get crazy and the CPU goes up to 100%…

From KDE to Gnome

Print Friendly

Starting from yesterday, I switched my Linux Graphical Interface from KDE to Gnome.

I used KDE for about 1 year, and I like it, but I want try the difference to make my opinion about what seems to me a big debate: KDE or Gnome?

I report my experience as user of a laptop running Kubuntu, for a user point of view.

I heard some developer argue that the developer tools of Gnome are better, but I don’t care because this is not what I need.

When I started using Gnome, what I found really positive was the speed, the responsiveness and the better look&feel.

What I dislike if the missing “address bar” in Nautilus (I can write the address with CTRL+L but it disappears after the selection).

This is something reported in the famous discussion in witch Linus Torvalds attacked Gnome in flavour of KDE:

http://mail.gnome.org/archives/usability/2005-December/msg00021.html

(reading the whole thread takes some times…)

Installing SmartConsole on Wine How-To

Print Friendly

Installing SmartConsole on Wine How-To
written by Daniele Besana
(10 april 2005)

for ITVC.net

v1.0

We waited for a long time the Checkpoint release of SmartConsole for Linux.
Unfortunatly Checkpoint never released it, but with the last WINE release (http://www.winehq.org/) we can do it ourself!
WINE is a free implementation of the Windows API for Linux, able to run many application created for Microsoft’s OS.
In the earlier version I’ve tried to run SmartConsole, but it failed with errors… but now with Wine release 20050310 something is changed!
Now it works.
In this paper I’ll explain how to setup either Wine and SmartConsole, but my assumption is that you are familiar with a Linux system and with installation programs.

Login SmartConsole

Screenshoot

MY ENVIRONMENT

My system:

Debian Sarge

Wine version:

20050310

WINE INSTALLATION

You have many installation options for Wine.Take a look at http://www.winehq.org/site/download for a list of distro with its packages.
For my Debian I’ve just added the following line into /etc/apt/sources.list:
deb http://wine.sourceforge.net/apt/ binary/
The run an “apt-get update” to download the new info.

Now I installed the packages:
wine 0.0.20050310-1.1 Windows Emulator (Binary Emulator)
wine-utils 0.0.20050310-1.1 Windows Emulator (Utilities)
winetools 2.1.1-1 A graphical setup suite for Wine

with their dependencies, as usual with “apt-get install

”.
Please note that wine-utils is very important: for example it contains the reboot script used in program setup like Internet Explorer 6.0.
Without wine-utils it fails.

As normal user, run:
“wt2”->”base setup”->”create a fake windows drive”
this create a fake windows drive in “˜/.wine/c”, check the right path in your system.
This process give me an error but I’ve ignored it without problems.
Then install DCOM98.
It’s important to setup DCOM because they contains some files needed by SmartConsole, like OLE32.DLL.

SMARTCONSOLE SETUP

I just copied the entire windows SmartConsole directory, that in my installation is:
c:\programmi\checkpoint\smartconsole\R55\
into my Wine fake windows programs folder that I’ve in:
˜/.wine/c/Program Files/SmartConsole/R55/

Then we need to copy a few .dll’s file to get it work!
Into
˜/.wine/c/windows/system/
you must copy from the windows c:\windows\system32\ directory the files:
MFC42.DLL
MSVCIRT.DLL
MSVCP60.DLL

Finally, in my setup I adjusted the permissions to PROGRAM directory, adding write permssion to my user:
drwx—— 10 Daniele Daniele 8192 2005-04-09 21:05 PROGRAM

Now move to:
˜/.wine/c/Program Files/SmartConsole/R55/PROGRAM
and run:
wine FwPolicy.exe

and check if it runs.
If you got a list of error, just check the first few lines looking the missed DLL.
If wine reports missing OLE32.DLL, check if it’s into:
˜/.wine/c/windows/system/
otherwise try re-installing DCOM98 from “wt2” (Winetools).

KNOW ISSUE

The problems I found in my setup are:

  1. if you click right mouse button on colums Source, Destination, Service the program quit unexpectly;

  2. the SmartTracker miss a lot of icon and doesn’t show query panel

  3. Demo mode doesn’t work (error: “The connection has been refused because the database could not be opened.”)

ABOUT THE AUTHOR

Daniele Besana is Checkpoint certified CCSE 4.1, CCSE NG and CCSA NGX.
You can contact Daniele at daniele@ITVC.net

FORMAZIONE: LA COSA PIU’ IMPORTANTE

Print Friendly

FORMAZIONE: LA COSA PIU’ IMPORTANTE

scritto il 10-04-2005 per ITVC.net

“Security is a process, not a product” (Bruce Schneier)
Quante volte l’abbiamo sentita?
Quante volte è stato scomodato un personaggio del calibro di Schneier per ribadire che la sicurezza non si fa con i prodotti, ma con la consapevolezza?
La sicurezza è un “abito mentale” come la definiva il mio boss già 6 anni fa.
Questo bel concetto si può allargare oltre i confini della security, perchè anche applicare una logica rigosora al proprio lavoro è un “abito mentale”, così come lavorare bene è un “abito mentale”.
Ma non può essere solo questione di buonsenso. Ci vuole formazione.

Eppure qualcosa non va.
Continuo a sentir dire che l’azienda ACME inc. ha implementato un sistema di intrusion detection del vendor X, oppure che ha rifatto la propria rete con switch e router del vendor Y.
Mi capita molto più raramente di sentire che l’azienda ACME inc. ha assunto un bravo IDS analyst, o che ha un ottimo Firewall administrator…
Come mai? Come mai i prodotti hanno ancora più spazio delle persone?
Forse perchè i prodotti evolvono più velocemente del personale che li deve gestire? Ci vuole formazione.

Altra opinione comune è che il valore degli IDS è dato dal tecnico che lo utilizza e che i tecnici con quelle competenze sono pochi.
Eppure la soluzione non è rinunciare ad implementare i sistemi di Intrusion Detection, e neanche cercare sistemi più semplici che nascondono tutto dietro ad una bella interfaccina.
La soluzione è far crescere le persone, investire in formazione, l’obiettivo non è la tecnologia, ma avere le conoscenze per gestirla!
Il famoso “know-how” va creato. Ci vuole formazione.

Ho già parlato di come si sta evolvendo il firewalling nell’Opinion “Firewall (r)Evolution” – http://www.itvc.net/opinion/view.asp?id=280.
Nonostante sia passato quasi un anno da quell’articolo la situazione mi pare abbastanza invariata: continua l’avanzata dei controlli a livello applicativo inseriti nei firewall, chiamatela “Application Intelligence” o “Deep Inspection” come preferite ;-)
Il succo è che questa cosa potentissima richiede competenze differenti, le aziende devono formare chi si occupa di rete e di firewalling per poter operare a stretto contatto con chi sviluppa le applicazioni.
L’alternativa è continuare ad usare il proprio firewall come un apparato di rete che apre e chiude porte.
E allora si riceveranno richieste del tipo:
“per favore, aprite la porta 8080/TCP perchè è necessaria alla nuova applicazione”.
E il buon firewall administrator aprirà quella porta seguendo la procedura aziendale nei punti 5bis e 6 dell’allegato B.
E’ sicurezza questa?
Io vorrei che un firewall administrator capisse come mai serve quella porta, che traffico dovrà transitare, con quale semantica, con quali rischi, quali controlli è possibile applicare su di esso.
Non dobbiamo aspettare che i prodotti diventino più semplici, perchè come dice En3py “la complessità di una soluzione è proporzionale a quella del problema che risolve”.
Quindi non c’è niente a buon mercato, bisogna andare a fondo e conoscere bene quello che si utilizza . Ci vuole formazione.

Altra frase che si sente spesso è “vogliamo scegliere una soluzione diffusa e conosciuta per poter trovare altri tecnici che la sappiano gestire”.
Condivido in parte questo modo di pensare, perchè pone delle limitazioni nella scelta del prodotto anche se vuole svincolare la soluzione dal personale tecnico.
Invece che formare i tecnici per utilizzare la tecnologia che meglio si adatta alle nostre esigenze, si preferisce scegliere il prodotto più diffuso, un po’ seguendo il vecchio adagio del “mal comune mezzo gaudio”.
Si pensa che la formazione costi troppo, eppure non si riescono a valutare i costi della non-formazione, per non parlare dei costi di consulenze esterne che si potrebbero evitare.
Un tecnico che non è preparato per operare su una tecnologia è lento, insicuro, ed esposto a malconfigurazioni che possono solo creare danni.

Ci vuole formazione.


Formazione sui prodotti e sulle tecnologie, per sapere quello che si sta facendo:
bisogna investire sulle persone.
Sono ancora troppo poche le realtà in cui si pianifica una formazione seria e costante del personale, e troppe quelle in cui ci si affida alla buona volontà del dipendente che studia la sera facendo le prove in casa.

E voi pensate che la soluzione sia cambiare tecnologia?
Formazione: ecco la cosa più importante!

Informatica e Scienza…

Print Friendly

Informatica e Scienza…

scritto il 27-09-2004 per ITVC.net

…ovvero come occuparsi di IT facendo tesoro degli insegnamenti Galileiani.

Premessa: non parlo di informatica come “scienza dell’informazione”, quanto piuttosto dell’informatica “tecnica” che facciamo tutti i giorni: sistemi, architetture, configurazioni, assistenze… perchè l’attività di un sistemista o di un network engineer deve essere considerata scienza?
Beh, innanzi tutto perchè la mia vecchia enciclopedia definisce la scienza come “il sapere, l’aver conoscenza di qualche cosa”. E fin qui ci siamo: siamo tutti scienziati.

Ma partiamo dalle origini della Scienza Moderna: Galileo Galilei.
Galilei ha rivoluzionato il modo di vedere e studiare il mondo, facendo fare un grosso salto culturale a tutta l’umanità con l’invenzione del metodo scientifico.

Prima di lui era IPSE DIXIT: “lui l’ha detto”.
Per secoli i pensatori basarono il loro sapere su quello che disse Aristotele; era IPSE DIXIT. Quello che carpì Aristotele ragionando sul mondo era dato per certo, perchè l’aveva detto lui, senza che nessuno si era posto il problema di verificare in modo rigoroso le idee che sosteneva: nessuno prima di Galilei.

Ora, l’informatica è piena di IPSE DIXIT!
Tutti quelli che pendono dalle labbra dell’amico che è “entrato nel sito della NASA” e che si fidano ciecamente di ogni sua affermazione seguono l’IPSE DIXIT.
Peccato che molte volte non sia tutto vero, e che sarebbe bastato qualche semplice “esperimento” per scoprire la verità.

Galilei, dicevo, si è posto il problema di verificare quello che si andava credendo da molto tempo attraverso basi sperimentali.
Ogni teoria, ci dice, per essere vera deve essere dimostrata con i risultati di un esperimento. Esperimento che può venir ripetuto da altre persone che otterranno gli stessi risultati.
Questi insegnamenti devono essere tenuti sempre a mente da chi fa il nostro lavoro, perchè non ci dobbiamo comportare come azzeccagarbugli ma come scienziati!

Nella scienza esistono 3 livelli di verità.


Il primo livello è quello delle prove riproducibili: se non credo che sia vera una certa cosa, ripeto l’esperimento e osservo il risultato.
La scienza ci insegna il principio di inerzia: ognuno di noi lo può verificare mettendo il cambio in folle mentre stiamo viaggiando in macchina.
Davanti ad un problema informatico, chi lo analizza e capisce quando si presenta e in che condizioni si verifica sta ragionando con rigore scientifico; chi sostiene che va rifatto tutto e dà la colpa a Bill Gates non sta agendo con rigore scientifico.
Nel caso informatico, al primo livello possiamo mettere tutte le cose riproducibili:
“quando apro un documento in word contenente la parola “buzuzu” mi dà errore”
Questa affermazione può essere vera o falsa, basta provare per scoprirlo.

Il secondo livello è quello degli eventi che si possono studiare ma non si possono controllare: la nascita di una stella è un esempio in ambito scientifico.
Nel “nostro” ambito, gli esempi possono essere:
“ogni tanto quando apro un documento in word mi esce un errore”
Se andiamo sul PC della segretaria, apriamo un documento word e non abbiamo l’errore NON significa che è tutto a posto.
Bisogna fare ulteriori prove, mettere in guardia l’utente su cosa fare e cosa controllare quando si presenta il problema… e magari poi dopo aver approfondito si ricade nell’esempio del primo livello.

Il terzo livello è quello degli eventi che sono accaduti una sola volta e non sono replicabili nè osservabili: la nascita dell’universo.
Cosa c’è di analogo nell’informatica?
Io direi una cosa del tipo:
“ho formattato il PC perchè ogni tanto quando aprivo un documento in word mi usciva un errore”
Difficile se non impossibile in una situazione simile andare ad analizzare il problema! Non si può ricreare la situazione precedente perchè il PC in questione è stato bello che formattato. Si possono fare solo ipotesi non verificabili.

Ma la scienza e l’informatica non vivono di sole analogie e similitudini… ci sono anche differenze molto, molto importanti.
La differenza fondamentale è che la scienza si occupa di capire il mondo che ci circonda, le sue leggi e la loro applicazioni mentre l’informatica è interamente creata da altri uomini.
Pensate quanto è affascinante per uno scienziato scoprire una regola della natura, scoprire una legge che è stata creata da chissà chi e chissà perchè.
Potete credere in Dio o nel caos, in ogni caso una scoperta di questo tipo non è paragonabile con la scoperta di una falla in un software, non c’è storia!

Questo perchè l’informatica si occupa di qualcosa che non è in natura, ma che è stato interamente creato da altri uomini.
Quando si studia un argomento, quando scopriamo come fare una certa cosa, quando viene scoperta una vulnerabilità si sta “solo” scoprendo qualcosa che è stato fatto da un altra persona come noi.

E’ incredibile come questo possa sminuire quello che facciamo tutti i giorni, ma bisogna guardare in faccia la verità.
La verità è anche che non è possibile sapere tutto, ma il livello delle nostre conoscenze è un metro della nostra persona.
E riflettendo si vede come il livello di conoscenze influisce sul nostro modo di ragionare in termini di rigore scientifico.

Quante volte avete sentito frasi del tipo:

  • “è windows che ogni tanto fa conflitto”

  • “si vede che non si è installato bene”

  • “si è incasinato tutto”

Bene, queste frasi sono classiche di chi ha scarse conoscienze in materia, e non è in grado di applicare rigore scientifico al proprio lavoro.

Quindi se non vogliamo che l’industrializzazione dell’informatica sminuisca il nostro lavoro e ci porti ad essere trattati come criceti che girano la ruota smettiamola di fare gli azzeccagarbugli e iniziamo a fare gli scienziati… applicando il metodo scientifico ;-)

FIREWALL (r)EVOLUTION

Print Friendly

FIREWALL (r)EVOLUTION

il firewalling di ieri, oggi e forse domani…

Scritto il 04-04-2004 per ITVC.net


Questo articolo presenta un breve excursus sulle novità tecniche che hanno caratterizzato la storia del firewalling, presenta la situazione attuale e analizza un possibile futuro.

Non intendo fare pubblicità a nessun produttore e neanche entrare nella diatriba opensource/vendor.



In principio erano i packet filter.

Chiudere le porte, questo era l’obiettivo degli amministratori di rete che per primi sentirono la necessità di avere un punto di controllo (poi chiamato firewall) del traffico all’interno delle loro reti.

Filtrare il traffico, lasciando passare solo i protocolli, gli IP e le porte necessarie.


Successivamente le esigenze aumentarono, e nacquero i primi firewall statefull inspection, i quali non solo fanno passare il traffico secondo protocollo/porta/IP, ma tengono anche traccia della sessione.


Seguirono gli anni in cui i firewall iniziarono a diffondersi pesantemente, riconosciuti come elementi fondamentali non solo della sicurezza, ma delle reti stesse. Questo perchè il firewall per poter analizzare i flussi di traffico tra i vari network deve necessariamente avere una posizione centrale.


Una volta che le reti si sono riempite di apparati di firewalling è nata una nuova esigenza: la gestione.

E tutti i produttori si sono mossi per fornire agli staff tecnici interfacce di management, monitoring e analisi centralizzata capaci di gestire una multitudine di macchine da una postazione centrale.


E fin qui siamo arrivati all’anno 2002.

Facendo il punto della situazione, possiamo gestire da una postazione centrale multipli firewall che filtrano il traffico capendo se il pacchetto appartiene ad una sessione già stabilita o meno.


A questo punto è sorto però un problema.

Un firewall posto a protezione del web server aziendale può bloccare tutto il traffico ad esclusione delle sessioni destinate alla porta 80/TCP, necessaria per l’utilizzo del web server.

Ma in questo modo abbiamo la porta 80/TCP esposta ad ogni sorta di attacchi, e il firewall non può essere il nostro unico strumento di difesa.


Ma vediamola anche in un’ottica diversa: un’azienda con migliaia di computer consente ai propri dipendenti la navigazione internet (porte 80/TCP e 443/TCP) e il protocollo di trasferimento file FTP (porta 21).

Tutte le altre porte sono chiuse, impedendo ai dipendenti l’utilizzo di tutta una serie di applicazioni che, secondo le policy aziendali, vanno contro la produttività.

Una politica di filtraggio del traffico in uscita di questo tipo era considerata un buon livello di sicurezza, fino a qualche annetto fa.

Ma con lo sviluppo delle applicazioni è diventato facile aggirare un firewall semplicemente cambiando la porta utilizzata per le comunicazioni.

Facciamo il caso del nostro amato software di istant messaging (IM): ICQ. (www.icq.com)

In questa pagina http://www.icq.com/icqtour/firewall/https.html troverete come far passare tutto il traffico di ICQ sulla porta HTTPS (443/TCP).


Se gli IM fanno perdere produttività, i software di P2P e file sharing rischiano di far perdere credibilità ad un’azienda.

Basti pensare alla campagna che si sta sollevando proprio in questo periodo contro il file sharing a protezione dei diritti d’autore, con la discussa legge Urbani (http://punto-informatico.it/pbox.asp?i=47515) che anche se non verrà approvata evidenzia molto bene la strada che si sta tracciando contro la diffusione di materiale illegale in Internet.

Non voglio assolutamente entrare nel merito di questo decreto perchè non è l’obiettivo di questo articolo, il punto casomai è un altro.

Chi gestisce una rete aziendale si DEVE porre il problema del P2P e di come difendere la propria azienda.

Basta che un utente su 100 si mette a scaricare film protetti dai diritti d’autore per compromettere tutta la società.


Tornando ai nostri cari firewall, come possono difenderci?

Ci vengono in aiuto i firewall con content inspection quelli cioè che fanno analisi del protocollo.

Questi prodotti non si accontentano più di analizzare una sessione basandosi sulle porte utilizzate, ma verifica che la SEMANTICA del protocollo sia quella corretta.

Facendo l’esempio del traffico HTTP, verificherà che il traffico che passa sulla porta 80/TCP siano GET, POST, HEAD… cioè traffico effettivamente HTTP.


Spostare un server FTP dalla porta 21/TCP alla porta 80/TCP non basta più per “raggirare” il firewall, perchè il protocollo FTP ha una sintassi differente (fatta di LS, PUT, GET parametrizzare in un certo modo) rispetto al protocollo HTTP.


Questo è un passo fondamentale nelle tecnologie di firewalling: spostarsi dal livello di rete ai livelli più alti addentrandosi sempre di più nei pacchetti ispezionati.



I firewall diventano sempre più intelligenti.

I firewall analizzano livelli del modello ISO/OSI sempre più elevati.



Ma l’evoluzione non si è fermata a questo traguardo, perchè le minacce hanno fatto di nuovo evolvere le esigenze dei clienti.


Gli attacchi e le vulnerabilità infatti si sono sempre più spostate verso il livello applicativo.

Torniamo al nostro esempio del firewall che protegge il nostro web server aziendale.

Un buon firewall content inspection può per esempio consentire solo alcuni “comandi” forniti dal protocollo HTTP, ad esempio può permettere che client remoti su Internet richiedano delle pagine (GET HTTP) oppure richiedano informazioni su una pagina (HEAD HTTP) ma non possano inviare dei dati al web server (POST HTTP).

Non può però proteggerci da tutte le vunlerabilità del nostro web server, e da tutti gli attacchi a livello applicativo.


E, neanche a farlo apposta, è proprio in questa direzione che si stanno muovendo tutte le recenti tipologie di attacco informatico. La minaccia ormai viaggia a livello applicativo, proprio dove i firewall non possono agire…


Ma in aiuto del firewalling è arrivato un altro strumento da anni a disposizione degli amministratori di rete: l’intrusion detection.


Il 2003 infatti ha fatto fiorire una nuova frontiera per il firewalling: l’intrusion prevention (IPS).


L’intrusion prevention nasce come evoluzione dell’intrusion detection.

Mentre l’intrusion detection permette di monitorare l’attività di rete e delle macchine al fine di rilevare eventuali anomalie e/o attacchi, l’intrusion prevention si spinge oltre tentando di bloccare tale traffico.

E’ un compito molto arduo, che non amette errori, perchè bloccare traffico LECITO può essere più grave che lasciar passare un tentativo di intrusione che sfrutta un exploit a cui i nostri sistemi non sono vulnerabili.

Questo tipo di tecnologia è stato accolto con scetticismo nel settore, tanto che un’analisi del Gartner Group (luglio 2003) in cui si dichiarava morta l’Intrusion Detection a tutto favore degli IPS è stata aspramente criticata. (http://www.gartner.com/5_about/press_releases/pr11june2003c.jsp)



Tuttavia i vari produttori hanno raccolto la sfida e si sono prodigati per integrare nei loro prodotti firewall le funzionalità di intrusion prevention.


Torniamo ancora una volta al nostro esempio del firewall a protezione del web server aziendale.

Un client maleducato tenta di accedere al file ROOT.EXE che a suo tempo veniva installato da Code Red (può sembrare strano ma ancora oggi i tentativi di questo tipo non mancano, guardate i log dei vostri web server!):


GET /scripts/root.exe HTTP/1.1


Questo è il comando GET HTTP che invierà, accludendo tutta un’altra serie di informazioni che qui ometto.

Il nostro content inspection firewall verifica che le GET sono autorizzate e lascia passare la richiesta.

Se avessimo avuto un firewall con IPS avrebbe bloccato una richiesta di questo tipo, perchè riconosciuta come illecita.


Oltre a fermare atacchi NOTI, come quello qui mostrato, consente di bloccare anche traffico ritenuto anomalo anche se non associato a nessun attacco già conosciuto.

Per esempio, bloccare le richieste HTTP con header MOLTO lunghi potrebbe salvare il nostro web server da uno zero-day exploit che sfrutta un buffer overflow.

Oppure, potrebbe bloccare l’utilizzo della web-mail di Yahoo, come accade con un famoso firewall con intrusion prevention in configurazione di default…


Qui però nasce un altro punto di riflessione.

Lasciare che un firewall lavori a livello applicativo significa che c’è un livello di collaborazione tra chi si occupa di sicurezza in azienda e chi si occupa delle applicazioni, cosa che è ancora oggi difficile da trovare.

La sicurezza viene ancora vista come attività di competenza di chi si occupa di networking, settore dal quale provengono molti degli attuali responsabili della sicurezza.

Ma la sicurezza è un’attività TRASVERSALE, che DEVE abbracciare ogni settore e vi ci si deve amalgamare…



Siamo arrivati alla fine? Non ancora. Manca l’ultima frontiera, quella che si sta diffondendo in questo periodo: gli application firewall.

La definizione di questo tipo di prodotti è ancora un po’ vaga e fonte di confusione, come sempre accade quando il marketing ci mette lo zampino. ;-)

Molti dei prodotti che si presentano come application firewall sono, secondo me, dei firewall con estensioni di Intrusion Prevention, quindi, come abbiamo visto, firewall che lavorano a livello applicativo.


I veri application firewall sono, sempre IMHO, quei prodotti interamente dedicati alla protezione di un’applicazione.

Gli unici che ho avuto modo di vedere lavorano con le applicazioni web, senza dubbio le più minacciate, e con la posta elettronica, altro servizio chiave messo in scacco da virus e spam.


Torniamo per l’ultima volta all’esempio del web server aziendale. Lo avevamo lasciato protetto da un firewall con IPS, sicuramente un ottimo livello di protezione.

Però non ci aiuta se qualcuno prova ad attaccare proprio la nostra applicazione web.

Esempi comuni di attacchi di questo tipo sono la SQL Injection, i Cross Side scripting (XSS), ma anche tutti i tentativi di by-passare i meccanismi di input-validation messi in piedi dagli sviluppatori.


Vedo di fare un esempio di mancata input validation che sia il più banale possibile.

Supponiamo di avere una pagina che contiene un form in cui si specifica un codice numerico.

Inviando il form, l’applicazione restituisce i dettagli del prodotto associato a quel codice: una banale ricerca, in pratica.

Un client cattivo però inserisce invece di un codice numerico la stringa “1 OR 1=1” .

L’applicazione non è scritta a regola d’arte e non verifica che il parametro passato sia numerico, inserendolo nella query al database che può avere una sintassi di questo tipo:

“SELECT * FROM TABELLA WHERE ID=”

quindi nel nostro caso

“SELECT * FROM TABELLA WHERE ID=1 OR 1=1”

Questa SELECT restituirà TUTTI gli elementi contenuti nella tabella di nome TABELLA, perchè è vera per ogni elemento della tabella.

Se non siete pratici di SQL non vi preoccupate, cercate di capire il concetto.

Se abbiamo una tabella grossa, con molti elementi, questa query può creare problemi di performance all’applicazione e al DB, fino a creare dei veri e propri denial of service.


Come può, un firewall, aiutarci contro attacchi di questo tipo?

La risposta che ci forniscono i vendor sono appunto gli application firewall.

Questi apparati sono in grado di capire che “normalmente” QUEL form di QUELLA pagina viene compilato con un codice numerico, e interpreterà l’inserimento di un carattere alfanumerico come una infrazione che va bloccata.


Non entro nel dettaglio dei meccanismi usati, però ci sono prodotti che sono in grado di fare questo tipo di controlli quindi se volete approfondire è sufficiente una ricerca su un motore di ricerca con la chiave “application firewall”.



In definitiva, i firewall sono partiti analizzando i livelli 3-4 (prima IP/porta e poi le sessioni), per arrivare ai più avanzati controlli sul livello 7 (applicazione).

Stando all’attuale implementazione del modello ISO/OSI diremmo che non c’è molto altro da aggiungere.

Eppure sono due i fronti in cui i prodotti stanno evolvendo o si evolveranno nel futuro.


Il primo è l’integrazione. In una rete attuale ci sono, semplicemente, troppi elementi!

In grosse reti con grossi carichi abbiamo router, switch, bilanciatori, firewall, tutti elementi ridondati per avere alta affidabilità.

Questo significa aumentare esponenzialmente la complessità di implementazione e gestione a livello 2 (switch multipli, VLAN, Spanning Tree da gestire) e i costi per ridondare ogni elemento dell’infrastruttura.


Già oggi ci sono alcune soluzioni di integrazione, le quali permettono di raggruppare tutti questi elementi in macchine che utilizzano la tecnologia delle schede “blade” associate ad una gestione del fail-over e del networking integrato nella scheda di controllo.


Altre soluzioni di questo tipo arriveranno di sicuro a breve, considerando anche le partnership che si stanno formando tra i produttori di networking e i produttori di firewall.

Arriveranno tutti a fornire soluzioni integrate di switch/router modulari con schede dedicata al firewalling.



Un altro fronte interessante, molto più legato all’aspetto della sicurezza che non alla gestione, è quello del social engeneering.

E’ assodato che l’utente è l’elemento in assoluto più debole nella catena della sicurezza aziendale, come confermato anche nella nostra “Intervista ad un Gray Hat” (http://www.itvc.net/opinion/view.asp?id=277) dal misterioso BF.

E come riportato da una news comparsa su SecurityFocus proprio nei giorni in cui stavo scrivendo questo articolo: http://www.securityfocus.com/columnists/231


Come ci proteggeranno i firewall di domani da questa crescente insidia?


Forse non ci riusciranno mai, o forse dietro la porta ci sono già nuove fantastiche soluzioni che aspettano di essere utilizzate…




RIFERIMENTI