Traduzione e adattamento: ADaM "unno" unno@softhome.net
Dati del testo originale in inglese:

		     This file Has Been Written
                             By: GBoZ
                   Of The Cybernetic Techno Ninjas
		          Tuesday 2/16/99

Descrizione dei contenuti: Il testo contiene una descrizione tecnica per 
			   progettare, scegliere e implementare un firewall
     		  	   visto dalla parte di un amministratore.

I firewall

1) Che cos' un firewall?
2) Perch dovrei volere un firewall?
3) Contro che cosa pu proteggere un firewall?
4) Contro che cosa non pu proteggere un firewall?
5) Risorse in rete sui firewall
6) Come scegliere un firewall
7) Cosa sono i proxy server e come funzionano
8) Regole logiche di filtraggio per il mio Cisco
9) Come far lavorare DNS e firewall
10) Come far lavorare un FTP attraverso un firewall
11) Come far lavorare un Telnet attraverso un firewall
12) Come far lavorare Finger e whois attraverso un firewall
13) Come far lavorare gopher, archie e altri servizi attraverso un firewall
14) Pubblicazioni su X-Window attraverso un firewall
15) Glossario di termini riferiti ai firewall



1) Che cos' un firewall?

Un firewall  uno dei tanti modi per proteggere una rete da altre reti di
cui non ci si fida o comunque sconosciute. Il reale meccanismo con cui 
realizzato varia fortemente, ma il principio  che il firewall pu essere
pensato come una coppia di meccanismi: uno serve a bloccare il traffico e
l'altro per veicolarlo. Alcuni firewall mettono pi enfasi nel bloccarlo,
altri nel permetterlo.


2) Perch dovrei volere un firewall?

Internet, come ogni altra societ,  piena di babbei che sono l'equivalente
elettronico del teppistello che imbratta i muri con lo spray. Alcune persone
cercano di lavorare su Internet e altre hanno dati sensibili o di loro
propriet da difendere. Un proposito del firewall  tenerci lontano dalla
rete una volta lasciato il lavoro.

Molti enti e centri dati hanno politiche di sicurezza informatica e procedure
che vengono rispettate rigidamente. Il firewall diventa a volte espressione
della politica aziendale di proteggere i dati. Spesso, la parte pi ardua
per connettersi ad Internet, se sei una grande azienda, non  giustificare
la spesa o lo sforzo, ma convincere i manager che non ci sono pericoli di
sicurezza. Un firewall provvede non solo alla reale sicurezza, ma gioca
anche un importante ruolo come schermo di sicurezza per il management.

Infine, un firewall pu agire come ambasciatore dell'azienda su Internet.
Molte aziende usano i loro firewall come un posto dove mettere informazioni
pubbliche sui prodotti e i servizi dell'azienda, file da scaricare,
correzioni e cos via. Molti di questi sistemi stanno avendo importanza per
le strutture di servizi per Internet (ad es.: UUnet.uu.net,
gatekeeper.dec.com) e hanno avuto un buon riflesso sui loro finanziatori
aziendali.


3) Contro che cosa pu proteggere un firewall?

Qualche firewall permette solo il passaggio di email, proteggendo quindi la
rete da attacchi diversi da quelli mirati al servizio di email. Altri
firewall provvedono a una meno stretta protezione e bloccano servizi che
tradizionalmente hanno problemi di sicurezza.

Di solito, i firewall sono configurati per proteggere contro i login non
autenticati dall'esterno. Questo aiuta a prevenire il login di vandali in
macchine della rete. Firewall pi complicati bloccano il traffico
dall'esterno all'interno, ma permettono agli utenti interni di comunicare
liberamente con l'esterno. Il firewall ti pu proteggere contro qualsiasi
tipo di attacco mediato dalla rete come se fossi disconnesso.

I firewall sono anche importanti perch possono provvedere a un singolo
punto di blocco dove la sicurezza e il controllo possono essere imposte.
Diversamente, in una situazione in cui un sistema  attaccato da qualcuno
che usa un modem, il firewall pu agire come un rubinetto telefonico e uno
strumento di monitoraggio.


