vodkone.estri.net

  • Increase font size
  • Default font size
  • Decrease font size
Home Firewall ReteFaiX3 - Realizzare un firewall (Tutorial)

ReteFaiX3 - Realizzare un firewall (Tutorial)

Print

Titolo:ReteFaiX3 - Realizzare un firewall (Tutorial)
Sistema:Linux Ubuntu 9.10 (Karmic koala) server edition
Pacchetti:xorg, fluxbox, openssh-server, fwbuilder
Contenuto:Brevi cenni teorici
 Installazione del server grafico XServer XOrg
 Installazione del gestore finestre (window session) Fluxbox
 Installazione del demone sshd (opnessh-server)
 Installazione dell'interfaccia GUI fwbuilder

Teoria

Se avete seguito i tutorial precedenti di questo progetto (ReteFaiX3), sapete che siamo giunti al punto in cui le basi per una rete informatica funzionante ci sono tutte: DHCP, DNS, Directory Server. In un prossimo futuro affronteremo l'installazione della posta elettronica. E' quindi giunto il momento di dotare la nostra rete di un collegamento che permetta di comunicare con il mondo. Questo passo comporta un significativo aumento di pericoli: virus, worm, malware, scansioni di rete e di servizi che mirano a trovare possibili exploit per permettere accessi fraudolenti ai nostri dati o ai nostri server/workstation. Dovremo quindi cominciare a difendere l'infrastruttura aziendale. Il primo step, pilone fondamentale per mettere in sicurezza una rete, e' l'introduzione di un bastione che divida la rete internet dalla nostra LAN aziendale: un firewall; ovvero un oggetto dotato di due schede di rete che si faccia carico di analizzare, permettere o bloccare tutto il traffico diretto da e per la nostra rete interna. Inoltre tramite il firewall potremo anche limitare l'accesso ad internet ai nostri utenti che, si sa, non vedono l'ora di videochiamare qualche amico remoto o di scaricare illegalmente l'ultimo film appena uscito nelle sale cinematografiche tramite il P2P, sottraendo tempo prezioso alla produzione.
Per far funzionare adeguatamente il servizio di firewall, sempre che non abbiate una ditta con migliaia di dipendenti, vi sara' sufficiente un vecchio pc riesumato dal fondo del vostro magazzino, che abbia almento due schede di rete. Una verra' collegata alla nostra rete interna, l'altra al dispositivo fornitoci dal provider per connetterci ad internet.

Pratica

