Firewall e Security su
Internet
Appunti per la cl. 5 sez. H
A cura
del prof. ing. Mario Catalano
I servizi Internet sono molti e molto
utili, ma … sono potenzialmente
pericolosi!




Internet è una comunità in continua crescita
Si è passati da una popolazione prettamente
scientifica e di ricerca ad una “mista”
Una popolazione statisticamente rappresentativa
dell’intera umanità
C’è sempre chi sfrutta l’altrui fatica a proprio
esclusivo vantaggio, indipendentemente dalle
conseguenze!!
Cosa proteggere?


DATI le cui caratteristiche sono:
 segretezza
 integrità
 disponibilità
RISORSE come ad esempio:
 spazio su disco
 tempo di CPU
 ampiezza di banda della rete
 servizi altrimenti a pagamento
Come funziona un firewall




Costringe ad entrare attraverso un punto ben controllato
Impedisce agli attaccanti di avvicinarsi troppo alle altre
difese
Costringe ad uscire attraverso un punto ben controllato
Nella terminologia militare : un Check-Point!
Firewall
Rete interna
Cosa può fare un Firewall?




E’ un punto focale per le decisioni inerenti
la sicurezza
Può potenziare le politiche di sicurezza
Può tener traccia (log) delle attività da e
verso Internet in modo efficiente
Limita l’esposizione all’esterno della rete
… e cosa NON può fare




Non può proteggere da
interni
Non può proteggere da
passa attraverso
Non può proteggere da
completamente nuove
Non può proteggere da
malfunzionamenti
quello che non ci
minacce
virus e simili
CHE COSA E' UN FIREWALL
un firewall è un insieme di componenti che si
collocano tra 2 reti e che possiedono le
seguenti proprietà:
 Tutto il traffico di dati entrante ed uscente
dalla rete interna e viceversa deve passare
attraverso il firewall.
 Solo
il traffico autorizzato puo' passare
impunemente attraverso il firewall
 Il firewall e' immune (o almeno si spera) alle
penetrazioni illegali
Quali strategie per la Internet
Security?
 Privilegi
minimi (least privilege)
 Difesa in profondità (defense in
depth)
 Punto di strozzatura (choke point)
 L’anello più debole (weakest link)
Privilegi minimi – least privilege



Ogni oggetto (utente, amministratore,
programma, sistema, ecc…) dovrebbe avere solo
i privilegi necessari e sufficienti al suo compito…
ma non di più!
Molti dei problemi relativi alla sicurezza derivano
dalla non applicazione di questa regola
Non è, comunque, sempre di facile applicazione,
specialmente per quanto riguarda gli utenti
Difesa in profondità – defense in
depth


Non dipendere da un solo meccanismo di
sicurezza, per quanto forte possa
sembrare
Introdurre la “Ridondanza” della Security
Punto di strozzatura – choke point
Un choke point forza gli attaccanti ad
utilizzare un “canale” di accesso stretto e
facilmente controllabile.
Ma ciò non è sempre facile da realizzare…

L’anello più debole – weakest link


Ricordarsi sempre che “la catena è forte
quanto il suo anello più debole”
In altre parole: non sottovalutare nessun
componente della “catena di sicurezza”
Alcune definizioni (1):


Firewall: un componente o un insieme di
componenti che restringono l’accesso tra
Internet e una rete protetta o tra altri insiemi di
reti
Bastion-Host: un computer che deve essere
altamente protetto poichè è esposto alla rete
esterna ed è il punto principale di contatto per
gli utenti della rete interna
Alcune definizioni (2)


Dual-Homed host: un computer che
possiede almeno due interfacce di rete
Packet Filtering: l’azione che compie un
dispositivo per controllare selettivamente il
flusso di dati da e per la rete. Viene anche
conosciuto come “screening” e di solito
avviene su un router, un bridge o un host
Alcune definizioni (3)

Proxy Server: un programma che contatta
server esterni in rappresentanza di client
interni. I proxy client dialogano con il
proxy server i quali rigirano le richieste ai
server reali e rigirano le loro risposte ai
client
Gli attacchi all’anello debole

Quando ho decine o centinaia di server, il
sistema risulta difficilmente gestibile. Se uno di
tali server risultasse non perfettamente
configurato e protetto, esso potrebbe
rappresentare l'anello debole della catena e, se
dovesse cadere, potrebbero essere attaccati
anche tutti gli altri server del sistema. Per
difendersi dagli attacchi, ci sono alcune
operazioni che possiamo fare, come togliere i
servizi non indispensabili, testare le password
affinché siano robuste, cambiarle
frequentemente, ma questo non basta.
I tipi di attacchi



