Dimensione: 16934
Commento:
|
Dimensione: 9634
Commento: macro informazioni
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 1: | Linea 1: |
[[BR]] ||<tablestyle="font-size: 18px; text-align: center; width:100%; background:red; margin: 0 0 0 0;" style="padding:0.5em;">'''ATTENZIONE! Questa è una pagina di prove tecniche, pertanto le informazioni qui riportate possono essere del tutto provvisorie e incomplete.'''|| [[BR]] ||<tablestyle="float:right; font-size: 0.9em; width:30%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;">'''Indice:'''[[BR]][[TableOfContents]]|| |
## page was renamed from JeremieTamburini/Prove0 ## page was renamed from JeremieTamburini/Prove [[Indice()]] [[Informazioni(help="http://help.ubuntu-it.org/10.04/ubuntu/serverguide/it/firewall.html"; forum="http://forum.ubuntu-it.org/index.php/topic,174121.0.html"; rilasci="10.04 9.10 9.04 8.04")]] |
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. | Buona parte degli utenti che arrivano da Windows sono abituati a dare per scontato l'utilizzo del firewall sul proprio sistema operativo, dove lo si usa indiscriminatamente per "barricare" il sistema e poi consentire via via l'accesso alla rete ai programmi che si vogliono utilizzare. Questo perché c'è sempre la paura che alcuni servizi si attivino all'insaputa dell'utente e facciano in modo che il proprio pc e i suoi dati sensibili possano essere esposti alla rete. |
Linea 10: | Linea 10: |
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]. | Nei sistemi GNU/Linux il firewall ritorna ad essere lo strumento da utilizzare nel caso l'utente decida d'installare programmi per mettere a disposizione servizi dal suo pc verso altri pc con regole ben precise. Per l'utilizzo desktop così come lo troviamo per predefinito su '''Ubuntu''', escludendo alcuni casi specifici, si può affermare che il firewall praticamente non serva. |
Linea 12: | Linea 12: |
= Installazione = | In questa guida vengono approfonditi in modo discorsivo alcuni aspetti tecnici, in modo che anche chi non ha profonde conoscenze tecniche possa comprendere la logica di base che porta ad una così grande differenza fra i due sistemi a proposito di sicurezza di rete. |
Linea 14: | Linea 14: |
Per utilizzare '''Firestarter''' è sufficiente [:AmministrazioneSistema/InstallareProgrammi:installare] il pacchetto ''firestarter''. | = Il traffico di rete = |
Linea 16: | Linea 16: |
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 }}} |
Le principali vie del traffico di rete sono in entrata e uscita. Più nello specifico il traffico è costituito da: * '''Connessioni in entrata''' * '''Connessioni in uscita''' |
Linea 21: | Linea 20: |
= Configurazione = | Quello che spesso risulta essere poco chiaro è la differenza fra questi due tipi di connessione. |
Linea 23: | Linea 22: |
== Wizard == | Per chiarire queste differenze è vivamente consigliata la lettura della [:Sicurezza/Firewall/Connessioni:guida] sulle connessioni, alla fine della quale saranno chiari i concetti di connessioni di '''INPUT''', '''OUTPUT''' e '''FORWARD''', fondamentali per capire quale è il compito di un firewall all'interno di una rete. |
Linea 25: | Linea 24: |
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...). | = Su Ubuntu Desktop è necessario il firewall? = |
Linea 27: | Linea 26: |
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'''» |
Gli applicativi installati in modo predefinito nella versione Desktop di '''Ubuntu''' sono pensati essenzialmente per consentire di uscire su internet alla ricerca di informazioni, file o quant'altro, piuttosto che per accettare connessioni in entrata dall'esterno. |
Linea 33: | Linea 28: |
A questo punto è possibile salvare la configurazione e concludere la configurazione guidata avviando '''Firestarter'''. | I programmi che accettano connessioni dall'esterno sono detti server. Questa categoria comprende per fare alcuni esempi i server web che ospitano le pagine HTML, oppure i server ssh o telnet, i quali consentono l'apertura di una [:AmministrazioneSistema/RigaDiComando:shell] su di un pc remoto.[[BR]] Nella versione ''Desktop'' di '''Ubuntu''' sono presenti alcuni server, ma volti principalmente all'utilizzo delle periferiche hardware come '''X''' (grafica video), '''cups''' (stampa), '''sane''' (scanner), ecc.., di default chiusi verso connessioni esterne.[[BR]] |
Linea 35: | Linea 31: |
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. | Chiunque desideri offrire un servizio di rete ad utenti remoti deve necessariamente installare un apposito programma '''server''' sul proprio pc; questo programma si mette in ascolto su una ''porta'', e tutte le connessioni INPUT entranti si connettono a questa porta per entrare in comunicazione con il server. |
Linea 37: | Linea 33: |
== Stato delle regole == | ||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''Non è possibile connettersi da remoto ad un pc se non c'è almeno un server in ascolto su una qualsiasi porta. Per fare un esempio banale è come bussare ad una casa disabitata: nessuno verrà ad aprire.''|| |
Linea 39: | Linea 35: |
'''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. |
I server menzionati in precedenza (tipo '''web''', '''ssh''', '''telnet'''..) di default non vengono installati, pertanto è perfettamente inutile installare un firewall per regolamentare l'accesso a porte sulle quali nessun programma è in ascolto (come avere un poliziotto in un quartiere deserto).[[BR]] Anche nel caso in cui si installi esplicitamente un programma server, come ad esempio tutti i programmi '''p2p''' è ancora inutile utilizzare un firewall allo scopo di chiudere le porte. Difatti questo avrebbe il solo scopo di impedire ai server installati di accedere alla rete e compiere il loro dovere! |
Linea 47: | Linea 38: |
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. |
[#casi Più avanti] all'interno di questa guida verranno valutati i casi in cui il firewall può rendersi necessario anche su di un sistema ''desktop''. |
Linea 52: | Linea 40: |
In questa guida verrà presa in considerazione la seconda opzione «'''Restrictive by default, whitelist traffic'''». | = Differenze con Windows = |
Linea 54: | Linea 42: |
||<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.'' || | Solitamente gli utenti di '''Windows''' sono abituati ad utilizzare un firewall, questo sostanzialmente per due motivi: |
Linea 56: | Linea 44: |
1. '''Windows''' tende ad effettuare molte operazioni all'insaputa dell'utente, e di default ha attivi molti server in ascolto sulla rete (connessioni INPUT). Visto che le porte di questi server sono, per ovvi motivi, quelle più attaccate dai ''bot'' automatici su internet, molti utenti cercano un minimo di sicurezza impedendo l'accesso dall'esterno a questi server che non è possibile "disattivare" o "disinstallare". | |
Linea 57: | Linea 46: |
== Outbound/Inbound traffic policy == | 2. Non solo '''Windows''' agisce come server all'insaputa dell'utente, ma spesso si connette automaticamente ad internet per eseguire operazioni poco chiare. Inoltre molti virus o spyware cercano automaticamente di connettersi all'esterno per eseguire i loro loschi compiti. Per questi motivi gli utenti di '''Windows''' sono soliti tenere sotto controllo anche le connessioni in uscita (OUTPUT), visto che la natura closed-source del loro sistema operativo e la sua naturale tendenza ad essere infettato da tutto e tutti lo rendono privo delle necessarie garanzie di trasparenza su cui fare affidamento. |
Linea 59: | Linea 48: |
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. |
Nel primo caso spesso il firewall integrato nella maggior parte dei [#router router] è sufficiente a bloccare il traffico in entrata.[[BR]] Mentre nel secondo caso per tenere a bada le connessioni "indesiderate" in uscita, risulta più agevole l'utilizzo di un firewall installato sul sistema operativo stesso. |
Linea 62: | Linea 51: |
||<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.|| | I vantaggi di '''GNU/Linux''' sotto questi aspetti sono piuttosto evidenti. Il sistema non effettua alcuna operazione sospetta o nascosta all'utente e proprio per la sua natura ''opensource'' (e quindi di trasparenza), eventuali comportamenti anomali sarebbero facilmente individuabili dalla comunità che lavora al suo sviluppo.[[BR]] Inoltre la sua proverbiale immunità ai virus fa sì che le sue connessioni in uscita siano considerate con abbondanti margini sicure. |
Linea 64: | Linea 54: |
[[Anchor(router)]] = Connessione tramite router = |
|
Linea 65: | Linea 57: |
[[Anchor(Events)]] == Abilitare servizi == |
Molti utenti di internet si trovano già ad usufruire, anche inconsapevolmente, degli effetti di un firewall.[[BR]] Ad esempio i '''router''' che la maggior parte degli utenti usano per connettersi tramite una connessione ADSL, integrano nella maggior parte dei modelli un firewall (in genere basato su [:Sicurezza/Iptables:Iptables], incluso nelle distribuzioni ''Linux-embedded'' contenute nella maggior parte dei '''router'''). |
Linea 68: | Linea 60: |
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. | In genere di default i firewall dei router bloccano tutte le connessioni in entrata ma permettono quelle in uscita, pertanto interferiscono solo con il funzionamento dei programmi ''server''. La maggior parte degli utenti si rende conto di essere dietro ad un firewall quando prova ad usare programmi '''p2p''' (come ad esempio [:InternetRete/Condivisione/Amule:Amule]) e scopre che non funzionano correttamente, oppure vanno a rilento. |
Linea 70: | Linea 62: |
||<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'''».|| | Il firewall incluso in questi dispositivi ha effetto su tutti i pc che vi si connettono, pertanto a meno che non ci sia la necessità di configurazioni particolari, risulta inutile configurare un firewall diverso su ciascun dispositivo. Oltre che ridondante come soluzione vi è il rischio di eccessive complicazioni. |
Linea 72: | Linea 64: |
||<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'''».|| | [[Anchor(casi)]] = Firewall sempre inutile in ambito Desktop? = |
Linea 74: | Linea 67: |
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. |
Innanzitutto occorre ricordare che il firewall, ancor prima che un vero e proprio dispositivo di sicurezza (tipo gli ''antivirus'', ''antispyware''...), è uno strumento per regolare il traffico di rete.[[BR]] Il suo utilizzo può entrare in gioco quando dalla propria macchina c'è la necessita di mettere "qualcosa" a disposizione di altri pc e a seconda dei casi quando occorrono delle regole ben precise sul "come" regolare il relativo traffico di rete. |
Linea 77: | Linea 70: |
[[Anchor(policy-standard)]] == Policy standard == |
* Può essere necessario quando occorre condividere una connessione ad internet. In questo caso saranno proprio le regole per le connessioni di FORWARD che permetteranno ad un altro pc di sfruttare la connessione ad internet. |
Linea 80: | Linea 72: |
=== Outbound traffic policy === | * A volte si tratta di mettere a disposizione dati o servizi dal proprio pc, ma solo verso uno o un solo gruppo di pc presente in una rete. Le regole del firewall possono venire incontro a queste esigenze, tuttavia vale la pena ricordare che a seconda dei casi alcuni software offrono dei tool che possono o rendere non necessario l'uso del firewall o comunque essere preferiti a quest'ultimo. In questo caso [:Server/Samba:Samba], software per la condivisione di file noto anche all'utenza desktop ne è un buon esempio. |
Linea 82: | Linea 74: |
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. | * In alcune configurazioni il firewall potrebbe ancora essere utile come strumento per ottimizzare la banda in entrata/uscita ed effettuare quello che viene comunemente detto [http://en.wikipedia.org/wiki/Traffic_shaping traffic shaping], tuttavia questo genere di configurazioni sono solitamente molto complesse, e fuori dalla portata dell'utente comune. |
Linea 84: | Linea 76: |
||<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. |
In definitiva i casi in cui anche in ambiente desktop si arrivi ad utilizzare il firewall possono sussistere. È comunque evidente come la casistica sia piuttosto ristretta. |
Linea 172: | Linea 79: |
* [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] |
|
Linea 175: | Linea 80: |
* [http://it.wikipedia.org/wiki/Porte_note Elenco delle porte standard] | |
Linea 177: | Linea 83: |
CategoryHomepage | CategorySicurezza |
Indice() Informazioni(help="http://help.ubuntu-it.org/10.04/ubuntu/serverguide/it/firewall.html"; forum="http://forum.ubuntu-it.org/index.php/topic,174121.0.html"; rilasci="10.04 9.10 9.04 8.04")
Introduzione
Buona parte degli utenti che arrivano da Windows sono abituati a dare per scontato l'utilizzo del firewall sul proprio sistema operativo, dove lo si usa indiscriminatamente per "barricare" il sistema e poi consentire via via l'accesso alla rete ai programmi che si vogliono utilizzare. Questo perché c'è sempre la paura che alcuni servizi si attivino all'insaputa dell'utente e facciano in modo che il proprio pc e i suoi dati sensibili possano essere esposti alla rete.
Nei sistemi GNU/Linux il firewall ritorna ad essere lo strumento da utilizzare nel caso l'utente decida d'installare programmi per mettere a disposizione servizi dal suo pc verso altri pc con regole ben precise. Per l'utilizzo desktop così come lo troviamo per predefinito su Ubuntu, escludendo alcuni casi specifici, si può affermare che il firewall praticamente non serva.
In questa guida vengono approfonditi in modo discorsivo alcuni aspetti tecnici, in modo che anche chi non ha profonde conoscenze tecniche possa comprendere la logica di base che porta ad una così grande differenza fra i due sistemi a proposito di sicurezza di rete.
Il traffico di rete
Le principali vie del traffico di rete sono in entrata e uscita. Più nello specifico il traffico è costituito da:
Connessioni in entrata
Connessioni in uscita
Quello che spesso risulta essere poco chiaro è la differenza fra questi due tipi di connessione.
Per chiarire queste differenze è vivamente consigliata la lettura della [:Sicurezza/Firewall/Connessioni:guida] sulle connessioni, alla fine della quale saranno chiari i concetti di connessioni di INPUT, OUTPUT e FORWARD, fondamentali per capire quale è il compito di un firewall all'interno di una rete.
Su Ubuntu Desktop è necessario il firewall?
Gli applicativi installati in modo predefinito nella versione Desktop di Ubuntu sono pensati essenzialmente per consentire di uscire su internet alla ricerca di informazioni, file o quant'altro, piuttosto che per accettare connessioni in entrata dall'esterno.
I programmi che accettano connessioni dall'esterno sono detti server. Questa categoria comprende per fare alcuni esempi i server web che ospitano le pagine HTML, oppure i server ssh o telnet, i quali consentono l'apertura di una [:AmministrazioneSistema/RigaDiComando:shell] su di un pc remoto.BR Nella versione Desktop di Ubuntu sono presenti alcuni server, ma volti principalmente all'utilizzo delle periferiche hardware come X (grafica video), cups (stampa), sane (scanner), ecc.., di default chiusi verso connessioni esterne.BR
Chiunque desideri offrire un servizio di rete ad utenti remoti deve necessariamente installare un apposito programma server sul proprio pc; questo programma si mette in ascolto su una porta, e tutte le connessioni INPUT entranti si connettono a questa porta per entrare in comunicazione con il server.
Non è possibile connettersi da remoto ad un pc se non c'è almeno un server in ascolto su una qualsiasi porta. Per fare un esempio banale è come bussare ad una casa disabitata: nessuno verrà ad aprire. |
I server menzionati in precedenza (tipo web, ssh, telnet..) di default non vengono installati, pertanto è perfettamente inutile installare un firewall per regolamentare l'accesso a porte sulle quali nessun programma è in ascolto (come avere un poliziotto in un quartiere deserto).BR Anche nel caso in cui si installi esplicitamente un programma server, come ad esempio tutti i programmi p2p è ancora inutile utilizzare un firewall allo scopo di chiudere le porte. Difatti questo avrebbe il solo scopo di impedire ai server installati di accedere alla rete e compiere il loro dovere!
[#casi Più avanti] all'interno di questa guida verranno valutati i casi in cui il firewall può rendersi necessario anche su di un sistema desktop.
Differenze con Windows
Solitamente gli utenti di Windows sono abituati ad utilizzare un firewall, questo sostanzialmente per due motivi:
Windows tende ad effettuare molte operazioni all'insaputa dell'utente, e di default ha attivi molti server in ascolto sulla rete (connessioni INPUT). Visto che le porte di questi server sono, per ovvi motivi, quelle più attaccate dai bot automatici su internet, molti utenti cercano un minimo di sicurezza impedendo l'accesso dall'esterno a questi server che non è possibile "disattivare" o "disinstallare".
Non solo Windows agisce come server all'insaputa dell'utente, ma spesso si connette automaticamente ad internet per eseguire operazioni poco chiare. Inoltre molti virus o spyware cercano automaticamente di connettersi all'esterno per eseguire i loro loschi compiti. Per questi motivi gli utenti di Windows sono soliti tenere sotto controllo anche le connessioni in uscita (OUTPUT), visto che la natura closed-source del loro sistema operativo e la sua naturale tendenza ad essere infettato da tutto e tutti lo rendono privo delle necessarie garanzie di trasparenza su cui fare affidamento.
Nel primo caso spesso il firewall integrato nella maggior parte dei [#router router] è sufficiente a bloccare il traffico in entrata.BR Mentre nel secondo caso per tenere a bada le connessioni "indesiderate" in uscita, risulta più agevole l'utilizzo di un firewall installato sul sistema operativo stesso.
I vantaggi di GNU/Linux sotto questi aspetti sono piuttosto evidenti. Il sistema non effettua alcuna operazione sospetta o nascosta all'utente e proprio per la sua natura opensource (e quindi di trasparenza), eventuali comportamenti anomali sarebbero facilmente individuabili dalla comunità che lavora al suo sviluppo.BR Inoltre la sua proverbiale immunità ai virus fa sì che le sue connessioni in uscita siano considerate con abbondanti margini sicure.
Connessione tramite router
Molti utenti di internet si trovano già ad usufruire, anche inconsapevolmente, degli effetti di un firewall.BR Ad esempio i router che la maggior parte degli utenti usano per connettersi tramite una connessione ADSL, integrano nella maggior parte dei modelli un firewall (in genere basato su [:Sicurezza/Iptables:Iptables], incluso nelle distribuzioni Linux-embedded contenute nella maggior parte dei router).
In genere di default i firewall dei router bloccano tutte le connessioni in entrata ma permettono quelle in uscita, pertanto interferiscono solo con il funzionamento dei programmi server. La maggior parte degli utenti si rende conto di essere dietro ad un firewall quando prova ad usare programmi p2p (come ad esempio [:InternetRete/Condivisione/Amule:Amule]) e scopre che non funzionano correttamente, oppure vanno a rilento.
Il firewall incluso in questi dispositivi ha effetto su tutti i pc che vi si connettono, pertanto a meno che non ci sia la necessità di configurazioni particolari, risulta inutile configurare un firewall diverso su ciascun dispositivo. Oltre che ridondante come soluzione vi è il rischio di eccessive complicazioni.
Firewall sempre inutile in ambito Desktop?
Innanzitutto occorre ricordare che il firewall, ancor prima che un vero e proprio dispositivo di sicurezza (tipo gli antivirus, antispyware...), è uno strumento per regolare il traffico di rete.BR Il suo utilizzo può entrare in gioco quando dalla propria macchina c'è la necessita di mettere "qualcosa" a disposizione di altri pc e a seconda dei casi quando occorrono delle regole ben precise sul "come" regolare il relativo traffico di rete.
- Può essere necessario quando occorre condividere una connessione ad internet. In questo caso saranno proprio le regole per le connessioni di FORWARD che permetteranno ad un altro pc di sfruttare la connessione ad internet.
A volte si tratta di mettere a disposizione dati o servizi dal proprio pc, ma solo verso uno o un solo gruppo di pc presente in una rete. Le regole del firewall possono venire incontro a queste esigenze, tuttavia vale la pena ricordare che a seconda dei casi alcuni software offrono dei tool che possono o rendere non necessario l'uso del firewall o comunque essere preferiti a quest'ultimo. In questo caso [:Server/Samba:Samba], software per la condivisione di file noto anche all'utenza desktop ne è un buon esempio.
In alcune configurazioni il firewall potrebbe ancora essere utile come strumento per ottimizzare la banda in entrata/uscita ed effettuare quello che viene comunemente detto [http://en.wikipedia.org/wiki/Traffic_shaping traffic shaping], tuttavia questo genere di configurazioni sono solitamente molto complesse, e fuori dalla portata dell'utente comune.
In definitiva i casi in cui anche in ambiente desktop si arrivi ad utilizzare il firewall possono sussistere. È comunque evidente come la casistica sia piuttosto ristretta.
Ulteriori risorse
[http://it.wikipedia.org/wiki/Porte_note Elenco delle porte standard]