Utente:Keltik: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
 
(18 versioni intermedie di 3 utenti non mostrate)
Riga 1: Riga 1:
{{stub}}
Il mio nome è Paolo Canavese, sono nato in una afosa notte di agosto dell' ormai lontano [http://it.wikipedia.org/wiki/1975 1975] e abito a [http://it.wikipedia.org/wiki/Boissano Boissano] in provincia di [http://it.wikipedia.org/wiki/Savona Savona].


Uno dei primi passi da affrontare subito l' installazione della nostra Debian dovrebbe essere quello di accertarsi di quali servizi e demoni vengono lanciati dal sistema. Questa operazione permette un controllo migliore della sicurezza della nostra macchina ed una minore esposizione a rischi legati a intrusioni.
'''Coordinate''':<br/>
* [mailto:keltik@autistici.org keltik at autistici dot org]
* [http://www.jaxx.it/keltik il mio blog]


In questa breve guida vedremo come controllare i servizi attivi, come eliminare quelli non necessari e come rendere pi� sicuri quelli che intendiamo utilizzare.
==Discussioni==
* [[Discussioni_utente:Keltik|Le mie discussioni]]


Buona lettura & happy debian!
==Progetti==
# [[Museo dei ricordi Debian]]


=Concetti di base=
==Le mie guide (questo wiki)==
==Servizi & Demoni==
# [[Usare Fotocamere Digitali (usb-storage)]]
In un sistema operativo si definisce "servizio" (o anche "demone") un processo in background che gira autonomamente, senza intervento da parte dell' utente, o comunque con una interazione ridotta al minimo. Un esempio di servizo &egrave; il server web Apache: il server viene controllato dal demone "httpd" che gira in background, resta in ascolto sulla porta indicata e serve le pagine richieste.
# [[APT uso avanzato: mixare releases diverse]]
# [[Logging su MySQL]]
# [[Old:Kernel 2.6 su Debian Woody]]
# [[Debian e iptables]]
# [[L' Universo Debian]] ''traduzione''
# [[Introduzione all'APT System]]
# [[Configurare il server X in Debian GNU/Linux]]
# [[Impostare la lingua italiana nel sistema]]
# [[Impostare e modificare data e ora]]
# [[Impostare e modificare il layout della tastiera]]
# [[Impedire l'aggiornamento di un pacchetto]]
# [[Debian e il controllo di servizi e demoni]] ''in stesura (stub)''
# [[Parametri a run-time per Netfilter]]
# [[Creare un Repository Debian]]
# [[Intel PRO/Wireless 2200BG]]
# [[Debian on a HP Compaq NX6110]]
# [[Debian MapServer/MapScript]]
# [[Old:Installare OpenOffice2 su Debian Etch]]
# [[Installare pacchetti in automatico: auto-apt]] ''todo''
# [[Cpufreqd: Un demone per il CPU frequency scaling]]
# [[DVD Backup: xDVDShrink per Debian]]
# [[Privoxy: navigazione sicura a prova di spam]]
# [[Debian e Nokia 7210: uso di gnokii e gestione degli sms]]
# [[Debian: accelerare GTK con Cairo e Glitz]]
# [[Debian: software suspend e ibernazione per laptops]]
# [[Samba: guida rapida]]
# [[Debian: guida all' installazione di Enlightenment 17 - e17 cvs]]
# [[Debian e sintesi vocale: installazione di festival e mbrola]]
# [[Installiamo Ruby On Rails su Debian]]
# [[Fare il downgrade di uno o più pacchetti]]


=Strumenti=
==Collaborazioni (questo wiki)==
GNU/Linux fornisce una nutrita schiera di programmi che ci permettono di intergire con i servizi attivi sulla nostra macchina. Di seguito riporto quelli pi� usati nell' amministrazione di un sistema Debian.
# [[Condividere la connessione a internet]] - ''me & [[Utente:TheNoise|TheNoise]]''
# [[LAMP: Linux, Apache, MySQL e PHP]] - ''me & [[Utente:MaXeR|MaXeR]]''
# [[Munin]] - ''me &  [[Utente:MaXeR|MaXeR]]''


==netstat==
==Altri Documenti (questo wiki)==
# [[Il Progetto GNU]]
# [[Software Libero#Libri OnLine| Software Libero: Libri OnLine]]
# [[Free as in Freedom]]
# [[Cos'è il Software libero]] ''(definizione del Software Libero) (ToDo)''
# [[Netiquette e Regole]]


Netstat � uno dei programmi pi� utilizzati ed utili: permette di elencare tutta una serie di informazioni utili (sockets aperti, routing tables, processi, ecc...). Per il nostro scopo utilizzeremo netstat per ottenere un elenco di tutte le connessioni di rete aperte sulla nostra macchina. Ottenere queste informazioni � il primo passo per conoscere nel dettaglio cosa succede all' interno del nostro sistema operativo.
==Contributi (questo wiki)==
*[[Speciale:Contributions/keltik|Dove ho messo mano]]


Ora cerchiamo tutte le connessioni di rete in ascolto (stato LISTEN) sul nostro sistema.
==Altri progetti e collaborazioni==
# [http://www.debianuniverse.com DebianUniverse] - cura e traduzione degli articoli:
## [http://www.debianuniverse.com/readonline/chapter/01/it L' universo Debian]
## [http://www.debianuniverse.com/readonline/chapter/02/it Debian, la distribuzione 3 in 1]
## [http://www.debianuniverse.com/readonline/chapter/03/it Installare Debian]
## [http://www.debianuniverse.com/readonline/chapter/04/it Installazione del sistema X Window]
## [http://www.debianuniverse.com/readonline/chapter/05/it Introduzione alla gestione Debian dei pacchetti software]


<pre># netstat -l |grep tcp
==Files==
tcp        0      0 *:netbios-ssn          *:*                    LISTEN
# Configurazione Laptop HP Compaq NX 6110
tcp        0      0 *:5900                  *:*                    LISTEN
## [[kernel config per HP Compaq NX 6110]] ''testata su 2.6.12.6 e 2.6.13.3''
tcp        0      0 *:www                  *:*                    LISTEN
## [[Kernel_config per HP Compaq NX 6110 2.6.16|kernel config per HP Compaq NX 6110]] ''testata su 2.6.16''
tcp        0      0 *:sieve                *:*                    LISTEN
## configurazione di Xorg per HP Compaq NX 6110
tcp        0      0 *:ssh                  *:*                    LISTEN
tcp        0      0 localhost.localdom:8118 *:*                    LISTEN
tcp        0      0 *:ipp                  *:*                    LISTEN
tcp        0      0 localhost.localdom:smtp *:*                    LISTEN
tcp        0      0 *:microsoft-ds          *:*                    LISTEN</pre>


Ho scelto di limitare l' output alle sole connessioni in attesa di connessione. Potete anche provare ad utilizzare i comandi '''netstat -a''', '''netstat -l''', '''netstat -l |grep tcp''', ecc...


Le colonne da prendere in esame sono (in questo esempio) la terza e la quarta. La terza colonna riporta l' accoppiata indirizzo+porta su cui un ascolto il servizio.


Se osserviamo la prima linea dell' output, la terza colonna indica come coppia indirizzo+porta il testo '''*:netbios-ssn''': questo significa che attivo un servizio in ascolto per qualsiasi (*) indirizzo di rete configurato sulla macchina e che questo servizio associato alla porta '''netbios-ssn'''.


Nelle altre righe possiamo notare che, nella colonna degli indirizzi, oltre al "*" (che indica ''qualsiasi indirizzo'') compare anche ''localhost.localdomain''. Netstat tenta di risolvere gli indirizzi ip e reperisce questo hostname dal file '''/etc/hosts''', per cui localhost.localdomain corrisponde (nel mio esempio) all' indirizzo dell' interfaccia di loopback (127.0.0.1), come possiamo verificare con un semplice
----
 
<pre>$ cat /etc/hosts |grep localhost.localdomain
127.0.0.1 localhost.localdomain localhost debby</pre>
 
&Egrave; interessante notare come per alcune porte venga riportato un valore numerico, mentre per altre un valore alfanumerico.
 
Valore numerico:
<pre>tcp        0      0 *:5900                  *:*                    LISTEN</pre>
Valore alfanumerico:
<pre>tcp        0      0 *:netbios-ssn          *:*                    LISTEN</pre>
 
Questo comportamento di netstat � presto spiegato: quando il programma rileva un servizio in ascolto su una porta (ad esempio la porta 5900), cerca una corrispondenza con la stessa all' interno del file ''/etc/services''.
 
Il file ''services'' � un file testuale che associa un numero di porta numerico alla descrizione alfanumerica del servizio associato alla stessa.
 
Se vogliamo vedere a quale porta corrisponda il dato ''netbios-ssn'' dell' esempio precedente, � sufficiente cercarlo all' interno del file services:
 
<pre>$ cat /etc/services |grep netbios-ssn
netbios-ssn    139/tcp                        # NETBIOS session service
netbios-ssn    139/udp</pre>
 
Nel nostro esempio, dato che la porta era di tipo TCP, il valore cercato � il primo ottenuto.
 
Agendo sul file services possiamo quindi assegnare un valore descrittivo alle porte riportate solo con il valore numerico. Ad esempio tornando alla porta 5900, probabilmente vorremo associarla al servizio ad essa associata (vnc).
 
Sar� quindi sufficiente editare il file services ed aggiungere la linea:
 
<pre>vnc-server      5900/tcp        vnc-server      # TightVNC Server</pre>
 
A questo punto avremo realizzato l' associazione porta/descrizione:
 
<pre>~# netstat -l |grep tcp
[...]
tcp        0      0 *:vnc-server            *:*                    LISTEN
[...]</pre>
 
Per quanto riguarda la quarta colonna, nell' esempio precedente possiamo vedere che il valore � identico per tutti i servizi e cio� '''*:*'''. Questo significa che il servizio � pronto a ricevere connessioni da qualsiasi indirizzo ip e da qualsiasi porta ad esso associata.
 
Notiamo a questo punto che alcuni dei servizi avviati sono in ascolto su qualsiasi indirizzo ip configurato sulla nostra macchina (*), mentre alcuni sono legati (si dice anche binding) all' indirizzo ''localhost.localdomain'' che abbiamo visto prima corrispondere all' indirizzo di loopback (127.0.0.1).
 
Quando un servizio � in ascolto unicamente sull' interfaccia di loopback significa che sar� raggiungibile unicamente attraverso quell' interfaccia. Questo ci garantisce che l'unico host in grado di contattare il servizio � la stessa macchina che lo ha in esecuzione.
 
Nell' esempio di prima i servizi raggiungibili unicamente dall' interfaccia di loopback sono '''smtp''' e '''8118'''. Come impareremo a verificare pi� tardi, si tratta rispettivamente del server di posta '''exim''' e del proxy '''privoxy'''.
 
==lsof==
 
Se con '''netstat''' siamo in grado di monitorare quali servizi sono in ascolto sulla nostra macchina, � anche indispensabile sapere quale programma abbia lanciato e controlli ogni singolo servizio.
 
Una caratteristica peculiare dei sistemi operativi derivati da Unix (tra cui appunto GNU/Linux) � che qualsiasi elemnto del sistema viene visto come se fosse un file. Abbiamo files veri e propri (ad es.: pippo.txt), abbiamo i dispositivi hardware (si trovano in /dev, e sono rappresentati da file veri e propri) ed abbiamo le connessioni di rete (anche queste sono veri e propri file).
 
Approfittando di questa caratteristica di GNU/Linux, possiamo investigare in maniera approfondita sui nostri servizi: se per il sistema operativo si tratta di files allora possiamo sapere chi li ha creati e chi li ha aperti.


Lo strumento principe per questo scopo � '''lsof'''. Come per la maggior parte dei comandi GNU, lsof � una abbreviazione (in questo caso ricorsiva!) della descrizione del comando: lsof = '''LS O'''pen '''F'''iles, cio� '''L'''i'''S'''t '''O'''pen '''F'''iles (elenca i files aperti).
'''Sentiti libero di ampliare modificare e/o correggere i contenuti di questo wiki!!'''
 
Dato che le connessioni di rete sono rappresentate da veri e propri files, possiamo usare lsof per ottenere informazioni su di esse.
 
Poniamo il caso di voler ottenere informazioni sul servizio:
 
<pre>tcp        0      0 *:netbios-ssn          *:*                    LISTEN</pre>
 
Sar� sufficiente utilizzare lsof:
 
<pre># lsof -i |grep netbios-ssn
smbd      4089        root  21u  IPv4  8082      TCP *:netbios-ssn (LISTEN)</pre>
 
In questo modo possiamo vedere che il servizio in ascolto sulla porta associata a '''netbios-ssn''' (la porta 139) � controllato dal programma '''smbd'''.
 
Allo stesso modo possiamo fare con '''www''' e '''smtp''', ecc...
 
<pre># lsof -i |grep www
apache    4342        root  16u  IPv4  8423      TCP *:www (LISTEN)
apache    4349    www-data  16u  IPv4  8423      TCP *:www (LISTEN)
 
# lsof -i |grep smtp
exim4    3901 Debian-exim    3u  IPv4  7625      TCP localhost.localdomain:smtp (LISTEN)</pre>
 
==Apt System==
 
Ora che sappiamo quale programma controlla un determinato servizio, abbiamo la possibilit� di risalire a quale pacchetto Debian lo contiene per - eventualmente - rimuoverlo, oppure ottenere versioni pi� aggiornate, ricompilarlo con patches specifiche, ecc...
 
Il sistema pi� semplice ed allo stesso pi� potente per individuare quale pacchetto Debian contiene un file, consiste nell' utilizzare il programma '''apt-file'''. Per l' installazione e l' utilizzo di apt-file, vi rimando all' ottima guida [[Apt-file: ricerca all'interno dei pacchetti]], scritta da MaXeR.
 
Nel contesto a noi necessario utilizzeremo la funzione di ricerca di apt-file per risalire a quale pacchetto contiene il programma che lancia un particolare demone.
 
Continuiamo a utilizzare come esempio il servizio in ascolto sulla porta '''netbios-ssn'''. Per adesso siamo riusciti a risalire al fatto che il servizio netbios-ssn corrisponde alla porta 139 e che � controllato da '''smbd'''.
 
Ora vedremo cosa sia '''smbd'''. Prima di tutto verifichiamo quale script o programma si preoccupa di lanciare smbd
 
<pre># lsof |grep smbd |grep txt
smbd      4089        root  txt      REG        3,3  2805852      34840 /usr/sbin/smbd
smbd      4094        root  txt      REG        3,3  2805852      34840 /usr/sbin/smbd</pre>
 
 
Ora vediamo quale pacchetto contiene /usr/sbin/smbd:
 
<pre># apt-file search /usr/sbin/smbd
samba: usr/sbin/smbd
samba-dbg: usr/lib/debug/usr/sbin/smbd</pre>
 
Controlliamo quale di essi sia presente nel nostro sistema:
 
<pre># dpkg -l samba*
Desiderato=sconosciUto/Installato/Rimosso/P:eliminato/H:bloccato
| Stato=Non/Installato/file Config./U:spacchett./conf. Fallita/H:inst.parzial.
|/ Err?=(nessuno)/H:bloc./necess.Reinst./X=entrambi (Stato,Err: maiusc.=grave)
||/ Nome          Versione      Descrizione
+++-==============-==============-============================================
ii  samba          3.0.14a-6      a LanManager-like file and printer server fo
un  samba-client  <non definita> (descrizione non disponibile)
ii  samba-common  3.0.14a-6      Samba common files used by both the server a
un  samba-doc      <non definita> (descrizione non disponibile)</pre>
 
=Cenni ad altri strumenti=
==Livello rete==
==Livello applicazione==
 
 
----
[[Utente:Keltik|Keltik]] 05:26, Giu 23, 2005 (EDT)

Versione attuale delle 09:03, 18 lug 2015

Il mio nome è Paolo Canavese, sono nato in una afosa notte di agosto dell' ormai lontano 1975 e abito a Boissano in provincia di Savona.

Coordinate:

Discussioni

Progetti

  1. Museo dei ricordi Debian

Le mie guide (questo wiki)

  1. Usare Fotocamere Digitali (usb-storage)
  2. APT uso avanzato: mixare releases diverse
  3. Logging su MySQL
  4. Old:Kernel 2.6 su Debian Woody
  5. Debian e iptables
  6. L' Universo Debian traduzione
  7. Introduzione all'APT System
  8. Configurare il server X in Debian GNU/Linux
  9. Impostare la lingua italiana nel sistema
  10. Impostare e modificare data e ora
  11. Impostare e modificare il layout della tastiera
  12. Impedire l'aggiornamento di un pacchetto
  13. Debian e il controllo di servizi e demoni in stesura (stub)
  14. Parametri a run-time per Netfilter
  15. Creare un Repository Debian
  16. Intel PRO/Wireless 2200BG
  17. Debian on a HP Compaq NX6110
  18. Debian MapServer/MapScript
  19. Old:Installare OpenOffice2 su Debian Etch
  20. Installare pacchetti in automatico: auto-apt todo
  21. Cpufreqd: Un demone per il CPU frequency scaling
  22. DVD Backup: xDVDShrink per Debian
  23. Privoxy: navigazione sicura a prova di spam
  24. Debian e Nokia 7210: uso di gnokii e gestione degli sms
  25. Debian: accelerare GTK con Cairo e Glitz
  26. Debian: software suspend e ibernazione per laptops
  27. Samba: guida rapida
  28. Debian: guida all' installazione di Enlightenment 17 - e17 cvs
  29. Debian e sintesi vocale: installazione di festival e mbrola
  30. Installiamo Ruby On Rails su Debian
  31. Fare il downgrade di uno o più pacchetti

Collaborazioni (questo wiki)

  1. Condividere la connessione a internet - me & TheNoise
  2. LAMP: Linux, Apache, MySQL e PHP - me & MaXeR
  3. Munin - me & MaXeR

Altri Documenti (questo wiki)

  1. Il Progetto GNU
  2. Software Libero: Libri OnLine
  3. Free as in Freedom
  4. Cos'è il Software libero (definizione del Software Libero) (ToDo)
  5. Netiquette e Regole

Contributi (questo wiki)

Altri progetti e collaborazioni

  1. DebianUniverse - cura e traduzione degli articoli:
    1. L' universo Debian
    2. Debian, la distribuzione 3 in 1
    3. Installare Debian
    4. Installazione del sistema X Window
    5. Introduzione alla gestione Debian dei pacchetti software

Files

  1. Configurazione Laptop HP Compaq NX 6110
    1. kernel config per HP Compaq NX 6110 testata su 2.6.12.6 e 2.6.13.3
    2. kernel config per HP Compaq NX 6110 testata su 2.6.16
    3. configurazione di Xorg per HP Compaq NX 6110




Sentiti libero di ampliare modificare e/o correggere i contenuti di questo wiki!!