Bisogna, per prima cosa, analizzare le forme di attacco
che ci possono essere: ve ne sono almeno due.
Quando dall'esterno riesco ad impadronirmi di una
macchina posso utilizzarla per generare dei pacchetti
che saturano la banda della rete locale. In questo
modo ottengo un attacco di tipo "deny of service",
perché tutti gli altri utenti al di fuori della rete, non
riescono a raggiungere le altre macchine, perché la
banda è saturata.
C’è poi la possibilità di fare sniffing, mettendo la
scheda di rete in modalità di ascolto e facendo partire
dei programmi che memorizzano tutti i dati che
passano in rete.
Difendere tutta la rete



Bisogna gestire in maniera sicura, quindi, l'intera
LAN con un'unica entità.
Bisogna, dunque, individuare un confine e fare
una "perimeter security", effettuare, cioè, un
controllo degli accessi al confine della rete. Le
entità, hardware e software, che sono preposte
per fare la perimeter security, si chiamano
sistemi firewall .
I sistemi firewall non sono tutti uguali, ci sono
alcune architetture standard.
I sistemi Firewall


Una volta individuata la necessità di mettere in
rete un servizio web, FTP o di posta elettronica,
devo stabilire come proteggerlo. Se fosse
disponibile in maniera aperta, ovvero
modificabile da chiunque, lo troverei ben presto
con l'home page modificata, con i dati alterati,
ecc. Allora è necessario attivare il meccanismo di
protezione lungo il perimetro.
Il sistema firewall pretende di restringere gli
accessi attraverso un'opportuna policy, che deve
essere definita: bisogna avere ben chiaro che
cosa il firewall può filtrare o può lasciar passare.
Tipologie di Firewall



Si può fare un filtraggio a livello rete, allora ho
un IP-firewall. In questo caso si decide se far
passare o scartare il pacchetto sulla base del
singolo pacchetto, tutte le informazioni che sono
nel pacchetto verranno utilizzate per farlo
passare o no.
Se utilizziamo il livello TCP, abbiamo un transport
level firewall.
Infine, se obbediamo a livello di singola
applicazione, abbiamo un application level
firewall.
IP firewall

Nel caso del IP FIREWALL se
la policy e è quella di lasciare
entrare tutti gli utenti che
dichiarino di voler raggiungere
l'IP-address 1 e di non lasciare
entrare quelli che dichiarino di
voler raggiungere l'IP-address
2, allora l’IP-firewall opera
consentendo il traffico da
qualunque sorgente e
qualunque destination IPaddress 1, qualunque porta,
sia sorgente che destinazione
si vada a specificare.
IP firewall


Se ho una sequenza diversa,
l'azione è "deny".
“Locking“: si attiva una
procedura di registrazione o
d’allarme. Questo serve
quando al firewall è collegato
un sistema di detection, cioè di
rilevazione di azioni non lecite.
Dopo aver scartato i pacchetti
non conformi alla policy, si
registra l'evento. Posso
registrare l'evento a fine
statistico (reporting), oppure
per intervenire innalzando una
barriera aggiuntiva che va a
bloccare i sistemi sotto
attacco.
Transport firewall

In questo caso dobbiamo
tenere conto dei flag.
Questi sono presenti
all'interno dell'intestazione
TCP e sono i numeri di
sequenza, i quali
distinguono il flusso
informativo che viene ad
essere scambiato. Il
firewall può tenere
memoria di una serie di
frammenti IP che possono
arrivargli in successione.
Proxy Firewall

Il caso dell'APPLICATION
LEVEL FIREWALL è chiamato
anche genericamente proxy
firewall. Se ho una macchina
che fa da proxy, spesso si dice
che fa anche da firewall. Il
numero di parametri che
entrano in gioco questa volta è
ancora superiore, perchè ho
anche quelli del livello
applicativo. Ad esempio nel caso
di FTP, potrebbe essere che le
azioni di get e put siano abilitate
e le altre non lo siano.
Proxy Firewall

In questo caso non solo
devo ricostruire il flusso dei
pacchetti così come il TCP
lo ha generato, ma bisogna
comprendere interi
messaggi FTP per capire
che tipo di azione si
richiede. Quindi ho un
rallentamento maggiore,
ma la policy è migliore che
non in un firewall di tipo
network.
Funzionalità dei firewall