4) Contro che cosa non pu proteggere un firewall?

I firewall non possono proteggere da attacchi che non vi passano attraverso.
Molte aziende connesse ad Internet sono preoccupate dalla
fuoriuscita di dati riservati attraverso qualche via. Sfortunatamente per
questi preoccupati, un nastro magnetico pu essere usato per trasportare
dati all'esterno. Le politiche dei firewall devono essere realistiche e
riflettere il livello di sicurezza dell'intera rete. Se un sistema contiene
dati riservati sarebbe meglio non connetterlo al resto della rete.
I firewall non possono proteggere bene da cose come i virus. Un firewall non
pu rimpiazzare la coscienza, la consapevolezza e la prudenza dei suoi
utenti. In generale, un firewall non pu proteggere contro un attacco
guidato di dati, attacchi nei quali qualcosa  postato o copiato
all'interno dell'host dove  eseguito. Questa forma di attacco  avvenuta
nel passato contro varie versioni di Sendmail.


5) Risorse in rete sui firewall

Ftp.greatcircle.com - Firewall mailing list (archivi).
                Directory: pub/firewalls
Ftp.tis.com - Strumenti e documenti sui firewall Internet.
                Directory: pub/firewalls
Research.att.com - Documenti sui firewall e le violazioni di sicurezza.
                Directory: dist/internet_security
Net.Tamu.edu - Texas AMU security tools.
                Directory: pub/security/TAMU
Le mailing list per i firewall sono forum per amministratori e
implementatori. Per sottoscriverle, manda "subscribe firewalls" nel corpo
del messaggio (non nel soggetto) a "Majordomo@GreatCircle.COM".

>N.d.T.
>Una ottima esposizione in italiano la potrete trovare a:
>http://telemat.die.unifi.it/book/Internet/Security/Firewall/
>
>La versione in inglese pi aggiornata e pi completa di questo testo
>la potrete trovare su Internet Firewalls FAQ:
>http://www.clark.net/pub/mjr/pubs/fwfaq/
>http://www.interhack.net/pubs/fwfaq/
>
>Firewalling and Proxy Server HOWTO
>http://okcforum.org/~markg/Firewall-HOWTO.html
>http://sunsite.unc.edu/LDP/HOWTO/Firewall-HOWTO.html
>con traduzione in italiano a cura del Pluto su:
>http://www.pluto.linux.it/ildp


6) Come scegliere un firewall

Allo sfortunato a cui  affidato il compito toccheranno tante letture. In
generale occorre rispettare il modo in cui l'azienda vuole operare sul
sistema: il firewall esiste per negare esplicitamente tutti i servizi
eccetto quelli critici per cui ci si  connessi alla rete oppure serve per
verificare e controllare i metodi di accesso in modo non minaccioso. Ci
sono diversi gradi di paranoia tra queste posizioni. La configurazione del
tuo firewall sar effetto pi delle tue politiche che delle decisioni
tecniche.
Inoltre, quanto monitorare e controllare? Occorre quindi decidere che cosa
monitorare, permettere e negare. Devi coniugare obiettivi e analisi del
rischio.
Infine c' la questione finanziaria: quanto costa comprare e implementare
il sistema. Si va da 200 milioni a soluzioni gratuite. Per ci che riguarda
le soluzioni gratuite, configurare un Cisco o simili non coster niente, ma
solo tempo-uomo e caff. Implementare un firewall impegnativo coster molti
mesi-uomo. Bisogna quindi considerare non solo il costo di acquisto ma
anche di supporto nel tempo.
Dal lato tecnico, c' un paio di decisioni da prendere, basate sul fatto che
per tutti i fini pratici di cui stiamo parlando occorrerebbe un servizio di
routing (instradamento) statico del traffico messo tra il provider della
rete e la rete interna. Il servizio di routing del traffico deve essere
implementato a livello di IP attraverso regole di protezione in un router,
o a livello di applicazione attraverso un proxy che faccia da gateway e dei
servizi.

