FireWall Base


Prima di iniziare volevo specificre che questo HowTO non riguarda i personal firewall, cioè quelli che si installano su computer che possiedono solo una connesione di “Dial-up” (quella col modem per intenderci), sto per parlarvi invece di firewall che stanno 24 ore su 24 su internet a disposizione degli utenti (malevoli o no).

Partiamo dalle esigenze: Se si hanno a disposizione pochi liquidi non è detto che non si possa fare niente, infatti il tanto blasonato firewall non è altro che una macchina che funge da filtro per i pacchetti che arrivano da internet, essa scarta quelli indesiderati (li ignora o li rifiuta) e accetta quelli desiderati.

Questa macchina non è detto che debba fare solo e soltanto il lavoro di firewall infatti sulla stessa macchina può coesistere un altro servizio server (WebServer, MTA Mail Transport Agent, FTP Server, Filesharing, database on line etc etc …)

Supponiamo quindi di non avere grosse disponibilità o di avere comunque poca voglia di spendere troppo. Se le nostre esigenze ed il carico di lavoro che il nostro servizio messo a disposizione su internet non saranno troppo pesanti, si può pensare ad una soluzione con una macchina soltanto, cioè una macchina FW e Servizi al contempo.

Siamo arrivati al dunque, una macchina esposta ad internet, non è mai sicura al 100%, gli attacchi dDoS sono molto fastidiosi per i sistemisti, il più delle volte bisogna solo subirli anche se l’unico risultato è una rete lenta, ricordiamo quindi di prestar molta attenzione a ciò che inseriamo dentro alla nostra macchina su internet, io eviterei di metterci i backup della mia contabilità dal 1992 ad oggi :-)

Ma andiamo alla pratica (che a me piace tanto) Mi spiego meglio a schemi:

Per costruire questo tipo di rete ci servono: ADSL (o flusso internet equivalente o maggiore) con IP fissi assegnati, almeno 2, una macchina con una scheda di rete. Gli indirizzi IP che vedete sullo schema sono palesemente fasulli. Supponiamo che ci vengano consegnati dal fornitore di servizio linea dati 2 indirizzi IP, uno per il router ed uno per la nostra macchina.

Per comodità farò l’esempio parlandovi come se sulla macchina in questione fosse installato Linux.

L’unica cosa su cui possiamo mettere le mani è la nostra macchina, dobbiamo configurarla in modo tale che filtri i pacchetti in ingresso e che svolga il servizio richiestole (sempre per comodità parlerò di un servizio www quale Apache, ma potrebbe essere qualsiasi altro servizio) La nostra macchina avrà una sola scheda di rete, su cui andrà configurato l’ip assegnatoci (nel nostro caso ho supposto che ci  assegnassero una sotto classe di 2 indirizzi IP, raro ma possibile, 151.82.114.65 e 151.82.114.66) con tutti i crismi che vado ora ad elencarvi.

L’ip è 151.82.114.66 ed è pubblico essendo collegata al nostro router, quindi ogni client della rete internet che richiederà quell’indirizzo dovrà passare per quel cavo che collega il router al FireWall-macchina servente.

Come Default Gateway andrà impostato l’ip del router 151.82.114.65, in modo tale che il nostro FW abbia la possibilità di trovare altre macchine a parte se stesso attraverso il router. Poi in linux vanno configurati altri 2 parametri un po’ strani (su windows non esistono), cioè il BroadCast e l’id di rete, rispettivamente 151.82.114.67 BroadCast e 151.82.114.64 ID di rete.

Possiamo a questo punto assegnare al FW un nome (mi raccomando che sia cattivo, deve incutere timore, immaginate le risate di un Hacker che tenta di entrare se si trovasse davanti una macchina chiamata “camilla”).

In linux, qualsiasi distribuzione il firewall è incorporato, IPCHAINS oppure IPTABLES svolgono questa funzione, dobbiamo configurare il servizio di rete in modo tale che accetti soltanto le chaimate in ingresso per il servizio di www di Apache, il servizio www corrisponde alla porta 80 protocollo TCP basta dire al nostro firewall che su questa macchina si può accedere solo con la porta 80 in ingresso, il resto è sporcizia (ovviamente supponendo che Apache sia l’unico servizio in piedi). Per sapere le porte corrispondenti ad ogni servizio basta consultare il file services nella cartella /etc su linux ed il file services nella cartella c:windows o nella cartella c:windowssystem32 dei sistemi operativi Microsoft (anche se meno forniti e molto poco ufficiali) Per la configurazione di un firewall vi prego di consultare l’altro HowTO su la configurazione di un firewall. Il gioco è fatto :-) abbiamo un firewall servente di un qualche servizio.

