Introduzione

In tutti i sistemi GNU/Linux è presente Netfilter, un componente integrato nel kernel che si occupa della gestione del traffico di rete. L’utente può modificare le impostazioni di Netfiler attraverso IPtables, un tool da linea di comando potente, ma che al tempo stesso richiede una certa conoscenza tecnica.

Per rendere più semplici le operazioni di impostazione delle regole di filtraggio sulle connessioni, può essere utilizzato Firestarter, un comodo firewall ad interfaccia grafica, basato sulle librerie Gtk e quindi perfettamente integrato con l'ambiente grafico GNOME.

Installazione

Per utilizzare Firestarter è sufficiente installare il pacchetto firestarter.

Terminata l'installazione per avviare l'applicazione è sufficiente fare clic su Sistema -> Amministrazione -> Firestarter. In alternativa è possibile digitare il seguente comando in una finestra di terminale:

firestarter

La versione di Firestarter installata con Ubuntu non dispone di una traduzione in italiano completa. Per ovviare a questo problema, seguire questi semplici passi:

  1. Scaricare il seguente file: firestarter.mo.gz

  2. Una volta scaricato, aprire un Terminale e dalla directory di scaricamento digitare:

    gzip -d firestarter.mo.gz
    
  3. Infine copiare il file firestarter.mo nella directory /usr/share/locale/it/LC_MESSAGES/:

    sudo cp firestarter.mo /usr/share/locale/it/LC_MESSAGES/
    

In questo modo tutta l'interfaccia grafica di Firestarter sarà disponibile in italiano.

Tutte le descrizioni delle chiavi gconf non possono essere tradotte in questo modo, anche se il file ne contiene la traduzione.

Configurazione

Primo avvio

Al primo avvio di Firestarter verrà avviata la procedura guidata per configurare il dispositivo di rete al quale si è connessi. Quindi alla voce «Dispositivi rilevati» selezionare nel menù a tendina il proprio dispositivo di rete (scheda di rete ethernet, modem, ecc...).

A seconda del tipo di dispositivo di rete utilizzato e delle vostre esigenze, selezionare o meno le altre voci:

  • «Avviare il firewall quando si attiva la connessione»

  • «Indirizzo IP assegnato tramite DHCP»

Nella schermata successiva può essere attivata la condivisione Internet di una eventuale rete LAN selezionando la voce:

  • «Abilitare condivisione connessione internet»

A questo punto è possibile salvare la configurazione e concludere la configurazione guidata avviando Firestarter.

Prima di procedere al settaggio vero e proprio delle regole, dal menù Modifica -> Preferenze -> Interfaccia è consigliabile selezionare le voci «Abilitare l'icona di notifica» e «Minimizzare a icona alla chiusura della finestra». In questo modo verrà abilitata la comoda icona nell'area di notifica nella barra delle applicazioni.

Stato delle regole

Firestarter è composto da tre schede: «Stato», «Eventi» e «Politica».

  • «Stato»: dà informazioni sullo stato del firewall e della connessione.

  • «Eventi»: permette di vedere gli eventuali tentativi di accesso bloccati dal firewall.

  • «Politica»: permette di impostare le regole firewall.

Particolare attenzione verrà data alla scheda «Politica», essendo la sezione nella quale vengono impostate tutte le regole di accesso. Dal menù a tendina sarà possibile selezionare:

  • «Politica per il traffico in ingresso»: regole per il traffico in entrata.

  • «Politica per il traffico in uscita»: regole per il traffico in uscita.

Una volta in funzione Firestarter bloccherà di default il traffico in entrata, quindi occorrerà inserire delle regole in «Politica per il traffico in ingresso» per permettere per esempio l'utilizzo di software come aMule, per condividere cartelle, ecc...
Il discorso è diverso per il traffico in uscita. Selezionando dal menù a tendina «Politica per il traffico in uscita» c'è la possibilità di utilizzare due differenti impostazioni:

  • «Permissivo in modo predefinito, traffico da blacklist»: Con questa impostazione tutte le porte in uscita saranno aperte e le applicazione libere di comunicare con l’esterno fin da subito, eccetto quelle che inseriremo in una eventuale "lista nera".

  • «Restrittivo in modo predefinito, traffico da whitelist»: Con questa impostazione tutte le porte in uscita saranno chiuse e in seguito verranno aperte quelle necessarie alle applicazioni che vogliamo utilizzare.

In questa guida verrà presa in considerazione la seconda opzione «Restrittivo in modo predefinito, traffico da whitelist».

In linea di principio se dalla propria macchina non si mettono a disposizione servizi particolari verso l'esterno, per gran parte dei software generici (web browser, posta elettronica, chat, ecc...) la tendenza è di lasciare le porte in uscita aperte, data la generica inefficacia dei malware in ambiente Linux. Tuttavia se si desidera avere un livello di sicurezza maggiore si può adottare un'impostazione iniziale più rigorosa con le porte in uscita chiuse.

Regole sul traffico in uscita/entrata

