Application-level gateway: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m cambio catg |
Nessun oggetto della modifica |
||
(27 versioni intermedie di 14 utenti non mostrate) | |||
Riga 1:
{{S|sicurezza informatica}}
In [[informatica]] un '''Application-level gateway''' o '''ALG''' è una componente di [[sicurezza informatica|sicurezza]] dei [[firewall]] in una [[rete di computer]], che permette di aggiungere filtri [[Network address translation|NAT]] personalizzati al [[gateway (informatica)|gateway]] per fornire una migliore traduzione degli [[indirizzo IP|indirizzi IP]] e delle [[porta (reti)|porte]] nel caso in cui si usino certi [[protocollo di rete|protocolli]] del [[livello applicazioni|livello applicazione]] come [[File Transfer Protocol|FTP]], [[BitTorrent]], [[Session Initiation Protocol|SIP]], [[Real Time Streaming Protocol|RTSP]], trasferimento dei file con applicazioni di [[messaggistica istantanea]].<ref name=":0">{{en}} {{cita web|url=http://ipv6.com/articles/gateways/Application-Level-Gateway.htm|titolo=ALG - Application Level Gateway|editore=ipv6.com|accesso=20 maggio 2012}}</ref>
== Descrizione ==
=== Principi di funzionamento ===
Fa da intermediario tra la Rete [[Internet]] e l'[[Application server|Application Server]]: ogni richiesta viene interpretata, tradotta, in modo da essere compresa dall'Application Server e depurata, in modo da prevenire il passaggio di contenuti maliziosi o malformati; la richiesta viene poi mandata all'Application Server, la cui risposta verrà processata allo stesso modo.
* ''Proxy specifici dell'applicazione''. Vengono accettati solamente i [[pacchetto (reti)|pacchetti]] generati da servizi che i proxy sono progettati a copiare, filtrare e inoltrare. Per es. solo un proxy [[Telnet]] può copiare, filtrare e inoltrare traffico generato da Telnet. Questo può costituire anche uno svantaggio, se una rete dipende solo da un application-level gateway perché i pacchetti (in arrivo e in uscita) non potranno accedere a servizi per cui non è disponibile un proxy.
* ''Filtraggio a livello di applicazione''. Ogni pacchetto che attraversa la rete viene esaminato e filtrato, verificando i contenuti del pacchetto fino al [[livello di applicazione]] (l'ultimo livello del [[modello OSI]]). In questo modo è possibile filtrare comandi e informazioni destinate all'applicazione.<ref name=":0" />
=== Funzioni ===
Un ALG può fornire le seguenti funzioni:
* Permette l'uso di porte dinamiche (o effimere) da parte del client per comunicare con le porte conosciute dall'application server, anche se il [[Firewall]] permette il passaggio di traffico solo da un numero limitato di porte. In assenza di un ALG, sarebbe necessario che l'amministratore di rete configuri il firewall in modo da aprire esplicitamente un grande numero di porte, rendendo così la rete vulnerabile ad attacchi.
* Permette di convertire gli indirizzi del [[livello di rete]] in indirizzi accettabili dagli host.
* Riconosce comandi specifici dell'applicazione e fornisce controlli di sicurezza su di essi.
* Permette la sincronizzazione di flussi multipli e sessioni tra due host. Per esempio, una applicazione FTP potrebbe utilizzare diverse connessioni per il trasferimento dei dati e per l'invio e il controllo dei comandi. Potrebbe quindi accadere che durante il trasferimento di grandi file la connessione per il controllo dei comandi venga interrotta poiché rimane inattiva per molto tempo. Un ALG impedisce che questo accada prima del completamento del trasferimento dell'intero file.<ref>''[http://www.ncftp.com/ncftpd/doc/misc/ftp_and_firewalls.html The File Transfer Protocol (FTP) and Your Firewall] / Network Address Translation (NAT) Router / Load-Balancing Router.''</ref>
Queste funzioni si possono ottenere grazie alla tecnica di analisi dei pacchetti detta ''deep packet inspection''.
Le stesse funzioni potrebbero essere ottenute usando un [[proxy server]], ma questo richiederebbe una iniziale apposita configurazione dei client.
=== Limitazioni ===
L'application-level gateway presenta degli svantaggi, che ne limitano il suo utilizzo:
* Ritardi causati dal tempo impiegato per analizzare i pacchetti.
* Problemi di velocità e di instradamento.
* Molte applicazioni non sono progettate per gli ALG, come [[Posta elettronica|Email]] e [[World Wide Web|Web]].<ref name=":0" />
== Implementazione ==
=== ALG in Microsoft Windows ===
Il servizio ''Application Level Gateway'' in [[Microsoft Windows]] fornisce il supporto a plugin di terze parti per consentire il passaggio di protocolli attraverso il [[Windows Firewall|Firewall di Windows]]. I plugin ALG inoltre possono aprire porte e cambiare i dati contenuti nei pacchetti.
=== ALG in Linux ===
Il framework [[Netfilter]] del [[Linux (kernel)|Kernel di Linux]], che serve ad implementare [[Network address translation|NAT]] in Linux, fornisce funzionalità e moduli per molte ALG:
* [[File Transfer Protocol|FTP]]
* [[Internet Relay Chat|IRC]]
* [[Trivial File Transfer Protocol|TFTP]]
* [[Session Initiation Protocol|SIP]]
== Note ==
<references />
== Collegamenti esterni ==
* {{cita web|url=http://ipv6.com/articles/gateways/Application-Level-Gateway.htm|titolo=ALG - Application Level Gateway|editore=ipv6.com|lingua=en}}
{{Portale|Sicurezza informatica}}
[[Categoria:Tecniche di difesa informatica]]
▲[[en:Application-level gateway]]
|