Debian e il controllo di servizi e demoni: differenze tra le versioni

m
→‎Apt System: mancate virgolette (errore su zsh o con impostazione non default di bash)
mNessun oggetto della modifica
m (→‎Apt System: mancate virgolette (errore su zsh o con impostazione non default di bash))
 
(15 versioni intermedie di 6 utenti non mostrate)
Riga 1: Riga 1:
Questo Wiki vuole essere prima di tutto un punto di raccolta ideale per le conoscenze acquisite dai singoli durante l' uso di Debian GNU/Linux in ambito casalingo e/o lavorativo, in modo che il sapere di uno diventi quello di tutti.
{{Versioni compatibili}}
== Introduzione ==
Uno dei primi passi da affrontare subito dopo l'installazione della nostra Debian dovrebbe essere quello di accertarsi quali sono i servizi e i demoni che vengono lanciati dal sistema. Questa operazione permette un controllo migliore della sicurezza della nostra macchina ed una minore esposizione a rischi legati ad intrusioni.


Le guide ritenute meglio scritte e pi� approfondite, dopo un processo di controllo e revisione a cui tutti siete liberi di partecipare, vengono classificate [[:Categoria:Debianized|Debianized]] e contrassegnate dalla [[Debian Swirl]] http://guide.debianizzati.org/images/swirl.png.
In questa breve guida vedremo come controllare i servizi attivi, come eliminare quelli non necessari e come rendere più sicuri quelli che intendiamo utilizzare.


