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 4 e 28 (in 24 versioni)
Versione 4 del 24/04/2007 06.06.38
Dimensione: 6575
Commento:
Versione 28 del 01/07/2008 04.15.51
Dimensione: 15102
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
## page was renamed from JeremieTamburini/Prove
Linea 2: Linea 3:
||<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.'''|| ||<tablestyle="font-size: 18px; text-align:center; color:yellow; 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.'''||
Linea 4: Linea 5:
[[BR]]
Relativa discussione sul forum http://forum.ubuntu-it.org/index.php/topic,174121.0.html [[BR]]
Traccia: [[BR]]
1-Cosa sono il traffico in uscita, in entrata e di "forward" (mostrando esempi con programmi noti) '''FATTO'''[[BR]]
2-Perché per un ordinario utilizzo desktop non è necessario attivare il firewall '''FATTO'''[[BR]]
3-Connessione tramite router, perché è inutile usare il firewall sul proprio sistema operativo per il collegamento Internet '''FATTO'''[[BR]]
4-Connessione tramite modem, cosa cambia rispetto al router? Occorre il firewall? '''Omesso'''[[BR]]
5-Quando è raccomandabile l'utilizzo del firewall? Quali sono i servizi che lo rendono consigliabile? '''FATTO''' [[BR]]
6-Firewal nella rete LAN. Può avere senso anche nell'uso desktop utilizzare il firewall all'interno della LAN? '''FATTO'''
Linea 8: Linea 17:
'''GUIDA MIDISPORT USB''' = Introduzione =
Linea 10: Linea 19:
= Introduzione =
Questa guida mostra alcuni esempi di come installare cavi di collegamento midi/usb della M-Audio per poter collegare
una tastiera al proprio computer.
Buona parte degli utenti che arrivano da Windows sono abituati a dare per scontato l'utilizzo del firewall sul proprio sistema operativo. Su Windows lo si usa indiscriminatamente per “inscatolare” 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 14: Linea 21:
[[Immagine(Icone/Piccole/warning.png,,left)]] [[BR]] '''Attenzione: le procedure riportate sono state testate sul cavo Midisport UNO. In particolar modo la seconda procedura potrebbe richiedere dei passaggi differenti a seconda della periferica in uso.''' Su Linux il firewall ritorna a diventare lo strumento da utilizzare nel caso “l'utente decida” di installare software per mettere a disposizione servizi dal suo pc verso altri pc con regole ben precise. Per l'utilizzo ''desktop'' così come lo troviamo di default su '''Ubuntu''', escludendo alcuni casi specifici, si può affermare che il firewall praticamente non serva.
Linea 16: Linea 23:
= Primo metodo =
Il seguente metodo ha riscontrato piena funzionalità solo nella versione '''Ubuntu Dapper Drake 6.06'''. Nelle versioni successive il firmware non viene caricato all'avvio del pc, a meno che sia stato caricato in precedenza avviando la versione 6.06 di Ubuntu presente sullo stesso pc in dual-boot.[[BR]]
In questa guida si approfondiscono 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 livello di sicurezza di rete.
Linea 19: Linea 25:
Come indicato nel sito http://usb-midi-fw.sourceforge.net questa è la lista dei dispositivi supportati:
 * Midi``Sport 1x1
 * Midi``Sport 2x2
 * Midi``Sport 4x4
 * Midi``Sport 8x8
 * Key``Station (old models: 49, 61)
 * Oxygen
 * Radium49
 * Radium61
 * Uno
A [http://sourceforge.net/project/showfiles.php?group_id=87777&package_id=92666 questo] indirizzo è possibile scaricare il file '''midisport-firmware-1.2.tar.gz'''. Occorre estrarre la directory `midisport-firmware-1.2` e spostarsi al suo interno, cioè, supponendo di aver scaricato il file nella propria home-utente:
{{{
tar xvzf midisport-firmware-1.2.tar.gz
cd midisport-firmware-1.2
}}}
A questo punto prima di procedere con la compilazione è bene collegare il dispositivo usb, installare il pacchetto '''build-essential''' e come indicato nel file `README` installare i pacchetti '''udev''' e '''fxload''' con [:SynapticHowto:Synaptic] o da linea di comando:
{{{
sudo apt-get install build-essential udev fxload
}}}
E poi dare i seguenti comandi:
{{{
./configure
make
sudo make install
}}}
La procedura è terminata. Se la spia sul dispositivo non si è accesa, provare a riavviare il sistema.
= Il traffico di rete =
Linea 46: Linea 27:
= Secondo metodo = Prendiamo come esempio un singolo pc connesso ad una rete più o meno grande (che può essere anche tutta internet).
Si può pensare il funzionamento della propria rete come una serie di tubi lungo la quale l'acqua si muove solo in una direzione. Esisterà un flusso di dati in entrata nel pc e un flusso di dati uscenti.[[BR]]
 * '''Dati in entranta''': li otteniamo dall'esterno quando guardiamo una pagina web, oppure quando scarichiamo un file.
 * '''Dati in uscita''': informazioni spedite dal nostro pc come: una e-mail, una richiesta di accesso ad una pagina web, etc...
Linea 48: Linea 32:
La seconda procedura è tratta da [http://ubuntuforums.org/showthread.php?t=96506 questo] how-to del forum internazionale di Ubuntu e testata su '''Ubuntu Feisty Fawn 7.04'''[[BR]]
Questa è la lista dei dispositivi supportati:
||<tablestyle="width:100%" : 10%>'''RolandED/Edirol''' ||<:>SC-8850||<:>UA-100(G)||<:>UM-2||<:>UM-1||<:>PC-100 ||<:>XV-2020||
||'''YAMAHA'''||<:>MU-1000||<:>UX-16||<:>||<:>||<:>||<:>||
||'''Midi``Man'''||<:>Midi``Sport 1x1||<:>Midi``Sport 2x2||<:>Midi``Sport Uno||<:>||<:>||<:>||
||'''Steinberg'''||<:>USB-2-MIDI||<:>||<:>||<:>||<:>PC-100 ||<:>XV-2020||
||'''MOTU'''||<:>Fastlane||<:>||<:>||<:>||<:>||<:>||
Per prima cosa occorre scaricare il firmware '''usbmidi-20040829.tar.gz''' da [http://homepage3.nifty.com/StudioBreeze/software/usbmidi-e.html questa] pagina, estrarre la directory `usbmidi-20040829` e copiare il file `usbmidi-20040829/testing/MidiSport/ezusbmidi1x1.ihx` in `/etc/firmware/`. Tutto questo, supponendo di aver scaricato il file nella home-utente è traducibile con i seguenti comandi:
{{{
wget http://homepage3.nifty.com/StudioBreeze/software/bin/usbmidi-20040829.tar.gz
tar xvzf usbmidi-20040829.tar.gz
sudo mkdir /etc/firmware
sudo cp usbmidi-20040829/testing/MidiSport/ezusbmidi1x1.ihx /etc/firmware/
}}}
[[Immagine(Icone/Piccole/warning.png,,left)]] [[BR]] '''Attenzione: se si usa Midi``Sport 2x2, sostituire il file `ezusbmidi1x1.ihx` con `ezusbmidi_2x2.ihx`[[BR]] Midi``Sport 1x1 e Midi``Sport Uno richiedono la stessa procedura.'''
[[BR]]
Per poter caricare il firmware occorre installare il pacchetto '''fxload''' con [:SynapticHowto:Synaptic] o con il comando:
{{{
sudo apt-get install fxload
}}}
A questo punto collegare il cavo midi/usb e con il comando
{{{
lsusb
}}}
apparirà qualcosa di questo genere (non apparirà a tutti la stessa cosa):
{{{
Bus 004 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Bus 001 Device 006: ID 0763:1010 Midiman Midisport 1x1
Bus 001 Device 001: ID 0000:0000
}}}
vale a dire: il dispositivo 006 (Midiman Midisport 1x1) è stato assegnato al bus 001 e verrà visualizzato nel percorso `/proc/bus/usb/001/006`[[BR]]
Per caricare il firmware occorre dare il comando:
{{{
sudo fxload -I /etc/firmware/ezusbmidi1x1.ihx -D /proc/bus/usb/001/006
}}}
[[Immagine(Icone/Piccole/warning.png,,left)]] [[BR]]'''Attenzione: i numeri del comando lsusb, possono cambiare ogni volta![[BR]]Al solito il percorso /etc/firmware/ezusbmidi1x1.ihx, per Midi``Sport 2x2 è /etc/firmware/ezusbmidi_2x2.ih'''[[BR]]
[[BR]]
Se la spia del dispositivo si accende, allora è andato tutto a buon fine.
Quando si parla di '''connessioni''' invece il discorso è diverso. Mentre i dati grezzi viaggiano secondo le direttive precedentemente esposte, la logica che sta dietro a questi movimenti funziona in modo leggermente differente.
Linea 89: Linea 34:
== Script di avvio ==
Per avviare il cavo midi/usb, dovrebbero essere eseguiti gli ultimi due passaggi ogni volta che il cavo viene inserito nella presa usb del pc.[[BR]]
Per agevolare la procedura si può creare uno script. Dare il comando:
{{{
sudo gedit /usr/local/bin/midisportsetup
}}}
Se usate Kde in quest'ultimo comando usate '''kate''' al posto di '''gedit'''.[[BR]]
[[BR]]
Copiare all' interno dell'editor di testo il seguente script:
{{{
#!/bin/bash
== Connessioni ==
Linea 101: Linea 36:
#your firmware ... taken from usbmidi
fw=/etc/firmware/ezusbmidi1x1.ihx
=== Connessioni in uscita ===
Linea 104: Linea 38:
#get proc address
bd=$( lsusb | grep Midisport | cut -d ' ' -f 2,4 | sed -e 's/ /\//' -e 's/://' )
Prendiamo ad esempio il caricamento di una pagina web.[[BR]]
Quando digitiamo un indirizzo nella barra del nostro browser, mettiamo in moto una serie di meccanismi che portano alla serie di dati ''uscenti'' (la richiesta della pagina) ed ''entranti'' (i dati della pagina) che fanno parte tuttavia di un'unica '''connessione'''.
Linea 107: Linea 41:
dev=/proc/bus/usb/$bd Dal momento che la richiesta iniziale che genera il traffico di dati parte dal nostro pc, tale connessione viene detta '''connessione in uscita'''.
Linea 109: Linea 43:
#load firmware
echo fxload -I $fw -D $dev
fxload -I $fw -D $dev
}}}
Dopo aver salvato e chiuso il file, impostare i permessi con il comando:
{{{
sudo chmod 775 /usr/local/bin/midisportsetup
}}}
Da ora in poi quando il cavo verrà connesso al computer, basterà dare il comando:
{{{
sudo /usr/local/bin/midisportsetup
}}}
||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''Le connessioni uscenti rappresentano praticamente la totalità delle connessioni effettuate da un comune pc preposto alla navigazione, alla spedizione/ricezione delle e-mail, etc...''||
Linea 122: Linea 45:
= Midisport su Rosegarden =
Con buone probabilità se viene usato un cavo midi/usb è per poter usare una tastiera con [http://wiki.ubuntu-it.org/RosegardenHowto Rosegarden].[[BR]]
Se il cavo non viene riconosciuto automaticamente cliccare sull'icona “Gestisci dispositivi midi” (quella fatta a forma di pianoforte) e selezionare nei menù a tendina il dispositivo Midisport (midi input system device).
=== Connessioni in entrata ===

Per continuare con lo stesso esempio consideriamo ora un server che ospita una pagina web.[[BR]]
Su questo pc gira un programma detto "server" (tipicamente Apache su macchine Unix) che si prende l'incarico di accettare le richieste di connessione provenienti dai pc che navigano in internet e fornire loro la pagina web desiderata ospitata localmente.

In questo caso la richiesta iniziale che genera il traffico di dati parte da un altro pc. Quindi la connessione viene definita '''connessione in entrata'''

||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''I pc adibiti a questo utilizzo server sono solitamente riservati ad un utilizzo professionale, tuttavia anche nei pc di molti utenti si trovano programmi che fanno cose simili. Ad esempio i programmi p2p funzionano come dei veri e propri server, ascoltando le richieste degli altri utenti della rete interessati ad un file che ospitiamo sul nostro hard disk.''||

== Porte ==

Dal momento che un pc può ospitare innumerevoli programmi server, è previsto che ciascun programma si metta in ascolto su una diversa '''porta''', il cui numero va da '''1''' a '''65535'''.[[BR]]
Qualsiasi richiesta di connessione deve specificare, oltre all'indirizzo ip del server, anche la porta a cui ci si connette. I browser tipicamente si connettono alla porta 80, quella dove, come standard, ascoltano i server web. Nella tabella vengono riportati alcuni esempi:
||<tablestyle="width:60%" : style="background-color:#FB8B00;":-5>'''''Porte standard'''''||
||<:15%>'''HTTP'''||<:15%>'''SSH'''||<:15%>'''FTP'''||<:15%>'''Telnet'''||<:15%>'''HTTPS'''||
||<:>80/tcp||<:>22/tcp||<:>21/tcp||<:>23/tcp||<:>443/tcp||
Per avere un elenco completo delle porte standard consultare la [http://it.wikipedia.org/wiki/Porte_note seguente pagina].

Le porte dalla '''1''' a '''1024''' sono tutte standardizzate e sono dette '''porte privilegiate'''. Il programma che ascolta su una di queste porte deve per forza avere i permessi di root.[[BR]]
Le porte sopra la 1024 vengono usate dai programmi server lanciati dagli utenti normali, come ad esempio i programmi p2p (ciascuno usa specifiche porte sopra la 1024).

== Connessioni di forward ==

Ci sono anche alcuni computer che fanno qualcosa di ancora diverso. I router che abbiamo in casa, ad esempio veicolano le connessioni in entrata su una presa (Internet) verso i pc della rete interna (LAN) e viceversa. Questo "passaggio di mani", senza che venga fatto niente con i dati in transito, si chiama '''forwarding''', e le connessioni di questo tipo si dicono '''connessioni di forward'''.

||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''Tipicamente un utente di un pc non deve trafficare con simili connessioni, ma in ambito server sono molto comuni.''||

Capire la differenza e il funzionamento di queste connessioni '''INPUT''', '''OUTPUT''' e '''FORWARD''', è utile per capire poi il funzionamento della rete e le regole dei firewall, che altro non sono che strumenti avanzati per manipolare le connessioni del proprio pc.

= A livello "Desktop" è necessario il firewall? =

Gli applicativi installati di default nella versione ''Desktop'' di '''Ubuntu''' sono pensati essenzialmente per consentirci 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 che visitiamo con il nostro browser, oppure i server '''ssh''' o '''telnet''', verso cui ci connettiamo quando vogliamo aprire una [:AmministrazioneSistema/RigaDiComando:shell] su 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 voglia 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.

||<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.''||

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 che abbiamo esplicitamente installato 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:

 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".

 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.

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.

[[Anchor(router)]]
= 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 di noi 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 nel 99% dei router).

Di default i firewall della maggior parte 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 un programma ''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 di non aver bisogno di configurazioni particolari, risulta inutile configurare un firewall diverso su ciascun dispositivo. Oltre che ridondante come soluzione, si rischia di complicarsi eccessivamente la vita.

[[Anchor(casi)]]
= 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 nostra macchina si vuole 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.

 * Possiamo ritenerlo 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 nostro 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]

BR

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

BR BR Relativa discussione sul forum http://forum.ubuntu-it.org/index.php/topic,174121.0.html BR Traccia: BR 1-Cosa sono il traffico in uscita, in entrata e di "forward" (mostrando esempi con programmi noti) FATTOBR 2-Perché per un ordinario utilizzo desktop non è necessario attivare il firewall FATTOBR 3-Connessione tramite router, perché è inutile usare il firewall sul proprio sistema operativo per il collegamento Internet FATTOBR 4-Connessione tramite modem, cosa cambia rispetto al router? Occorre il firewall? OmessoBR 5-Quando è raccomandabile l'utilizzo del firewall? Quali sono i servizi che lo rendono consigliabile? FATTO BR 6-Firewal nella rete LAN. Può avere senso anche nell'uso desktop utilizzare il firewall all'interno della LAN? FATTO BR

Introduzione

Buona parte degli utenti che arrivano da Windows sono abituati a dare per scontato l'utilizzo del firewall sul proprio sistema operativo. Su Windows lo si usa indiscriminatamente per “inscatolare” 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.

Su Linux il firewall ritorna a diventare lo strumento da utilizzare nel caso “l'utente decida” di installare software per mettere a disposizione servizi dal suo pc verso altri pc con regole ben precise. Per l'utilizzo desktop così come lo troviamo di default su Ubuntu, escludendo alcuni casi specifici, si può affermare che il firewall praticamente non serva.

In questa guida si approfondiscono 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 livello di sicurezza di rete.

Il traffico di rete

Prendiamo come esempio un singolo pc connesso ad una rete più o meno grande (che può essere anche tutta internet). Si può pensare il funzionamento della propria rete come una serie di tubi lungo la quale l'acqua si muove solo in una direzione. Esisterà un flusso di dati in entrata nel pc e un flusso di dati uscenti.BR

  • Dati in entranta: li otteniamo dall'esterno quando guardiamo una pagina web, oppure quando scarichiamo un file.

  • Dati in uscita: informazioni spedite dal nostro pc come: una e-mail, una richiesta di accesso ad una pagina web, etc...

Quando si parla di connessioni invece il discorso è diverso. Mentre i dati grezzi viaggiano secondo le direttive precedentemente esposte, la logica che sta dietro a questi movimenti funziona in modo leggermente differente.

Connessioni

Connessioni in uscita

Prendiamo ad esempio il caricamento di una pagina web.BR Quando digitiamo un indirizzo nella barra del nostro browser, mettiamo in moto una serie di meccanismi che portano alla serie di dati uscenti (la richiesta della pagina) ed entranti (i dati della pagina) che fanno parte tuttavia di un'unica connessione.

Dal momento che la richiesta iniziale che genera il traffico di dati parte dal nostro pc, tale connessione viene detta connessione in uscita.

Immagine(Icone/Piccole/note.png,,center)

Le connessioni uscenti rappresentano praticamente la totalità delle connessioni effettuate da un comune pc preposto alla navigazione, alla spedizione/ricezione delle e-mail, etc...

Connessioni in entrata

Per continuare con lo stesso esempio consideriamo ora un server che ospita una pagina web.BR Su questo pc gira un programma detto "server" (tipicamente Apache su macchine Unix) che si prende l'incarico di accettare le richieste di connessione provenienti dai pc che navigano in internet e fornire loro la pagina web desiderata ospitata localmente.

In questo caso la richiesta iniziale che genera il traffico di dati parte da un altro pc. Quindi la connessione viene definita connessione in entrata

Immagine(Icone/Piccole/note.png,,center)

I pc adibiti a questo utilizzo server sono solitamente riservati ad un utilizzo professionale, tuttavia anche nei pc di molti utenti si trovano programmi che fanno cose simili. Ad esempio i programmi p2p funzionano come dei veri e propri server, ascoltando le richieste degli altri utenti della rete interessati ad un file che ospitiamo sul nostro hard disk.

Porte

Dal momento che un pc può ospitare innumerevoli programmi server, è previsto che ciascun programma si metta in ascolto su una diversa porta, il cui numero va da 1 a 65535.BR Qualsiasi richiesta di connessione deve specificare, oltre all'indirizzo ip del server, anche la porta a cui ci si connette. I browser tipicamente si connettono alla porta 80, quella dove, come standard, ascoltano i server web. Nella tabella vengono riportati alcuni esempi:

Porte standard

HTTP

SSH

FTP

Telnet

HTTPS

80/tcp

22/tcp

21/tcp

23/tcp

443/tcp

Per avere un elenco completo delle porte standard consultare la [http://it.wikipedia.org/wiki/Porte_note seguente pagina].

Le porte dalla 1 a 1024 sono tutte standardizzate e sono dette porte privilegiate. Il programma che ascolta su una di queste porte deve per forza avere i permessi di root.BR Le porte sopra la 1024 vengono usate dai programmi server lanciati dagli utenti normali, come ad esempio i programmi p2p (ciascuno usa specifiche porte sopra la 1024).

Connessioni di forward

Ci sono anche alcuni computer che fanno qualcosa di ancora diverso. I router che abbiamo in casa, ad esempio veicolano le connessioni in entrata su una presa (Internet) verso i pc della rete interna (LAN) e viceversa. Questo "passaggio di mani", senza che venga fatto niente con i dati in transito, si chiama forwarding, e le connessioni di questo tipo si dicono connessioni di forward.

Immagine(Icone/Piccole/note.png,,center)

Tipicamente un utente di un pc non deve trafficare con simili connessioni, ma in ambito server sono molto comuni.

Capire la differenza e il funzionamento di queste connessioni INPUT, OUTPUT e FORWARD, è utile per capire poi il funzionamento della rete e le regole dei firewall, che altro non sono che strumenti avanzati per manipolare le connessioni del proprio pc.

A livello "Desktop" è necessario il firewall?

Gli applicativi installati di default nella versione Desktop di Ubuntu sono pensati essenzialmente per consentirci 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 che visitiamo con il nostro browser, oppure i server ssh o telnet, verso cui ci connettiamo quando vogliamo aprire una [:AmministrazioneSistema/RigaDiComando:shell] su 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 voglia 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.

Immagine(Icone/Piccole/note.png,,center)

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 che abbiamo esplicitamente installato 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:

  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".

  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.

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.

Anchor(router)

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 di noi 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 nel 99% dei router).

Di default i firewall della maggior parte 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 un programma 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 di non aver bisogno di configurazioni particolari, risulta inutile configurare un firewall diverso su ciascun dispositivo. Oltre che ridondante come soluzione, si rischia di complicarsi eccessivamente la vita.

Anchor(casi)

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 nostra macchina si vuole 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.

  • Possiamo ritenerlo 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 nostro 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


CategoryHomepage