Application level proxies: teoria o pratica?

26/09/99

Uno dei vantaggi decantati dei proxy a livello applicativo (o degli stateful packet filters) rispetto ai proxy generici è che, essendo specifici per i singoli protocolli, sono in grado di esaminare i dati in transito dal punto di vista sintattico e semantico, e di riconoscere eventuali violazioni al protocollo o attacchi "data driven".
Detta cosí, verrebbe da pensare che questo sia ciò che i proxy effettivamente fanno... ma la sorpresa può essere dietro l'angolo ;) Se avete un firewall per le mani, uno di quelli che dice di supportare proxy (o stateful packet filtering) per una trentina almeno di protocolli diversi, potete fare un esperimento. Prendete uno strumento come netcat e mettetevi su due sistemi separati dal firewall. Poi attivate uno di questi proxy (magari all'inizio non quello per http che di solito è il piú complesso) e cominciate a generare traffico.

Potreste scoprire che per molti dei protocolli piú semplici (quelli, per intenderci, che prevedono un'unica connessione TCP) il proxy non è altro che un proxy generico, e la specificità si limita al fatto che viene attivato sulla porta giusta.

Per molti altri protocolli un po' piú complessi, che prevedono una contrattazione di porte (il piú famoso è ftp, ma sono piú interessanti i vari protocolli audio/video) il proxy potrebbe essere in grado di riconoscere solo quel poco del traffico che serve per gestire la contrattazione (nel caso di un proxy ftp, i comandi PORT e PASV)

E solo per i protocolli piú famosi, come http e smtp, il proxy guarda cosa sta effettivamente passando... ma anche con questi, una volta scartate le solite features tipo black list e simili, provate a generare un po' di traffico strano (di quello che può attivare un buffer overflow, per intenderci). Conclusioni? In molti casi è meglio considerare anche un proxy a livello applicativo una semplice "porta aperta" nè piú nè meno che come un proxy generico (o uno stateful packet filter piú o meno come un packet filter normale)... e poi ci si può chiedere cosa rappresentino realmente tutte quelle belle iconcine del pannello di configurazione del firewall ;)