Gli esempi che seguiranno faranno riferimento ad «Politica per il traffico in uscita». Data l'impostazione per il traffico in uscita «Restrittivo in modo predefinito, traffico da whitelist», il metodo di impostazione delle regole in entrata sarà pressoché analogo a quello in uscita, vale a dire che in entrambe i casi le porte saranno chiuse e occorrerà aprire quelle necessarie per il funzionamento dei software interessati.

Nell'immagine a fianco è riassunta la situazione fin qui trattata.

Siamo nella tabella «Politica». Nel menù a tendina è stato selezionato «Politica per il traffico in uscita» e come potete vedere lo stato delle regole è settato su «Restrittivo in modo predefinito, traffico da whitelist». Pertanto sul nostro firewall i servizi sono tutti bloccati di default e starà a noi aggiungere regole per attivarli.

Nella finestra in basso si può vedere la presenza di alcune regole che sono già state attivate. Per esempio si può notare che il POP3, servizio per la ricezione dei messaggi e-mail, è stato abilitato alla porta 110. Per aggiungere altre regole basterà selezionare la medesima finestra e fare clic su «Aggiungi regola»

Nel capitolo Regole standard sono state raccolte alcune delle porte da abilitare sia in entrata che in uscita per i software di uso comune. Questo allo scopo di velocizzare le operazioni di settaggio di Firestarter. Tuttavia la lista mostra giusto una parte delle porte utilizzabili. Nel prossimo paragrafo si mostrerà una procedura standard per capire come procedere quando si deve ricavare da soli il nome del servizio e il numero della relativa porta da abilitare.

Abilitare servizi

A titolo esemplificativo supponiamo di non aver impostato alcuna regola in «Politica per il traffico in uscita» e di voler utilizzare il browser Firefox. Il tentativo di accesso alla rete da parte del browser, verrà immediatamente bloccato da Firestarter. Non sarà quindi possibile visualizzare alcuna pagina web.

Come detto in precedenza nella tabella «Eventi» vengono visualizzati i tentativi di accesso alla rete intercettati e bloccati da Firestarter. In particolar modo il tentativo di accesso alla rete di Firefox, riportato nella figura accanto, viene visualizzato come il tentativo di connessione del servizio HTTP alla porta 80. Queste due informazioni sono proprio quelle necessarie per impostare la nuova regola in «Politica per il traffico in uscita».
Dopo essersi spostati in «Politica per il traffico in uscita», basterà fare clic su «Aggiungi regola». Si aprirà la finestra mostrata a fianco. Dovranno essere quindi aggiunte le voci relative alla porta e al servizio.

Si noti che il nome del servizio potrebbe non essere incluso nella lista «Nome». Nel caso del protocollo HTTP è già presente, ma a seconda dei software che si sta utilizzando potrebbe non essere presente. In tal caso si proceda pure inserendo il numero della porta. Il nome del servizio potrebbe essere restituito automaticamente oppure se in «Eventi» era già stato classificato come Unknown (sconosciuto), rimarrà tale anche nella «Politica».

In linea di principio eseguendo una procedura di questo tipo, possono essere settate le regole per buona parte dei software che utilizziamo. In alcuni casi la procedura può comportare qualche passaggio in più come mostrato nel capitolo Condivisione dati con Windows.
Nel seguente paragrafo verrà mostrata una lista per l'attivazione delle porte necessarie ai software di uso comune.

Regole standard

Traffico in uscita

Supponendo di aver deciso di utilizzare l'opzione «Restrittivo in modo predefinito, traffico da whitelist» in «Politica per il traffico in uscita», si riportano le principali regole di uso comune.

Navigazione web

Posta elettronica

Messaggistica

P2P

Consenti servizio

Porta

Per

Consenti servizio

Porta

Per

Consenti servizio

Porta

Per

Consenti servizio

Porta

Per

HTTP

80

everyone

pop3

110

everyone

aMsn

1863-6981

everyone

aMule

4662-4672

everyone

HTTPS

443

everyone

SMTP

25

everyone

Ircd (IRC)

6667

everyone

Kad aMule

4672

everyone

FTP

20-21

everyone

IMAP

143

everyone

aMule server

4665

everyone

DNS

53

everyone

Submission

587

everyone

BitTorrent

6881-6889

everyone

  • Eventuali dispositivi in rete come per esempio una stampante wireless devono essere abilitati. Ciò significa che dobbiamo permette al nostro SO di comunicare in uscita tramite una specifica porta con il dispositivo. Per esempio si potrebbe abilitare in «Politica per il traffico in uscita» una stampante con scheda di rete integrata. Di conseguenza abilitiamo la porta, per esempio la 9100, e abilitiamo il traffico in uscita per «everyone».

  • Alcuni provider richiedono per il server in uscita SMTP che sia settata la porta 587 anziché la 25. In tal caso Firestarter visualizzerà come nome del servizio Submission al posto di SMTP.

Traffico in entrata

In «Politica per il traffico in ingresso» si riportano le principali regole di uso comune.