La decisione da prendere qui  se mettere una macchina che pu essere
colpita all'esterno della rete per far girare un proxy per i servizi di
telnet, ftp, news, etc., o se  meglio settare un router difensivo che
faccia da filtro, permettendo comunicazioni con una o pi acchine interne.
Ci sono i pro e i contro a entrambi gli approcci, con la macchina proxy
si provvede a un pi alto livello di controllo e potenzialmente di
sicurezza contro pi alti costi di configurazione e una diminuzione nel
livello di servizi erogati (poich occorre sviluppare un proxy per ogni
servizio desiderato). La forbice tra facilit d'uso e sicurezza ci
perseguita.


7) Cosa sono i proxy server e come funzionano

Un proxy server (riferito a volte a una applicazione che permette il
passaggio o che spedisce dati)  una applicazione che si occupa del traffico tra
una rete protetta e Internet. I proxy sono spesso usati invece di router
per il controllo del traffico, per non permettere al traffico di passare
direttamente tra le reti. Molti proxy hanno log supplementari o supportano
l'autenticazione dell'utente. Poich i proxy devono capire quale protocollo
sta per essere usato, possono anche implementare specifici protocolli di
sicurezza (ad es., un proxy FTP potrebbe essere configurato per permettere
l'FTP in entrata e bloccare l'FTP in uscita).

I proxy server sono applicazioni specifiche. Per supportare un nuovo
protocollo attraverso un proxy, questo deve essere sviluppato per quel protocollo.
SOCKS  un sistema proxy generico che pu essere compilato in una
applicazione sul lato client per farlo lavorare attraverso un firewall. Il
vantaggio  che  facile da usare, ma non supporta l'aggiunta di
connessioni con autenticazione o protocolli con logging specifico. Per
maggiori informazioni su SOCKS, cfr. ftp.nec.com/pub/socks/


8) Regole logiche di filtraggio per il mio Cisco

Il seguente esempio mostra una possibile configurazione per usare il Cisco
come un router di filtraggio. E' un esempio che mostra l'implementazione di
una specifica linea di condotta. La tua linea di condotta sar sicuramente
diversa.

In questo esempio, una compagnia ha una Classe B di indirizzi di rete
128.88.0.0 e sta usando 8 bit per le subnet. La connessione Internet 
sulla sottorete rossa 128.88.254.0. Tutte le altre sottoreti sono
considerate di fiducia o sottoreti blu.

     +---------------+ +---------------+   
     | IP provider   | |   Gateway     |
     | 128.88.254.1  | | 128.88.254.2  | 
     +------+--------+ +------+--------+
            |                            Rete rossa
  ----------+-----------------+----------------------------------
                              |
                       +------+--------+   
                       |   Cisco       |
                       | 128.88.254.3  |
                       |...............|
                       | 128.88.1.1    | 
                       +---------------+   
                              |  
  ----------------------------+----------------------------------
            |                            Rete blu
     +------+--------+   
     | mail router   |
     | 128.88.1.2    |
     +---------------+   

Tieni in mente i seguenti punti perch ti aiuteranno a capire i pezzi della
configurazione:

1. I Cisco applicano i filtri ai soli pacchetti in uscita.
2. Le regole sono testate in ordine e si fermano quando la prima
occorrenza  stata trovata.
3. C' una implicita regola di rifiuto alla fine di una lista di accesso
che nega ogni cosa.

L'esempio sotto tratta il filtraggio delle porte di una configurazione.
I numeri di linea e la formattazione sono state aggiunte per leggibilit.