Supponiamo ora di dover accedere alla nostra macchina da una rete interna, senza quindi passare per internet e di dover far navigare in internet la rete interna. Una “specie” di proxy (mi vergogno di averlo detto) Mi spiego sempre meglio con uno schema:

Come potete vedere è molto semplice, basta aggiungere una scheda di rete e collegarla alla nostra LAN. Il vantaggio è che nel nostro caso dalla rete interna è possibile consultare il sito contenuto nella macchina (sempre supponendo che installiamo solo Apache) senza dover attraversare la rete internet, il collegamento è diretto e la navigabilità di quel solo sito è velocissima. Contiamo anche di far andare i nostri client della LAN su internet passando attraverso il FW. La semplicità però si ferma qui, a questo punto la configurazione del nostro firewall diventa un po’ più complessa, cioè non solo dobbiamo accettare le chiamate in ingresso sulla porta TCP 80 dalla rete pubblica, ma dobbiamo anche accettare le chiamate verso l’ip del FW dalla rete interna, non solo ma se vogliamo far navigare i client verso internet dobbiamo fare “forwarding” (inoltro) dei loro pacchetti per tutto quello che non riguarda l’indirizzo pubblico 151.82.114.66 ed instradarlo verso il router.

Dobbiamo anche fare un po’ di mente locale, cioè quali servizi abilitiamo per i nostri client? gli diamo la possibilità di fare FTP, di scaricare la posta e spedirla, e quindi anche di navigare sui siti. Le porte da aprire sono, nell’ordine, 21 e 20 per FTP, 110 per scaricare la posta, 25 per spedirla e 80 per navigare. Non è tutto, tutti i client quando fanno una richiesta di un sito fanno una richiesta DNS, cioè interrogano un database che ritorna loro l’ip della macchina remota associato al dominio richiesto. Dovremo aprire anche quella porta :-). Ricordate che per servizi che richiedono il trasporto di dati com FTP la transazione deve essere bidirezionale.

Giungiamo al dunque, la parte più “difficile”, l’installazione di una DMZ (zona comunemente detta demilitarizzata per la sua esposizione ad internet, quindi la sua vulnerabilità).

Questa necessità può nascere da un intenso utilizzo della macchina servente, cioè il servizio installato sul FW può rallentare le qualità del servizio FW, o viceversa.

Premetto che se installiamo una DMZ dobbiamo sempre far conto di cosa mettiamo sulla quella macchina, essa è la macchina più esposta ad internet ed ai suoi pericoli (a parte il firewall ovviamente) ed a differenza dei client interni al calduccio dietro al firewall, la DMZ è una zona che spesso ha fatto far breccia nelle reti locali dei più grossi colossi dell’informatica.

Schemino…. :-)

Più è complicata la configurazione utilizzata più lo schema diventa grande e complesso :-)

Il nostro FW ora è sommerso dalle schede di rete, 3 in tutto (ne esistono con 7 o 8 schede o addirittura di più ma non fanno per noi). La spiegazione data prima rimane sempre valida, abbiamo aggfiungo soltanto una classe di rete, la 192.168.1.0/24 Questa classe sarà dedicata a quelle macchine che saranno esposte ad internet. il nostro firwall ad ogni richiesta per il nostro server non dovrà far altro che instradare il pacchetto verso la DMZ facendo un forwarding sulla sua scheda di rete 192.168.1.66, in questa configurazione però abbiamo bisogno di più indirizzi ip pubblici, nella fattispecie di 3 indirizzi.

Il nostro WebServer ora ha un indirizzo fisico 192.168.1.67 con defaultgateway il FW 192.168.1.66 e potrà essere raggiunto solo attraverso esso.

Data la complessità della configurazione vi rimando alla spiegazione di come impostare le regole di routing.

FireWall Base ultima modifica: 2002-09-11T00:00:00+00:00 da Enrico

Comments are closed.