P2P

Consenti servizio

Porta

Per

aMule

4662-4672

everyone

Kad aMule

4672

everyone

aMule server

4665

everyone

BitTorrent

6881-6889

everyone

Quanto riportato per aMule è necessario per ottenere un ID alto. Di conseguenza non è strettamente necessario al funzionamento del programma stesso.

Nel caso qualche applicazione non funzionasse correttamente è sempre possibile sbloccare la porta interessata seguendo la procedura sopra riportata.

Controllo dello stato del firewall

Come riportato da diversi utenti, può capitare che Firestarter non si avvii automaticamente all'avvio del sistema. Per comprendere se effettivamente all'avvio il firewall è in funzione, occorre riavviare il sistema e digitare nel terminale il seguente comando:

sudo iptables -L

nel caso il risultato fosse

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Vuol dire che il firewall non è attivo all'avvio. In caso contrario si otterrebbe un elenco molto lungo di regole variabili a seconda delle impostazioni che sono state scelte.

Pertanto nel caso il firewall non si avvii può essere eseguita la seguente procedura.

Firestarter richiede i privilegi di root e quindi per poter essere avviato automaticamente e senza che sia richieda la password, si deve innanzitutto editare il file che contiene i permessi per il funzionamento di privilegi di amministrazione, il comando con il quale si acquisiscono temporaneamente i privilegi di amministratore su Ubuntu. Aprire un terminale e digitare il seguente comando:

sudo visudo

Scorrere la schermata verso il basso con le freccette e posizionrsi dopo le righe

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL.

e in quest’area scrivere

nomeutente ALL=NOPASSWD:/usr/sbin/firestarter

dove per “nomeutente” si intende il vostro username, quello che usate normalmente per fare il login.
Si salvi premendo Ctrl+O e si esca poi con la combinazione di tasti Ctrl+X.

Adesso non rimane altro da fare che dire al sistema di far partire Firestarter all’avvio.
Dal menù di Ubuntu (in questo caso la versione con GNOME), si sceglie Sistema -> Preferenze -> Sessioni e si fa clic sulla scheda «Programmi d’avvio». Qui dopo aver premuto il bottone «Aggiungi» si deve scrivere il nome dell'applicazione, in questo caso "Firestarter", e digitare nella casella di comando

sudo firestarter --start-hidden

Condividere dati tramite Samba

Attraverso Firestarter sarà possibile settare delle regole sugli indirizzi IP degli utenti di una rete LAN ai quali vogliamo poter permettere l'accesso ad una cartella messa in condivisione.

Traffico in uscita

Se su Firestarter è stata impostata la regola restrittiva per il traffico in uscita «Restrittivo in modo predefinito, traffico da whitelist», occorre abilitare il servizio Samba (SMB) e la connessione all'indirizzo IP (del tipo 192.168.1.x) del pc al quale vogliamo offrire la condivisione o all'indirizzo IP (del tipo 192.168.1.y) di chi offre la condivisione.
Pertanto in «Politica per il traffico in uscita» risulterà:

Consenti connessioni all'host

Consenti servizio

Porta

Per

192.168.1.x (oppure y)

Samba (SMB)

137-139 445

everyone

Ovviamente possono essere aggiunti tutti gli indirizzi IP con i quali vogliamo metterci in contatto, sia per accedere che per permettere l'accesso alla condivisione.

Permettere l'accesso

Prima di tutto per consentire l'accesso ad una directory condivisa sul nostro pc, occorre modificare un'opzione nel menù Modifica -> Preferenze -> Firewall -> Opzioni avanzate -> Traffico broadcast. Dovrà essere deselezionata la voce «Bloccare trasmissioni broadcast dalla rete esterna».

A questo punto per permettere l'accesso ad uno degli utenti della rete LAN con indirizzo IP del tipo 192.168.1.x, basterà settare una regola in «Politica per il traffico in ingresso» in modo che risulti:

Consenti servizio

Porta

Per

Samba (SMB)

137-139 445

192.168.1.x

In questo stesso modo possono essere aggiunti altri indirizzi IP. Ovviamente nella tabella «Eventi» è possibile tenere d'occhio i tentativi di accesso provenienti degli indirizzi IP che non hanno il permesso.

Accedere alla cartella condivisa

Dal menù Risorse -> Rete di Ubuntu è possibile visualizzare i computer connessi alla rete LAN e quindi una eventuale cartella condivisa.
In «Politica per il traffico in ingresso». Sarà sufficiente aggiungere l'IP (del tipo 192.168.1.y) nel campo «Consenti connessioni dall'host» in modo che risulti:

Consenti connessioni dall'host

192.168.1.y

La procedura è valida anche se si vuole accedere ad una directory condivisa su Windows. Ovviamente se anche su Windows è presente un firewall, dovrà essere impostato in modo da concedere il libero accesso all'indirizzo IP del computer con Ubuntu.

Ulteriori risorse


CategorySicurezza CategoryDaRevisionare