Le linee guida per l'implementazione sono:
- Niente non esplicitamente permesso  negato.
- Il traffico tra la macchina esterna che fa da gateway e l'host della rete
blu  permesso.
- I servizi permessi sono originati dalla rete blu.
- Assegna un range di porte alla rete blu per le informazioni di ritorno 
della connessioni dati FTP.

     1  no ip source-route
     2  !
     3  interface Ethernet 0
     4  ip address 128.88.1.1 255.255.255.0
     5  ip access-group 10
     6  !
     7  interface Ethernet 1
     8  ip address 128.88.254.3 255.255.255.0
     9  ip access-group 11
    10  !
    11  access-list 10 permit ip 128.88.254.2 0.0.0.0
         128.88.0.0 0.0.255.255
    12  access-list 10 deny   tcp 0.0.0.0 255.255.255.255
         128.88.0.0 0.0.255.255 lt 1025
    13  access-list 10 deny   tcp 0.0.0.0 255.255.255.255
         128.88.0.0 0.0.255.255 gt 4999
    14  access-list 10 permit tcp 0.0.0.0 255.255.255.255
         128.88.0.0 0.0.255.255
    15  !
    16  access-list 11 permit ip 128.88.0.0 0.0.255.255
         128.88.254.2 0.0.0.0
    17  access-list 11 deny   tcp 128.88.0.0 0.0.255.255
         0.0.0.0 255.255.255.255 eq 25
    18  access-list 11 permit tcp 128.88.0.0 0.0.255.255
         0.0.0.0 255.255.255.255

Linea   Spiegazione
=====   ===========
    1   Bench non sia una regola di filtraggio,  buona cosa includerla
	qui.
   
    5   Ethernet 0  nella rete rossa. La lista estesa 10 di permessi di 
        accesso sar applicata all'output su questa interfaccia. Puoi anche 
        pensare l'output dalla rete rossa come input nella rete blu.
   
    9   Ethernet 1  nella rete blu. La lista estesa 11 di permessi di 
        accesso sar applicata all'output su questa interfaccia.
  
   11   Permette tutto il traffico dalla macchina gateway alla rete blu.

12-14   Permette connessioni originarie della rete rossa che entrano tra le             
	porte 1024 e 5000. Ci avviene per permettere alle connessioni dati 
	in FTP di dialogare alla rete blu.

>N.d.T.: permessi e richieste nella connessione FTP avvengono su una 
>porta diversa da quella dove vengono scambiati i dati, cfr. il 
>relativo RFC oppure Internet News, Maggio 1997, Tecnica)
>5000  stato scelto come limite superiore ed  dove OpenView parte.

Nota: si assume che questo  accettabile per la supposta linea
di condotta. Non c' nessun modo per dire a Cisco di filtrare sulla             
porta sorgente. Le versioni pi recenti del firmware Cisco                       
supporteranno il filtraggio sulla porta sorgente.
       
Da quando le regole sono testate fino alla prima occorrenza dobbiamo usare
questa sintassi piuttosto ottusa.

   16   Permette l'accesso a tutti i pacchetti della rete blu alla macchina             
	gateway.
  
   17   Nega l'SMTP (porta tcp 25) mail alla rete rossa.
  
   18   Permette a tutto l'altro traffico TCP di accedere alla rete rossa.
  
Cisco.com ha un archivio di esempi per costruire firewall usando i router
Cisco, disponibile per ftp da: 
ftp://ftp.digital.de/pub/FireWalls/Cisco/acl-examples.tar.Z

9) Come far lavorare DNS e firewall

Alcune organizzazioni vogliono nascondere i nomi DNS dall'esterno. Molti
esperti sono in disaccordo sul fatto che sia o meno utile, ma se il sito o
l'azienda decide di nascondere i nomi dei domini, questo  un approccio che
 funzionale.

Questo approccio  uno dei tanti, ed  utile per le organizzazioni che
vogliono celare i loro nomi di host a Internet. Il successo di questo
approccio nasconde dal fatto che i client DNS in una macchina non
comunicano con un server DNS nella stessa macchina. In altre parole, proprio
perch c' un server DNS su una macchina, non c' niente di sbagliato (e
spesso ci sono vantaggi a farlo) nel ridirezionare l'attivit di client DNS
di quella macchina su un server DNS in una altra macchina.

Per prima cosa, devi settare un server DNS nel bastion host 
in modo che il mondo esterno pu comunicare con questo. Setta
questo server cos che sia autorevole per i tuoi domini. Infatti, ognuno
di questi server sa ci che vuoi che il mondo esterno sappia; i nomi e gli
indirizzi dei tuoi gateway, i tuoi wildcard MX records, e cos via. 
Questo  un server "pubblico".