capacità di filtraggio sulla base dei pacchetti,
possibilità di agire come proxy
possibilità di riordinare i pacchetti in modo che lo
screening delle informazioni, se abilitato, segua
lo stesso ordine con cui è stato immesso nella
rete dalla stazione sorgente, cioè la possibilità di
riorganizzare il flusso.
Queste funzionalità non è detto che risiedano
tutte sulla stessa macchina, possiamo avere
anche delle strutture composite, organizzate con
più componenti elementari.
Configurazioni dei firewall
Esistono tre configurazioni principali:
 Dual Homed Host Firewall,
 Screened Host Firewall,
 Screened Subnet Firewall.

Dual Homed Host Firewall

L'architettura DUAL HOMED HOST FIREWALL
è quella più semplice. Questa è realizzata da un
pc che ha due interfacce, che non
necessariamente sono dello stesso tipo, ma ad
esempio, da un lato ci potrebbe essere una
interfaccia con una rete locale (LAN) e dall'altro
lato una connessione con una linea dial-up.
Questo potrebbe essere il caso di tanti software
gratuiti per Windows.
Dual Homed Host Firewall

Spesso la macchina che viene utilizzata come Dual
Homed Host Firewall, non è specializzata per fare da
firewall. Questa è una grave lacuna. Le componenti
firewall devono essere specializzate a fare da firewall,
perché i numerosissimi bug presenti nel S. O., se non
tolti, non possono far sì che le macchine siano
espugnabili. La macchina che fa da firewall è la
macchina che è predisposta alla protezione della rete
locale. Se questa macchina cade, perché un bug del
S.O. viene utilizzato per farla cadere, è inutile avere
un software che esegue una politica di filtraggio,
perché il software può essere modificato e la macchina
essere riprogrammata. In questo modo noi
continuiamo a pensare di avere in essere un firewall
che funziona, in realtà abbiamo un sistema vinto.
Router e firewall

Esistono numerosi costruttori di router che
tendono ad implementare dei sistemi operativi
con funzionalità di firewall, a bordo delle
macchine dedicate alle funzioni di routing. Il
motivo è che queste macchine sono
naturalmente Dual Homed e sono molto spesso
poste lungo il perimetro, che è il punto in cui
deve essere applicata la nostra procedura di
policy aziendale sulla sicurezza, il nostro packed
filtering e tutte le altre funzioni.
Screened Host Firewall

Se si vuole avere qualcosa di più, un sistema che
differenzi le varie macchine, alcune le renda
raggiungibili, mentre altre non le renda visibili
dall'esterno, soprattutto è il caso in cui si voglia
mettere in piedi un server raggiungibile da
un'utenza esterna, allora è il caso di
implementare la soluzione architetturale indicata
come SCREENED HOST FIREWALL.
Screened Host Firewall

La differenza rispetto alla soluzione vista
prima, è che questa volta nella rete locale
esistono alcune macchine che sono visibili
dall'esterno ed alcune macchine che non
lo sono. Esiste cioè un insieme di
macchine "screened" ed un insieme di
macchine che sono raggiungibili, quindi
che possono ospitare i servizi web
pubblici.
Screened Host Firewall

Non è possibile dalla macchina esterna raggiungere quella in
basso nel lucido. Invece è possibile raggiungere la macchina
che è, magari, il web server, mentre tutte le macchine possono
andare a raggiungere in maniera esplicita la macchina web.
Questa possibilità di effettuare comunicazioni intrarete locale,
senza passare dal sistema firewall, fa sì che questa soluzione
non sia consigliabile per una rete veramente molto popolata,
perché qualora si riesca ad attaccare questa macchina, ci si
troverà a tutti gli effetti, sulla LAN e utilizzare la macchina
accessibile direttamente da Internet, per portare un attacco
sulle macchine interne. Quindi è un attacco che deve essere
fatto a due passi, ma una volta che il Dual Homed Host, oppure
l'host non screened, cade, siamo con una porta direttamente
sulla rete locale che invece dovrebbe essere protetta.
Screened Subnet Firewall