Il firewall che stiamo realizzando si basa su Ubuntu server, procediamo quindi con l'installazione dal cd. Per l'occasione, visto che e' periodo di "raccolta" in casa Canonical, cogliamo la palla al balzo ed installiamo la release 9.10 (Karmic Koala).
L'installazione non ha un granche' di diverso da quella gia' fatta per realizzare il primo server del progetto. Quindi, se avete bisogno, fate riferimento alla guida Realizzare un dhcp server, e se proprio non doveste trovarvi, installate tranquillamente la versione 9.04, funzionera' tutto comunque.
Ai fini della realizzazione del firewall bastano poche cose: netfilter (che e' parte integrante del kernel linux), una versione particolarmente minimalista di desktop environment (fluxbox) ed il software di configurazione fwbuilder, che altro non e' che una GUI per agevolare la configurazione di netfilter. Per la cronaca, se avete gia' avuto esperienze in passato con firewall, questa interfaccia ricorda abbastanza quella di checkpoint di qualche anno fa. Comunque e' molto pratica ed immediata. Sicuramente piu' semplice del comando iptables.
In una prossima guida vedremo comunque come utilizzare il comando iptables per fare monitoraggio e problem solving del nostro firewall. In caso di emergenza e' sempre utilissimo saper lavorare al livello piu' basso per poter risolvere qualsiasi problematica.
Questa che andremo ad utilizzare, a quanto pare non e' la soluzione piu' diffusa, ma personalmente la uso da anni, prima su distribuzione Debian, in seguito su Ubuntu ed infine su Redhat, e devo dire che e' molto semplice, completa e funziona in ogni situazione.
Torniamo alla installazione: ci lasciamo guidare dalla wizard di installazione, scegliamo il nome del server, lasciamo configurare automaticamente lo spazio disco usando il LVM; non installiamo nulla in piu' dal tasksel, anche se in seguito vedremo come installare il demone sshd per permettere la configurazione grafica del nostro firewall da un pc remoto. Creiamo un account possibilmente diverso da quelli usati fino ad ora, in modo che l'accoppiata password e utenza sia unica e che sia conosciuta dal minor numero possibile di utenti. La sicurezza informatica incomincia dalle abitudini, non a caso uno dei piu' diffusi metodi per carpire informazioni e' il social engineering o, visto che la guida e' in italiano, ingegneria sociale che consiste in un insieme di tecniche che, raggirando, mentendo, interpretando le abitudini umane aiutano nel reperimento di accessi o informazioni vitali.
Una volta riavviato il server ed effettuata la login, procediamo con l'installazione del motore grafico (Xserver-Xorg) digitando:

sudo apt-get install xorg

Una volta data conferma ed atteso il tempo della installazione, procediamo installando il pacchetto con il gestore delle finestre e della sessione del server X. Digitiamo:

sudo apt-get install fluxbox

A questo punto, dopo la solita conferma, abbiamo installato quanto necessario per far funzionare l'ambiente grafico su di un server linux, in questo caso su Ubuntu karmic koala.
Procediamo adesso installando il server Openssh che ci servira' sia per accedere da remoto al nostro firewall, sia per l'impostazione dello stesso tramite l'interfaccia grafica che utilizzeremo per configurarlo. Digitiamo:

sudo tasksel

e selzioniamo la funzione openssh server.

Diamo conferma selezionando ok e passiamo alla installazione dell'ultimo pacchetto, la GUI che useremo per configurare il nostro firewall. Digitiamo:

sudo apt-get install fwbuilder

Diamo conferma, cosi' facendo abbiamo installato tutti i pacchetti necessari.
Controlliamo la configurazione delle interfacce di rete del nostro server editando il file /etc/network/interfaces
La prima scheda dovreste gia' averla configurata durante l'installazione, se cosi' non fosse accertatevi di assegnare un indirizzo ip pubblico a vostra disposizione alla prima scheda (eth0), mentre dobbiamo assegnare un ip della nostra rete privata alla seconda interfaccia (eth1), io assegnero' il 192.168.1.254/24. Per farlo inserite le seguenti righe, facendo attenzione che non esistano doppioni:

auto eth0
iface eth0 inet static
    address <ip pubblico>
    netmask <subnet mask>
auto eth1
iface eth1 inet static
    address 192.168.1.254
    netmask 255.255.255.0

Qualora abbiate la necessita' di configurare l'interfaccia di rete esterna con un indirizzo dinamico, le righe di configurazione per la eth0 dovrebbero essere le seguenti:

auto eth0 iface eth0 inet dhcp

Salviamo e quindi procediamo andando ad impostare la password per l'utente root che utilizzeremo per la compilazione e l'esecuzione delle regole del firewall. Digitiamo:

sudo passwd

inseriamo la nostra password e quindi la password che si vuole associare all'utente root. Piu' e' complessa e piu' il sistema sara' sicuro. In seguito vedremo come impostare un utente dedicato con diritti piu' restrittivi. Ripetiamola per conferma et... voila'.
Siamo pronti per cominciare a configurare il nostro firewall.

Innanzitutto dobbiamo far partire il motore di xserver, non abbiamo volutamente installato l'avvio automatico del motore in quanto si vogliono preservare le risorse del nostro server. Quindi ogni qualvolta si vorra' configurare una regola o qualsiasi inmpostazione dovremo attivare il server grafico, in realta' questo si verfichera' saltuariamente, quindi se state pensando che e' una rottura, non preoccupatevene troppo. Inoltre in una prossima guida vedremo come configurare il firewall da un client senza dover attivare xorg ad ogni accesso.
Digitiamo:

startx

Premiamo ok alla finestra che ci segnala che non riesce a caricare il wallpaper ed eccoci nel nostro gestore windows minimalista. Premiamo il tasto destro del mouse in un punto qualsiasi dello schermo, selezioniamo il sotto-menu

Applicazioni - Sistema - Sicurezza - Firewall Builder

Diamo ok alla finestra che ci segnala la presenza di versioni aggiornate del software, selezioniamo il check per disabilitare la visualizzazione dei consigli e chiudi la finestra dei consigli. Siamo pronti per cominciare:

premiamo il tasto destro sulla voce Firewall a sinistra e selezioniamo dal menu contestuale new firewall.

Impostiamo il nome del firewall, selezioniamo nella casella di selezione choose firewall software it is running la voce iptables, mentre nella casella di selezione choose os the new fierwall runs on scegliamo linux 2.4/2.6. Premiamo next.

Selezioniamo configure interfaces manually in modo da specificare noi la configurazione che vogliamo attuare e premiamo next.

Inseriamo il nome dell'interfaccia (generalmente eth0), una etichetta descrittiva (ad esempio Rete Esterna), un indirizzo Ip (io metto l'ip della rete nat del mio sistema virtuale virtualbox), la subnetmask, e premiamo il bottone ADD.

