Sei sulla pagina 1di 6

Firewall

Un firewall è un dispositivo collocato tra due o più reti attraverso cui passa
tutto il traffico; in questo modo si può controllare il traffico e lasciare passare
solo ciò che soddisfa determinati criteri, impostando dei filtri.

I firewall possono essere a filtro di pacchetti (packet filtering) (livello 3 e 4) o


a livello di applicazione (application level) (livello applicativo).

Di solito le funzioni di firewall a filtro di pacchetti sono realizzate dai router e


quelle di firewall a livello di applicazione dai proxy server.

Il firewall può essere un dispositivo hardware o un software.

Per il buon funzionamento del firewall è importante che l’amministratore di


sistema configuri adeguatamente le regole. Si possono definire regole sia per
il traffico in entrata che in uscita. Ci sono due tipi di strategie:

1. permettere sempre il traffico a meno che sia esplicitamente vietato;


2. vietare tutto il traffico a meno che non sia esplicitamente consentito.

Un buon firewall ha anche di funzioni di registrazione degli eventi e di allarme.

La cosa migliore è negare automaticamente l’accesso a tutto in tutta la


intranet e definire esplicitamente solo i permessi necessari.

Nei firewall a filtro di pacchetti i filtri sono basati su tabelle che elencano:
● le sorgenti e le destinazioni permesse e quelle vietate; indirizzi IP;
● le porte (cioè l’applicazione o il protocollo); per esempio si può stabilire quali
computer della rete locale possono accedere a Internet, oppure bloccare
l’ingresso nella intranet a FTP o Telnet bloccando la porta relativa; molti filtri
bloccano il traffico UDP che potrebbe fare qualsiasi cosa.

I firewall a livello di applicazione permettono non solo di stabilire se il traffico


relativo a un’applicazione può passare o meno ma anche di impostare regole
relative ai comandi delle applicazioni (per esempio ai comandi get o put di
FTP). Quando la rete intranet è collegata a Internet mediante un firewall si
possono configurare i server DNS in modo che solo alcuni siano abilitati ad
accedere al di fuori della rete interna per la risoluzione dei nomi (server
forwarder) e gli altri utilizzino il forwarder come intermediario: un server può
passare la richiesta al forwarder che la risolve e restituisce i risultati al server
richiedente, che a sua volta li restituisce al client.
Firewall a filtro di pacchetti
In un firewall a filtro di pacchetti il filtro può essere definito per i pacchetti in
input o in output da ciascuna interfaccia del firewall, o in transito (forward)
da una interfaccia ad un’altra.
Quando arriva un pacchetto, viene controllata la tabella di routing:
Un filtro di input viene applicato ai pacchetti diretti al firewall stesso.
Un filtro di forward viene applicato ai pacchetti che attraversano il firewall e
che devono essere instradati su un’altra interfaccia.
I filtri di output non sono molto utilizzati; vengono applicati ai pacchetti generati
dal firewall stesso.
Quando su una interfaccia arriva un pacchetto, viene controllata la tabella di
routing per stabilire se il pacchetto è diretto al firewall o se deve essere
instradato su un’altra interfaccia; se è diretto al firewall viene applicato il filtro
di input, se deve attraversare il firewall ed essere instradato su un’altra
interfaccia viene applicato il filtro di forward.
Il filtro può fare in modo che il pacchetto:
● sia lasciato passare,
● venga bloccato,
● venga bloccato inviando all’origine un messaggio di rifiuto con il protocollo
ICMP.

Ogni regola di un firewall a filtro di pacchetti può specificare:

● posizione del filtro: in ingresso, in uscita, in transito;


● azione del filtro: accettazione, blocco o rifiuto;
● protocollo utilizzato;
● indirizzi IP;
● porte TCP o UDP di origine o di destinazione;
● messaggio ICMP, indicando il tipo e il codice eventuale;
● interfaccia di rete coinvolta;
● altre caratteristiche (per esempio se il pacchetto è frammentato, o se si tratta
di un pacchetto SYN di richiesta di apertura di una connessione TCP).
Personal firewall
Un personal firewall (firewall personale) è un programma che protegge un
singolo computer della rete, analizzando il traffico in ingresso e uscita dalla
stazione.

Può completare il lavoro di un firewall convenzionale analizzando il tipo di dati


accettato da una singola stazione o essere usato da solo, in sostituzione,
come in un computer collegato direttamente a Internet.

Un firewall personale viene eseguito sul computer che cerca di proteggere.


Non è del tutto sicuro perché un attacco al computer cercherà di disattivare il
firewall o di riconfigurarlo per il futuro.

Proxy Server
Un proxy server è un programma che si interpone tra un client e il server di
un servizio client/server inoltrando le richieste e le risposte dall’uno all’altro.

Il client si collega al proxy e gli invia le richieste, il proxy si collega al server e


inoltra la richiesta del client, riceve la risposta e la inoltra al client. Per
l’applicazione server, il client è il proxy server.

I proxy si possono dividere in proxy di applicazione e proxy a livello di


circuito.

I proxy di applicazione lavorano a livello di applicazione e sono specifici per


certi protocolli. Il più comune è il proxy server specifico per il protocollo HTTP
(proxy HTTP) che gestisce l’accesso al Web.