>N.d.T. per wildcard MX records: Vedi RFC1034 e RFC974 per i dettagli. 
>In breve nella notazione del DNS indica un Mail eXchanger, cioe' una 
>macchina destinata a scambiare posta.
>Supponiamo che voglia mandare posta a pippo@tin.it. "tin.it"  una rete e 
>non una macchina, quindi nelle tabelle del DNS di tin.it si indica quale 
>macchina fa da mail eXchanger per il dominio, ad es.: MX   posta.tin.it
>Quindi ogni volta che c' posta per le rete tin.it ci pensa la macchina di 
>posta.tin.it a smistarla.

Quindi, configura un server DNS in una macchina interna. Questo server
pretende anch'esso di essere autorevole per i tuoi domini; diversamente
dal server pubblico, questo sta dicendo la verit. Questo  il tuo
nameserver "normale", nel quale mettere tutto le cose "normali" che
riguardano il DNS. Devi configurare anche questo server in modo che
trasferisca le domande a cui non pu rispondere al server pubblico (usando
una linea che faccia da "spedizioniere" in /etc/named.boot in una macchina
Unix, per esempio).

Infine, configura tutti i tuoi client DNS (il file /etc/resolv.conf in una
Unix box, per esempio), includendoli in una macchina con il server
pubblico, per usare il server interno. Questa  la chiave.

Un client interno che interroga un host interno, interroga il server
interno, e ottiene una risposta; un client interno che interroga un host
esterno interroga il server interno, che interroga il server pubblico. Un
client nel server pubblico lavora proprio nello stesso modo. Un client
esterno, comunque, che interroga un host interno ottiene come risposta
"restricted" (cio limitata) dal server pubblico.

Questo approccio presuppone che ci sia un filtraggio dei pacchetti da parte
del firewall tra questi due server che permetter a loro di comunicare il
DNS a ogni altro, ma altrimenti limita il DNS tra gli altri host.

Un altro trucco che  utile in questo schema  impiegare wildcard PTR 
records (N.d.T. PTR  un puntatore ad un altra parte dello spazio del nome
di dominio) nei tuoi domini IN-ADDR.ARPA. Questo causa una ricerca (tabellare) 
da indirizzo a nome per ciascuno dei tuoi host non pubblici e restituisce 
qualcosa come sconosciuto.TUO.DOMINIO piuttosto che un errore. 
Questo soddisfa siti con ftp anonimo come ftp.uu.net che insiste
nell'avere un nome per le macchine con cui comunica. Questo fallisce quando
comunica con siti che fanno un controllo incrociato del DNS nel quale il
nome dell'host  verificato a fronte del suo indirizzo e viceversa.

Nota che nascondere i nomi nei DNS non risolve il problema dei nomi di host
fuoriusciti con gli headers delle mail, articoli di news, etc.


10) Come far lavorare un FTP attraverso un firewall

Di solito, il far lavorare l'FTP attraverso il firewall  realizzato o
usando un server proxy o permettendo connessioni in entrata in una rete su
un ristretto range di porte, e altrimenti restringendo le connessioni in
entrata usando qualcosa come regole di monitoraggio stabilite. Il client
FTP  allora modificato per congiungere la porta dei dati alla porta
all'interno del range. Questo implica il fatto di essere capaci di
modificare l'applicazione che fa da client FTP sugli host interni.

Un approccio differente  usare l'opzione "PASV" dell'FTP per indicare che il
server FTP remoto dovrebbe permettere al client di iniziare la connessione.
L'approccio con PASV assume che il server FTP sul sistema remoto supporti
tale operazione. (Vedi l'RFC1579 per ulteriori informazioni).

Altri siti preferiscono costruire versioni di client del programma di FTP
che sono linkate alla libreria SOCKS.


11) Come far lavorare un Telnet attraverso un firewall

Telnet  generalmente supportato o per usare una applicazione che fa da
proxy, o semplicemente per configurare un router per permettere connessioni
in uscita usando qualcosa come regole di monitoraggio stabilite. Le
applicazioni proxy potrebbero essere nella forma di un proxy standalone che
gira su un bastion host, o nella forma di un server SOCKS e un
client modificato.


12) Come far lavorare Finger e whois attraverso un firewall