La soluzione più evoluta e più costosa è una
struttura a più livelli, è quella che prende il
nome di SCREENED SUBNET FIREWALL.
In questo caso ad essere protetto non è un
insieme di host di un gruppo, ma è un'intera
subnet della nostra rete. In questo caso la
nostra rete si suddivide in una rete locale, che
viene dichiarata come rete locale privata e
protetta, e in una rete che è chiamata DMZ
(Demilitarized Zone).
Screened Subnet Firewall

La DMZ è quella parte di rete che sta fra un
primo gateway, l'exterior router, ed un secondo
gateway, l'interior router. In questa rete vado a
mettere le macchine che sono direttamente
raggiungibili e che possono ospitare dei servizi
visibili dall'esterno. Queste macchine sono quelle
che possono essere oggetto di attacchi e
vengono prese robuste il più possibile,
concentrando lo sforzo della protezione dei
singoli sistemi su di loro.
Screened Subnet Firewall

Come nei vecchi castelli la parte delle mura più
prominente sull'esterno, quella che veniva ad
essere oggetto dei primi attacchi, veniva
chiamata bastione, così queste macchine si
chiamano Bastion Host. Queste sono idonee ad
ospitare servizi pubblici e ad ospitare dei proxyserver, per permettere a tutti gli utenti interni di
uscire dalla rete locale ed acquisire informazioni
via Internet.
Bastion Host

Devono avere S. O. che non siano configurati “normalmente”,
perché così si abilitano una serie di servizi, di patch che non
sono strettamente indispensabili. Le configurazioni di default
dei S.O., da Linux ad Windows NT, tendono ad essere troppo
permissive per una macchina che deve assumere il ruolo di
Bastion Host. Quindi è necessario disabilitare tutte le cose che
rappresentano una vulnerabilità. Si rimuovono tutti i file che
non devono mai, neanche per sbaglio, essere lanciati da un
user sulla macchina locale. Esistono degli speciali tools, che si
chiamano system scanner, che individuano tutte le vulnerabilità
e ci dicono tutte le operazioni da fare per eliminarle. Il system
scanner deve essere fatto girare nella macchina che deve
essere validata. Ci sono dei sistemi che si chiamano internet
scanner, che invece si lanciano da una macchina esterna e
vanno a vedere le vulnerabilità di tutti i servizi raggiungibili via
Internet.
Bastion Host

Sono due i princìpi generali nella
costruzione di un bastion host:


RENDERLO SEMPLICE: più è semplice, più è
facile renderlo sicuro
BISOGNA ESSERE, COMUNQUE, PREPARATI
AD UNA SUA COMPROMISSIONE: difatti,
nonostante gli sforzi fatti per renderlo sicuro,
può sempre accadere il peggio ed è anche
logico, visto che è in “prima linea”
Proxy


Il termine “proxy” può essere tradotto
come “procura”, “tramite”
Difatti, un proxy è un sistema che


dal punto di vista dell’utente, si sostituisce al
server reale
dal punto di vista del server reale, si
sostituisce all’utente
Proxy
Una richiesta fatta da un client viene valutata dal
proxy e, se rispetta certe regole, viene rigirata al
server reale, altrimenti viene scartata.
La risposta del server reale viene inviata al proxy
server che la rigira al client.
req1
client
Is
req1
OK?
YES
Proxy
NO
Ans1
Real Server
client
Ans1
Proxy
Real Server
Proxy



Non c’è alcun vantaggio a collegarsi ad Internet se,
per sicurezza, gli utenti non vi possono accedere
D’altra parte, non c’è sicurezza se l’accesso è
indiscriminato per ogni host della rete
Quale compromesso?


Un solo host collegato ad Internet, completamente separato
dalla rete interna, risulta poco utilizzabile e di difficile
gestione
Un solo host collegato ad Internet ma che faccia da tramite
tra gli host interni ed il mondo esterno in modo (quasi)
trasparente può essere la risposta
Vantaggi e svantaggi dei Proxy







I servizi proxy permettono agli utenti di accedere ai
servizi Internet “direttamente”
I servizi proxy sono, solitamente, specifici al servizio
Internet relativo
Permettono un ottimo servizio di logging
Ritardo tra l’introduzione di nuovi servizi Internet e la
disponibilità del servizio proxy relativo
I servizi proxy possono richiedere diversi server per
ogni servizio
Alcuni servizi Internet non sono gestibili da proxy
I servizi proxy non proteggono dalle debolezze dei
protocolli
Io mi fermo qui, ma…
Il resto spetta a voi!
Scarica

Firewall e altre cose