Ripetiamo la stessa operazione per la seconda scheda di rete, facendo attenzione che le caselle di testo non vengono pulite automaticamente quando si preme il bottone e quindi andranno sovrascritte. Una volta fatto premiamo ADD e quindi FINISH. Ora sotto alla cartella firewalls nel treeview a sinistra potete trovare il vostro firewall che al suo interno conterra' le schede di rete e le pagine di configurazione per le regole di accesso (policy), per le regole di nat (NAT) ed infine per le regole di instradamento dei pacchetti (Routing). Selezioniamo il firewall e premiamo il bottone firewall settings

Nella prima schermata impostiamo il check su Always permit ssh access from the management workstation with this address ed impostiamo il valore della casella di testo a 127.0.0.1

Selezioniamo il tab Installer ed impostiamo la casella Directory on the firewall where script should be installed a /etc/init.d in modo che lo script possa essere eseguito in automatico ad ogni riavvio del firewall. Impostiamo la casella User name used to authenticate to the firewall con il valore root. Premiamo OK.

Ora selezioniamo a sinistra la scheda di rete interna e nella pagina di configurazione impostiamo il check su Management interface e premiamo APPLY.

Procediamo ora con la configurazione della nostra prima regola. Selezioniamo la voce Policy nella vista ad albero a sinistra, clicchiamo sul workspace delle regole a destra con il tasto destro del mouse e selezioniamo insert rule.

Automaticamente viene creata una regola che e' quella piu' restrittiva possibile, da questa si partira' per creare la regola che fa al caso nostro. Essendo questa la prima regola inserita, lasciamola invariata. In questo modo, nel momento in cui applicheremo le regole, il firewall dividera' completamente la nostra rete da quella pubblica, senza eccezioni di sorta. Inoltre il firewall non sara' raggiungibile in nessun modo da nessuno. Fate una prova a pingare il firewall da uno qualsiasi dei vostri pc nella rete interna e constatate che il firewall risponda.
Procediamo ora ad applicare la regola. Anzittutto la regola deve essere compilata, selezioniamo il bottone nella toolbar con la chiave inglese e le palline colorate (il penultimo)

Premiamo il bottone next del wizard, vi verra' chiesto dove salvare il file di configurazione di fwbuilder, digitate un nome e premete il bottone SAVE.
Attendiamo l'esito della compilazione, se va a buon fine premiamo il bottone FINISH.

Ora possiamo procedere con l'installazione della regola, premiamo l'ultimo bottone della toolbar, quello azzurro con le due frecce rosse, ci apparira' una finestra simile a quella della compilazione, premiamo il bottone NEXT,

A questo punto ci verra' richiesta la password dell'utente root

