Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "Sicurezza/Firewall"
Differenze tra le versioni 14 e 15
Versione 14 del 30/10/2007 01.09.56
Dimensione: 16934
Commento:
Versione 15 del 03/11/2007 15.58.57
Dimensione: 550
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 8: Linea 8:
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 [:Sicurezza/Iptables: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 [:AmbienteGrafico/Gnome:GNOME].
Linea 14: Linea 11:
Per utilizzare '''Firestarter''' è sufficiente [:AmministrazioneSistema/InstallareProgrammi: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
}}}

= Configurazione =

== Wizard ==

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:
 * «'''Enable Internet connection sharing'''»

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ù '''''Edit -> Preferences -> Interfaces''''' è consigliabile selezionare le voci «'''Enable try icon'''» e «'''Minimise to try on window close'''». In questo modo verrà abilitata la comoda icona nell'area di notifica nella barra delle applicazioni.

== Stato delle regole ==

'''Firestarter''' è composto da tre schede: «'''Status'''», «'''Events'''» e «'''Policy'''».
 * «'''Status'''»: dà informazioni sullo stato del firewall e della connessione.
 * «'''Events'''»: permette di vedere gli eventuali tentativi di accesso bloccati dal firewall.
 * «'''Policy'''»: permette di impostare le regole firewall.
Particolare attenzione verrà data alla scheda «'''Policy'''», essendo la sezione nella quale vengono impostate tutte le regole di accesso. Dal menù a tendina sarà possibile selezionare:
 * «'''Inbound traffic policy'''»: regole per il traffico in entrata.
 * «'''Outbound traffic policy'''»: regole per il traffico in uscita.

Una volta in funzione '''Firestarter''' bloccherà di default il traffico in entrata, quindi occorrerà inserire delle regole in '''«Inbound traffic policy»''' per permettere per esempio l'utilizzo di software come '''[:InternetRete/Condivisione/Amule:aMule]''', per condividere cartelle, ecc...[[BR]]
Il discorso è diverso per il traffico in uscita. Selezionando dal menù a tendina '''«Outbound traffic policy»''' c'è la possibilità di utilizzare due differenti impostazioni:
 * «'''Permissive by default, blacklist traffic'''»: 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".
 * «'''Restrictive by default, whitelist traffic'''»: 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 «'''Restrictive by default, whitelist traffic'''».

||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''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.'' ||


== Outbound/Inbound traffic policy ==

Gli esempi che seguiranno faranno riferimento ad «'''Outbound traffic policy'''».
Data l'impostazione per il traffico in uscita «'''Restrictive by default, whitelist traffic'''», 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.

||<tablestyle="text-align: justify; width:100%; " style="border:none;" 1% ^>[[Immagine(Sicurezza/Firestarter/policy-80.png,700,center)]] ||<style="padding:0.5em; border:none;">Nell'immagine a fianco è riassunta la situazione fin qui trattata.[[BR]][[BR]]Siamo nella tabella «'''Policy'''». Nel menù a tendina è stato selezionato «'''Outbound traffic policy'''» e come potete vedere lo stato delle regole è settato su «'''Restrictive by default, whitelist traffic'''». Pertanto sul nostro firewall i servizi sono tutti bloccati di default e starà a noi aggiungere regole per attivarli.[[BR]][[BR]]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 «'''Add Rule'''»[[BR]][[BR]]Nel capitolo [#policy-standard Policy 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.||


[[Anchor(Events)]]
== Abilitare servizi ==

A titolo esemplificativo supponiamo di non aver impostato alcuna regola in «'''Outbound traffic policy'''» 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.

||<tablestyle="text-align: justify; width:100%; " style="border:none;" 1% ^>[[Immagine(Sicurezza/Firestarter/events_80.png,700,center)]] ||<style="padding:0.5em; border:none;">Come detto in precedenza nella tabella «'''Events'''» 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 «'''Outbound traffic policy'''».||

||<tablestyle="text-align: justify; width:100%; " style="border:none;" 1% ^>[[Immagine(Sicurezza/Firestarter/add-rule_80.png,700,center)]] ||<style="padding:0.5em; border:none;">Dopo essersi spostati in «'''Outbound traffic policy'''», basterà fare clic su «'''Add Rule'''». Si aprirà la finestra mostrata a fianco. Dovranno essere quindi aggiunte le voci relative alla porta e al servizio.[[BR]][[BR]] Si noti che il nome del servizio potrebbe non essere incluso nella lista «'''Name'''». 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 «'''Events'''» era già stato classificato come ''Unknown'' (sconosciuto), rimarrà tale anche nelle «'''Policy'''».||

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 Condivisione dati con Windows].[[BR]]
Nel seguente paragrafo verrà mostrata una lista per l'attivazione delle porte necessarie ai software di uso comune.

[[Anchor(policy-standard)]]
== Policy standard ==

=== Outbound traffic policy ===

Supponendo di aver deciso di utilizzare l'opzione «'''Restrictive by default, whitelist traffic'''» in «'''Outbound traffic policy'''», si riportano le principali regole di uso comune.

||<tablestyle="width:100%" :-3>'''''Navigazione web'''''||<style="border:none;">||<:-3>'''''Posta elettronica'''''||<style="border:none;">||<:-3>'''''Messaggistica'''''||<style="border:none;">||<:-3>'''''P2P'''''||
||<:>'''Allow service'''||<:>'''Porta'''||<:>'''For'''||<style="border:none;">||<:>'''Allow service'''||<:>'''Porta'''||<:>'''For'''||<style="border:none;">||<:>'''Allow service'''||<:>'''Porta'''||<:>'''For'''||<style="border:none;">||<:>'''Allow service'''||<:>'''Porta'''||<:>'''For'''||
||<:>HTTP||<:>80||<:>everyone||<style="border:none;">||<:>pop3||<:>110||<:>everyone||<style="border:none;">||<:>aMsn||<:>1863-6981||<:>everyone||<style="border:none;">||<:>aMule||<:>4662-4672||<:>everyone||
||<:>HTTPS||<:>443||<:>everyone||<style="border:none;">||<:>SMTP||<:>25||<:>everyone||<style="border:none;">||<:>Ircd (IRC)||<:> 6667 ||<:>everyone ||<style="border:none;">||<:>Kad aMule||<:>4672||<:>everyone||
||<:>FTP||<:>20-21||<:>everyone||<style="border:none;">||<:>IMAP||<:>143||<:>everyone||<style="border:none;">|| || || ||<style="border:none;">||<:>aMule server||<:>4665||<:>everyone||
||<:>DNS||<:>53||<:>everyone||<style="border:none;">||<:>Submission||<:>587||<:>everyone||<style="border:none;">|| || || ||<style="border:none;">||<:>Bit''''''Torrent||<:>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 «'''Outbound traffic policy'''» 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''.

=== Inbound traffic policy ===

In «'''Inbound traffic policy'''» si riportano le principali regole di uso comune.

||<:colspan=4>'''''P2P'''''||
||<:>'''Allow service'''||<:>'''Porta'''||<:>'''For'''||
||<:>aMule||<:>4662-4672||<:>everyone||
||<:>Kad aMule||<:>4672||<:>everyone||
||<:>aMule server||<:>4665||<:>everyone||
||<:>Bit''''''Torrent||<:>6881-6889||<:>everyone||

Quanto riportato per '''[:InternetRete/Condivisione/Amule:aMule]''' è necessario per ottenere un ID alto. Di conseguenza non è strettamente necessario al funzionamento del programma stesso.

||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/warning.png,,center)]] ||<style="padding:0.5em; border:none;">'''Nel caso qualche applicazione non funzionasse correttamente è sempre possibile sbloccare la porta interessata seguendo la procedura [#Events 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 [:AmministrazioneSistema/Sudo: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.[[BR]]
Si salvi premendo '''Ctrl+O''' e si esca poi con la combinazione di tasti '''Ctrl+X'''.[[BR]]

Adesso non rimane altro da fare che dire al sistema di far partire '''Firestarter''' all’avvio.[[BR]]
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
}}}