Potete trovare un elenco completo delle guide Debianized [http://guide.debianizzati.org/index.php/Categoria:Debianized qui]
Buona lettura & happy Debian!
Questa � la lista delle guide attualmente presenti:


== Mondo Debian ==
== Concetti di base ==
=== Introduzione a Debian ===
=== Servizi & Demoni ===
* [[L' Universo Debian]]
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 servizio è 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.
* [[La struttura della Distribuzione]]


=== Installazione ===
== Strumenti ==
* http://guide.debianizzati.org/images/swirl.png [[Guida a Grub]]
GNU/Linux fornisce una nutrita schiera di programmi che ci permettono di interagire con i servizi attivi sulla nostra macchina. Di seguito riporto quelli più usati nell'amministrazione di un sistema Debian.
* [[Jigdo | Jigdo: Scaricare e Aggiornare le iso di Debian]]
* [[Note sull'installazione di Debian]]


=== Gestione dei Pacchetti ===
=== netstat ===
* [[Introduzione all' Apt System]]
* [[I repository ed il loro utilizzo]]
* http://guide.debianizzati.org/images/swirl.png [[Pulire Debian]]
* [[Apt-cdrom | '''Apt-cdrom''': aggiunta di cd/dvd nella lista dei repository]]
* [[Apt-file: ricerca all'interno dei pacchetti | '''Apt-file''': ricerca all'interno dei pacchetti]]
* [[Apt-listbugs: come monitorare i bug | '''Apt-listbugs''': come monitorare i bug]]
* [[Apt-zip: aggiornamenti senza una connessione veloce | '''Apt-zip''': aggiornamenti senza una connessione veloce]]
* [[Apt-spy: trovare i mirror pi� veloci | '''Apt-spy''': trovare i mirror pi� veloci]]
* [[APT uso avanzato: mixare releases diverse]]
* http://guide.debianizzati.org/images/swirl.png [[Impedire l' aggiornamento di un pacchetto]]


=== Creazione e modifica dei pacchetti ===
''Netstat'' è uno dei programmi più utili ed utilizzati: permette di elencare tutta una serie di informazioni utili (socket 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.  
* http://guide.debianizzati.org/images/swirl.png [[Make-jpkg: Pacchettiziamo Java Sun| '''Make-jpkg''': Pacchettiziamo Java Sun]]
* [[Pacchetti binari e sorgenti]]
* [[Applicare una patch ad un pacchetto Debian]]
* [[Apt-build: ottimizzazione dei pacchetti | '''Apt-build''': ottimizzazione dei pacchetti]]
* [[Dpkg-sig: Firma dei packages .deb |  '''Dpkg-sig''': Firma dei packages .deb]]
* [[Pacchetizzare un tema per Bootsplash]]


=== Gestione dei pacchetti Lato Server ===
Ora cerchiamo tutte le connessioni di rete in ascolto (stato <code>LISTEN</code>) sul nostro sistema.
* [[Apt-Proxy: un proxy per i pacchetti Debian| '''Apt-Proxy''': un proxy per i pacchetti Debian]]
* [[Debmirror: creiamo un mirror Debian |'''Debmirror''': creiamo un mirror Debian]]
* [[Creare un Repository Debian]]
* [[Gestione di un repository con debarchiver]]
* [[Usare apt-cacher per creare una cache dei pacchetti usabile in una LAN]]
* [[Dupload per l'upload dei pacchetti Debian]]


==Configurazione Sistema==
<pre># netstat -l |grep tcp
===Kernel===
tcp        0      0 *:netbios-ssn          *:*                    LISTEN
* http://guide.debianizzati.org/images/swirl.png [[Debian Kernel Howto]]
tcp        0      0 *:5900                  *:*                    LISTEN
* [[Esempio configurazione kernel]]
tcp        0      0 *:www                  *:*                     LISTEN
* [[Kernel2.6.10 - Framebuffer - Gensplash Patch]]
tcp        0      0 *:sieve                *:*                     LISTEN
* [[Kernel 2.6 su Debian Woody]]
tcp        0      0 *:ssh                  *:*                    LISTEN
* [[Compilazione Kernel 2.6.11 con Bootsplash]]
tcp        0      0 localhost.localdom:8118 *:*                    LISTEN
* [[Pagina di manuale di module-assistant|Pagina di manuale di '''<tt>module-assistant</tt>''']]
tcp        0      0 *:ipp                  *:*                     LISTEN
* [[Low-latency 2.6 kernel per applicazioni audio realtime]]
tcp        0      0 localhost.localdom:smtp *:*                    LISTEN
tcp        0      0 *:microsoft-ds          *:*                    LISTEN</pre>


===Sistema===
Ho scelto di limitare l'output alle sole connessioni in attesa di connessione. Potete anche provare ad utilizzare i comandi <code>'''netstat -a'''</code>, <code>'''netstat -l'''</code>, <code>'''netstat -l |grep tcp'''</code>, ecc.
* [[SysV | Il sistema SysV per la gestione dei Runlevel]]
* [[Configurare il server X in Debian GNU/Linux]]
* [[Linux Admin Quick Reference]]
* [[Debian: accelerare GTK con Cairo e Glitz]]


===Applicazioni Esterne===
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 è in ascolto il servizio.
* [[Pacchettizzare ed installare Xorg su Debian Sid]]
* [[Installazione Qemu con supporto accelerazione Kqemu]]
* [[ePSXe Emulatore Playstation]]
* [[Installare OpenOffice2 su Debian Etch]]
* [[DVD Backup: xDVDShrink per Debian]]


===Altro===
Se osserviamo la prima linea dell'output, la terza colonna indica come coppia indirizzo+porta il testo <code>'''*:netbios-ssn'''</code>: questo significa che è attivo un servizio in ascolto per qualsiasi (<code>*</code>) indirizzo di rete configurato sulla macchina e che questo servizio è associato alla porta <code>'''netbios-ssn'''</code>.
* [[Dual Boot Linux-Windows]]
* [[Logging su MySQL]]
* [[Password sicure: la base della sicurezza informatica]]
* [[Script Bash per Avvio e Visualizzazione dati Seti@home]]


===Tips and Tricks===
Nelle altre righe possiamo notare che, nella colonna degli indirizzi, oltre al <code>*</code> (che indica ''qualsiasi indirizzo'') compare anche <code>''localhost.localdomain''</code>. ''Netstat'' tenta di risolvere gli indirizzi IP e reperisce questo hostname dal file <code>/etc/hosts</code>, per cui <code>''localhost.localdomain''</code> corrisponde (nel mio esempio) all'indirizzo dell'interfaccia di loopback (127.0.0.1), come possiamo verificare con un semplice:
====Bash====
* [[Bash tips]]: un elenco di trucchetti sull'uso interattivo e sullo scripting Bash
* [[Colorare bash]]
* [[Come abilitare il completamento automatico 'avanzato']]
* [[Un logout con schermo pulito]]
* [[Bash Script: Cambiare i permessi ricorsivamente]]


====Firefox====
<pre>$ cat /etc/hosts |grep localhost.localdomain
* [[Velocizzare Firefox per la banda larga]]
127.0.0.1 localhost.localdomain localhost debby</pre>
* [[Il vostro motore di ricerca da Firefox]]
* [[Aggiungere un motore di ricerca al quicksearch di Firefox]]


====Altro====
È interessante notare come per alcune porte venga riportato un valore numerico, mentre per altre un valore alfanumerico.
* [[Convertire immagini .nrg in immagini .iso]]
* [[Nautilus: navigare con una sola finestra]]
* [[Associare a thunderbird il browser preferito]]
* [[Antispam in Evolution con Bogofilter]]
* [[Impostare la lingua italiana per Gnome]]
* [[Impostare  e modificare data e ora]]
* [[Impostare e modificare il layout della tastiera]]
* [[Abilitare_Xinerama | Multi monitor con Xinerama]]
* [[Abilitare ESound con ALSA in Gnome]]
* [[Cambiare il Tema dei Cursori per il Mouse]]


==Networking==
Valore numerico:
===Debian Server===
<pre>tcp        0      0 *:5900                  *:*                    LISTEN</pre>
====Condivisione risorse====
Valore alfanumerico:
* [[Directory shared tra macchine linux (nfs)]]
<pre>tcp        0      0 *:netbios-ssn          *:*                     LISTEN</pre>
* [[Condivisione risorse con Samba]]


====Mailing====
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 <code>/etc/services</code>.
* [[Mail Server Sicuro con Postfix]]


====Http====
Il file <code>/etc/services</code> è un file testuale che associa un numero di porta numerico alla descrizione alfanumerica del servizio associato alla stessa.
* [[Server Web Casalingo]]
* [[LAMP: Linux, Apache, MySQL e PHP]]
* [[XAMPP: Linux, Apache, MySQL e PHP facili]]
* [[Debian MapServer/MapScript]]


===Amministrazione===
Se vogliamo vedere a quale porta corrisponda il dato <code>''netbios-ssn''</code> dell'esempio precedente, è sufficiente cercarlo all'interno del file <code>/etc/services</code>:
====Gestione Remota/Locale====
* [[Wake On Lan | '''Wake On Lan''' per accendere i propri PC a distanza tramite la LAN]]
* [[Debian e il controllo di servizi e demoni]]
* [[Gestione della banda in Apache]]
* [[Ssh e autenticazione tramite chiavi]]


====Connettivita'====
<pre>$ cat /etc/services |grep netbios-ssn
* [[Condividere la connessione a internet]]
netbios-ssn    139/tcp                        # NETBIOS session service
netbios-ssn    139/udp</pre>


===Sicurezza===
Nel nostro esempio, dato che la porta era di tipo TCP, il valore cercato è il primo ottenuto.
====Firewalling====
* [[Debian e iptables]]
* [[Firewall Builder]]
* [[Parametri a run-time per Netfilter]]


====Monitoraggio & Scanning====
Agendo sul file <code>/etc/services</code> 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).
* [[Monitoriamo il Sistema]]
* [[Mrtg: monitoriamo la banda]]
* [[Cacti | Cacti: monitor di rete, per pi� computer]]
* [[Munin]]


====Proxy====
Sarà quindi sufficiente editare il file <code>/etc/services</code> ed aggiungere la linea:
* [[Privoxy: navigazione sicura a prova di spam]]


====Tunneling====
<pre>vnc-server      5900/tcp        vnc-server      # TightVNC Server</pre>
* [[Openvpn]]


== Hardware ==
A questo punto avremo realizzato l'associazione porta/descrizione:
=== Fotocamere digitali e dispositivi di memorizzazione di massa removibili ===
* [[Usare Fotocamere Digitali|Usare Fotocamere Digitali (libgphoto2)]]
* [[Usare Fotocamere Digitali (usb-storage)]]
* [[UsbMount: Gestione automatizzata delle periferiche usb di memorizzazione]]
* [[Debian e iPod]]


=== Modem e periferiche di rete ===
<pre># netstat -l |grep tcp
[...]
tcp        0      0 *:vnc-server            *:*                    LISTEN
[...]</pre>


* [[Debian e i Modem ADSL]]
Per quanto riguarda la quarta colonna, nell'esempio precedente possiamo vedere che il valore è identico per tutti i servizi e cioè <code>'''*:*'''</code>. Questo significa che il servizio è pronto a ricevere connessioni da qualsiasi indirizzo IP e da qualsiasi porta ad esso associata.


==== Modem USB ADSL ====
Notiamo a questo punto che alcuni dei servizi avviati sono in ascolto su qualsiasi indirizzo IP configurato sulla nostra macchina (<code>*</code>), mentre alcuni sono legati (si dice anche ''binding'') all'indirizzo <code>''localhost.localdomain''</code> che abbiamo visto prima corrispondere all'indirizzo di loopback (127.0.0.1).
* [[Installare i driver conexant accessrunner]]
* [[Installare i driver eagle-adsl]]
* [[Installare i driver eci-adsl]] ''(stub)''
* [[Installare i driver unicorn (BeWAN)]] ''(stub)''
* [[Modem adsl Telindus ND220]]
* [[Modem adsl Aethra Starmodem]]
* [[Modem adsl Fastrate 100 USB]]


==== Modem Ethernet ====
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.
* ''Inserire qui eventuali guide su modem ethernet''


==== Modem dial-up 56K ====
Nell'esempio di prima, i servizi raggiungibili unicamente dall'interfaccia di loopback sono <code>'''smtp'''</code> e <code>'''8118'''</code>. Come impareremo a verificare più tardi, si tratta rispettivamente del server di posta <code>'''exim'''</code> e del proxy <code>'''privoxy'''</code>.
* ''Inserire qui eventuali guide su modem a 56K''


==== Schede di rete Wireless ====
=== lsof ===
* [[Wireless Support | Informazioni sul supporto alle periferiche Wireless]]
* [[Script Bash abilitazione scheda wireless]]
* [[Intel PRO/Wireless 2200BG]]
* [[NdisWrapper | NdisWrapper: Usiamo i driver di Windows per il WLan con GNU/Linux]]


=== Schede Video ===
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.
* [[Installazione Driver ATI per schede ATI RADEON MOBILITY 9700 SE]]


=== Stampanti ===
Una caratteristica peculiare dei sistemi operativi derivati da Unix (tra i quali appunto GNU/Linux) è che qualsiasi elemento del sistema viene visto come se fosse un file. Abbiamo file veri e propri (ad es.: <code>pippo.txt</code>), abbiamo dispositivi hardware (si trovano in <code>/dev</code> e sono rappresentati da file veri e propri) ed abbiamo le connessioni di rete (anche queste sono veri e propri file).
==== Stampanti USB ====
* ''Inserire eventuali guide su come far funzionare stampanti con porta USB''


==== Stampanti con porta parallela ====
Approfittando di questa caratteristica di GNU/Linux, possiamo investigare in maniera approfondita sui nostri servizi: se per il sistema operativo si tratta di file allora possiamo sapere chi li ha creati e chi li ha aperti.
* [[Introduzione all'installazione di stampanti con porta parallela]]


==== Stampanti bluetooth ====
Lo strumento principe per questo scopo è '''lsof'''. Come per la maggior parte dei comandi GNU, ''lsof'' è una abbreviazione della descrizione del comando: lsof = '''LS O'''pen '''F'''iles, cioè '''L'''i'''S'''t '''O'''pen '''F'''iles (elenca i file aperti).
* [[Introduzione all'installazione di stampanti bluetooth]]


=== Scanner ===
Dato che le connessioni di rete sono rappresentate da veri e propri file, possiamo usare ''lsof'' per ottenere informazioni su di esse.
* [[Epson Perfection 2480 photo - usb scanner]]
* ''Inserire qui eventuali altre guide su come far funzionare scanner con Debian''


===Palmari e cellulari===
Poniamo il caso di voler ottenere informazioni sul servizio:
* [[Debian e Nokia 7210: uso di gnokii e gestione degli sms]]


==Portatili==
<pre>tcp        0      0 *:netbios-ssn          *:*                    LISTEN</pre>
===Laptop Debianizzati===
Troverete di seguito i resoconti d'installazione di Debian su dei portatili:


* [[Debian on a presario 2141EU | Compaq Presario 2100 (2141EU)]]
Sarà sufficiente utilizzare ''lsof'':
* [[Debian on a compaq Presario 2154EA | Compaq Presario 2100 (2154EA)]]
* [[Debian on a Toshiba Satellite M30X-113| Toshiba M30x-113]] ''(stub)''
* [[Debian on a HP Compaq NX6110| HP Compaq NX6110]]
* [[Debian on an HP pavilion zv5422EA| HP pavilion zv5000 (zv5422EA)]]


===Altro===
<pre># lsof -i |grep netbios-ssn
* [[Powernowd: CpuScaling per AMD]]
smbd      4089        root  21u  IPv4  8082      TCP *:netbios-ssn (LISTEN)</pre>
* [[Cpufreqd: Cpuscaling per Intel Pentium M]]
* Inserire qui anche link a risorse in italiano sui portatili


==Knoppix==
In questo modo possiamo vedere che il servizio in ascolto sulla porta associata a <code>'''netbios-ssn'''</code> (la porta 139) è controllato dal programma <code>'''smbd'''</code>.
* [[Rimasterizzare una knoppix]]


==Crittografia==
Allo stesso modo possiamo fare con <code>'''www'''</code> e <code>'''smtp'''</code>, ecc...
* [[Crittografia e Steganografia - L'Arte di nascondere le informazioni]]
* [[Chiavi simmetriche e chiavi pubbliche]]


==Varie==
<pre># lsof -i |grep www
* [[Debian Fun]]
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 patch 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 ad utilizzare come esempio il servizio in ascolto sulla porta <code>'''netbios-ssn'''</code>. Per adesso siamo riusciti a risalire al fatto che il servizio <code>''netbios-ssn''</code> corrisponde alla porta 139 e che è controllato da <code>'''smbd'''</code>.
 
Ora vedremo cosa sia <code>'''smbd'''</code>. 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 <code>/usr/sbin/smbd</code>:
 
<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>
 
{{Autori
|Autore = [[Utente:Keltik|Keltik]] 05:26, Giu 23, 2005 (EDT)
}}
 
[[Categoria:Ottimizzazione del sistema]]
[[Categoria:Apt]]
[[Categoria:Monitoraggio]]
3 581

contributi