I proxy a livello di circuito sono più flessibili perché non sono specifici per un
singolo protocollo, ma funzionano per qualsiasi servizio; si limitano ad
effettuare un tunnel tra client e server. I proxy a livello di circuito sono anche
semplici da implementare.
Proxy HTTP
L’utente usa normalmente il browser per visitare pagine Web su Internet; le
richieste vengono effettuate tramite il server proxy, che fa da tramite.
Il proxy HTTP può essere usato per:
● connettività: permette a una rete privata di accedere all’esterno, o meglio a
un client e un server che appartengono a due reti diverse di stabilire una
connessione anche quando non è disponibile un instradamento diretto
(routing) tra le reti; per offrire connettività necessita di un computer con due
interfacce, una verso la rete interna con indirizzi privati e una verso Internet; in
questo modo permette ai client della rete privata di avere accesso all’esterno
attraverso il proxy stesso. L’accesso si limita ai protocolli gestiti dal proxy
(usando un proxy di applicazione spesso si tratta solo di HTTP e FTP).
● caching: memorizza i risultati delle richieste in modo da migliorare le
prestazioni; offre due vantaggi principali: l’accesso rapido alle risorse già
nella cache e la riduzione del traffico nella rete che precede il proxy stesso;
● controllo: può applicare regole per determinare quali richieste inoltrare o
rifiutare (per esempio a quali siti è permesso o vietato accedere),
comportandosi quindi come firewall a livello di applicazione e limitare
l’ampiezza di banda usata dai client;
● monitoraggio: permette di tenere traccia delle operazioni effettuate da una
stazione, identificata dal suo indirizzo IP, o da un utente, identificato
dall’account con cui si è autenticato; Il proxy usato per offrire connettività ad
Internet può richiedere obbligatoriamente l’autenticazione;
● sicurezza: nasconde lo schema di indirizzi della rete interna e quindi rende
più difficoltoso l’accesso agli intrusi; sulla rete locale si possono usare gli
indirizzi presi dagli intervalli di indirizzi privati; le reti esterne possono vedere
solo l’indirizzo IP del proxy; tutte le conversioni fra rete interna ed esterna
vengono gestite dal proxy;
● privacy: maschera gli indirizzi IP del client; come indirizzo del client viene
visto solo l’indirizzo del proxy; il proxy per accedere tramite il suo indirizzo usa
tecniche di NAT del tipo SNAT (IP masquerading).

Per usare un proxy si può configurare il client in modo che si colleghi al


proxy, oppure configurare il DNAT in modo da realizzare un servizio di proxy
trasparente (facendo in modo che le connessioni vengano indirizzate
automaticamente al proxy).
Proxy a livello di circuito
Un proxy a livello di circuito (per esempio proxy Socks) è completamente
indipendente dal protocollo da veicolare.
Viene usato soprattutto per offrire connettività a Internet da una rete locale.
Permette a un client della rete locale di effettuare una connessione TCP con
un server di qualsiasi servizio su Internet.

Configurazione del browser per usare un proxy server


Se non è configurato un proxy trasparente, il browser deve essere configurato
in modo da inviare le richieste al proxy. Poi l’uso del proxy è trasparente, cioè
il browser viene utilizzato normalmente.
Per usare un proxy per accedere a Internet, il browser deve essere
configurato impostando l’indirizzo IP del proxy (HTTP, FTP, Socks ecc.) e la
porta su cui è in ascolto e i nomi dei server a cui accedere direttamente
(senza proxy). Può essere necessario configurare il browser in modo che il
proxy venga usato solo per il traffico su Internet e non per il traffico locale.

Server web accessibile dall’esterno della rete locale


Se la rete locale è collegata a Internet e nella rete è presente un server Web
che deve essere accessibile anche da Internet, il server Web deve avere un
indirizzo IP univoco oppure deve essere configurato sul router il NAT/PAT che
renda accessibile il server.
Per poter accedere al server con un nome di dominio, invece che solo
mediante l’indirizzo IP, il server Web deve avere un nome di dominio registrato
(in modo che possa essere individuato attraverso il DNS).
Se l’indirizzo IP è dinamico bisogna utilizzare un servizio DDNS (DNS
dinamico); con il DDNS l’indirizzo IP usato di volta in volta dal dominio viene
comunicato al server DNS, che lo può comunicare in risposta alle
interrogazioni relative al dominio.
Bisogna anche che il collegamento a Internet sia costante e abbia sufficiente
ampiezza di banda (per esempio usando ADSL o meglio una linea dedicata).
Spesso i server pubblici vengono inseriti in una DMZ per motivi di sicurezza.
DMZ
Una DMZ (demilitarized zone, o zona demilitarizzata) è un segmento della rete
locale in cui si trovano computer a cui si deve accedere da reti con livelli di
sicurezza diversi.

Per esempio di solito si crea una DMZ per i server pubblici a cui si deve
accedere sia dalla rete locale che da Internet.

I computer sulla DMZ non possono accedere al resto della rete locale; in
questo modo i server sulla DMZ possono fornire servizi anche all’esterno
senza compromettere la sicurezza della rete interna in caso di attacco.

Se i server pubblici fossero all’interno della rete locale invece che nella DMZ,
la loro compromissione consentirebbe l’accesso agli altri computer della LAN.

Una DMZ può essere creata con un firewall a tre connessioni (three-legged
firewall) a cui sono collegate la rete locale, il router Internet e la DMZ.

Potrebbero piacerti anche