[[Anchor(condivisione)]]
= Condivisione dati con Windows =

Vediamo giusto un esempio di configurazione di '''Firestarter''' nel caso di cartelle in condivisione.
Nello specifico da un computer con Ubuntu si vuole accedere ad una directory messa in condivisone su Windows sul cui firewall è stato dato l'accesso all'IP del computer con Ubuntu.

Utilizzando la procedura [#Events sopra riportata], cercando di accedere alla cartella condivisa di Windows, nella tabella «'''Events'''» verrà indicato il tentativo di connessione del servizio ''Samba (SMB)'' alla porta ''137''. Contemporaneamente, nella schermata «'''Status'''» sarà disponibile l'IP del computer Windows del tipo 192.168.1.x, che comunque presumibilmente conosciamo di già.[[BR]]
Con queste informazioni in «'''Outbound traffic policy'''» possono essere aggiunte le regole:
||<:>'''Allow connections to host'''||<:>'''Allow service'''||<:>'''Porta'''||<:>'''For'''||
||<:>192.168.1.x||<:>Samba (SMB)||<:>137||<:>everyone||

L'accesso alla directory sarà ancora negato. Infatti nella tabella «'''Events'''» vedremo che alla porta ''32722'' (il valore della porta può essere variabile) il servizio ''Sun-RPC portmap'' sarà bloccato.[[BR]]
Facendo clic di destro su queste informazioni e selezionando sia «'''Allow connection from source'''» che «'''Allow inbound service from source'''», risulterà in «'''Inbound traffic policy'''» (le regole possono essere anche aggiunte direttamente dalla schermata «'''Inbound traffic policy'''»):
||<:>'''Allow connections from host'''||<:>'''Allow service'''||<:>'''Porta'''||<:>'''For'''||
||<:>192.168.1.x||<:>Sun-RPC portmap||<:>32722||<:>192.168.1.x||
A questo punto sarà possibile accedere alla cartella condivisa su Windows.
Linea 172: Linea 13:
 * [http://www.fs-security.com/docs/introduction.php Guida ufficiale di Firestarter in inglese]
 * [http://linuxpedia.netsons.org/index.php/Firestarter Guida di Firestarter su Linuxpedia]

BR

ATTENZIONE! Questa è una pagina di prove tecniche, pertanto le informazioni qui riportate possono essere del tutto provvisorie e incomplete.

BR

Introduzione

Installazione

Ulteriori risorse


CategoryHomepage