Permettere connessioni alla porta finger dalle sole macchine fidate, che
possono emettere richieste di finger nella forma di:
finger user@host.domain@firewall .

Questo approccio funziona solo con le versioni standard del finger di Unix.
Qualche server finger non permette la connessione finger su user@host@host.

Molti siti bloccano le richieste finger dirette verso l'interno per una
variet di ragioni, di cui la pi importante  la presenza di buchi nella
sicurezza del server finger (il worm Morris ha reso questi bug famosi) e il
rischio che informazioni riservate o proprietarie siano rivelate nelle
informazioni finger dell'utente.


13) Come far lavorare gopher, archie e altri servizi attraverso un firewall

Questa  ancora un'area di ricerca attiva nella comunit dei firewall.
Molti amministratori di firewall supportano questi servizi solo attraverso
l'interfaccia a linea di comando fornita da telnet. 
Sfortunatamente, molti dei servizi
di rete pi provocanti fanno connessioni a sistemi remoti multipli,
senza trasmettere nessuna informazione di cui un proxy potrebbe prenderne
vantaggio, e spesso i pi nuovi sistemi di recupero delle informazioni
trasmettono dati agli host e dischi locali con la sola sicurezza minima. C'
 il rischio che (per esempio) i client WAIS possano richiedere file
codificati in uuencode, che decifrano e modificano i file relativi alla
sicurezza nella directory home dell'utente. Al momento, c' molta
incertezza tra gli amministratori di firewall che sono responsabili della
sorveglianza dei perimetri della rete, e gli utenti, che vogliono
avvantaggiarsi di questi davvero attraenti e utili strumenti.


14) Pubblicazioni su X-Window attraverso un firewall

X Windows  un sistema davvero utile, ma sfortunatamente ha qualche grande
difetto di sicurezza. I sistemi remoti che possono guadagnare o spufare
l'accesso a una workstation con X possono monitorare la pressione dei tasti
degli utenti, scaricare copie dei contenuti delle loro finestre, etc.

Mentre tentativi sono stati fatti per superarli (ad es., MIT "Magic
Cookie")  ancora troppo facile per un aggressore impcciarsi del display 
di un utente di X. 
Molti firewall bloccano tutto il traffico di X. Qualcuno permette il
traffico di X attraverso applicazioni proxy come il proxy DEC CRL X (FTP
crl.dec.com).

-------------------------------

15) Glossario di termini riferiti ai firewall

- Firewall basato su un host: un firewall dove la sicurezza  implementata
in un software che gira in un computer non dedicato di qualunque tipo. La
sicurezza nei firewall basati su un host  generalmente al livello di 
applicazione piuttosto che al livello della rete.

- Firewall basato su un router: un router che  usato per implementare
parte della sicurezza di un firewall configurandolo per permettere
selettivamente o per negare il traffico a livello della rete.

- Bastion host (host che si affaccia all'esterno): un sistema host che 
un punto forte nel perimetro della sicurezza del sistema. I bastion host
dovrebbero essere configurati per essere particolarmente resistenti agli
attacchi. In un firewall basato su host, il bastion host  la piattaforma
nella quale il software firewall gira. I bastion host sono anche chiamati
gateway host.

- Dual-Homed Gateway: un firewall di un bastion host con 2 interfaccie di
rete, una delle quali  connessa per proteggere la rete, l'altra  connessa
a Internet. L'inoltro del traffico IP  di solito disabilitato, limitando
tutto il traffico tra le due reti a qualunque cosa passi attraverso qualche
tipo di applicazione proxy.

- Applicazione proxy: una applicazione che instrada il traffico delle
applicazioni attraverso un firewall. I proxy tendono a essere specifici per
il protocollo per cui sono progettati per inoltrare, e possono provvedere un
aumentato controllo di accesso o verifica.

- Subnet monitorata: una architettura firewall nel quale una rete "sand box"
 o "zona smilitarizzata"  configurata tra la rete protetta e Internet, 
con traffico bloccato tra la rete protetta e Internet. 
Concettualmente,  simile a un dual-homed gateway, eccetto che una intera 
rete, piuttosto che un singolo host  raggiungibile dall'esterno.