Inseriamola e premiamo il bottone OK.

Provate a pingare il firewall da un altro server o pc e vedrete che adesso non risponde piu'.
Bene, abbiamo erto un muro impenetrabile tra le due reti, quella pubblica e quella interna.
Manca un ultimo dettaglio, dobbiamo rendere permanente l'esecuzione dello script generato da FwBuilder e salvato in /etc/init.d come da impostazioni, ovvero dobbiamo entrare nella cartella digitando nella finestra terminale:

cd /etc/init.d

Ed eseguire la seguente istruzione:

sudo update-rc.d <nome del file script> defaults

Come primo parametro io inserisco ReteFaiX3-Firewall.fw, voi mettete il nome che avete digitato quando avete salvato/compilato le regole.

Nel prossimo tutorial vedremo come configurare oggetti, regole e i consigli per poter utilizzare le reti con il massimo della sicurezza possibile.
Vi lascio ora con alcune ricerche suggerite in caso di errori particolari riscontrati nella messa in opera di questo tutorial.

Per approfondire:

Errori di compilazione delle regole di FWBuilder
Errori in fase di compilazione delle regole in firewall builder (EN)
Errore durante l'installazione di FWBuilder
Errore durante l'installazione di FWBuilder (EN)
Errori in avvio del motore grafico xorg
Configurazione avanzata fluxbox



blog comments powered by Disqus
Last Updated on Tuesday, 24 November 2009 18:26  


Banner top aggregator

Notizie dal mondo linux

lffl linux freedom
news dal mondo linux - ubuntu
  • Ufficiale: Meizu e Canonical annunciano il Meizu PRO 5 Ubuntu Edition

    Il produttore cinese Meizu in partnership con Canonical, celebre casa sviluppatrice della distro Linux Ubuntu, ha annunciato ufficialmente il Meizu PRO 5 Ubuntu Edition, come anticipatovi nei giorni scorsi.

    Il dispositivo rappresenta uno degli attuali top di gamma del mercato con un comparto hardware di altissimo profilo ed un design premium caratterizzato da una scocca in metallo.

    Continua a leggere...
  • Windows 10: tracce di Linux nell'ultima build?
    Secondo quanto riportato da alcuni utenti in rete, l'ultima build di Windows 10, il sistema operativo sviluppato da Microsoft, conterrebbe "tracce" di Linux.

    Nello specifico nei file di sistema della build 14251 di Windows 10 sono presenti LXCore.sys e LXss.sys.

    Continua a leggere...
  • MaruOS: Android si fonde con Debian in questa nuova "Convergence"
    Abbiamo parlato spesso della Convergence o Convergenza se vogliamo italianazzarlo, ovvero di quella funzionalità su cui sta puntando Canonical per rendere perfettamente adattabile e scalabile Ubuntu in base al dispositivo utilizzato che sia uno smartphone, un tablet o un PC.

    Di recente ha fatto la sua comparsa un nuovo competitor in questo settore. Stiamo parlando di MaruOS, un progetto che ambisce ad offrire un'alternativa a Convergence di Canonical e Continuum di Microsoft.

    Continua a leggere...
  • Aquaris M10 Tablet: finalmente arriva la Convergence di Ubuntu?
    Uno delle funzionalità più attese dagli utenti Ubuntu è sicuramente Convergence, profilo software che consente di passare dalla modalità "mobile" di un tablet o uno smartphone alla modalità Desktop semplicemente collegando il dispositivo stesso ad un monitor.

    Il nuovo tablet di Ubuntu, l'Aquaris M10, dovrebbe essere finalmente in grado di offrire tale funzionalità in maniera stabile e pienamente operativa.


    Continua a leggere...
  • Linus Torvalds annuncia la seconda RC di Linux Kernel 4.5
    Linus Torvalds ha annunciato la seconda release candidate del Linux Kernel 4.5 che apporta molteplici migliorie risultando, come dichiarato, un upgrade sicuramente maggiore rispetto alla prima release candidate.


    Continua a leggere...