Logging su MySQL: differenze tra le versioni

Nessun cambiamento nella dimensione ,  1 apr 2006
m
nessun oggetto della modifica
mNessun oggetto della modifica
mNessun oggetto della modifica
Riga 1: Riga 1:
{{stub}}
Allora iniziamo, prima di tutto chiariamo un paio di cose, questo emulatore � nato per poter giocare con i nostri giochi "originali" psx e psx-one, per poter giocare con giochi psx sul nostro fidato debian-box necessitiamo di un processore medio/potente e di una scheda accelerata, e naturalmente i nostri giochi preferiti.


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.
bene dopo questo preamobolo iniziamo.
Scarichiamo il pacchetto contenente l'emulatore:


In questa breve guida vedremo come controllare i servizi attivi, come eliminare quelli non necessari e come rendere pi� sicuri quelli che intendiamo utilizzare.
<pre>
$ wget http://www.epsxe.com/files/epsxe160lin.zip
</pre>


Buona lettura & happy debian!
Se non potete rinuciare all interfaccia grafica, vi consiglio di scaricare anche il front-end:
<pre>
$ wget http://www.epsxe.com/files/ePSXeCutor1060.zip
</pre>


=Concetti di base=
bene ora scompattiamo i due archivi in una cartella a nostra scelta (es <tt>/home/utente/psx</tt>):
==Servizi & Demoni==
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.


=Strumenti=
<pre>
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.
$ mkdir psx
$ cd psx
$ unzip /home/utente/epsxe160lin.zip
$ unzip /homeutente/ePSXeCutor1060.zip
</pre>


==netstat==
ora abbiamo nella directory <tt>/home/utente/psx</tt> l'emulatore e il suo frontend. Ci servono ancora i plugin per grafica, suono e lettura cd:


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.  
<pre>
$ wget http://www.pbernert.com/gpupetexgl206.tar.gz
$ wget http://www.pbernert.com/cdrpeops104.zip
$ wget http://www.pbernert.com/spupeopsoss109.tar.gz
</pre>


Ora cerchiamo tutte le connessioni di rete in ascolto (stato LISTEN) sul nostro sistema.
Ora abbiamo nella nostra home i tre plugin in serie: video, cdr, audio.
Scompattiamo i plugin cd-r e audio nella sub-directory <tt>/home/utente/psx/plugins</tt>:


<pre># netstat -l |grep tcp
<pre>
tcp        0      0 *:netbios-ssn          *:*                    LISTEN
$ cd /home/utente/psx/plugins
tcp        0      0 *:5900                  *:*                    LISTEN
$ unzip /home/utente/cdrpeops104.zip
tcp        0      0 *:www                  *:*                    LISTEN
$ tar xvfz /home/utente/spupeopsoss109.tar.gz
tcp        0      0 *:sieve                *:*                    LISTEN
</pre>
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...
Ora rimane solo da estrarre i plugin per il video;
questo lo estraiamo in un altra directory (dopo vedremo il perch�):


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.  
<pre>
$ cd /home/utente
$ mkdir video
$ cd video
$ tar xvfz /home/utente/video/gpupetexgl206.tar.gz
$ mv gpuPeteXGL2.cfg /home/utente/psx
$ mv cfgPeteXGL2 /home/utente/psx
$ mv libgpuPeteXGL2.so.2.0.6 /home/psx/plugins
</pre>


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'''.
Ora ci manca solo il bin del bios, questo per� lo dovrete trovare voi su google, in quanto non � legale detenere la suddetta se non si � in possesso di una psx originale.  


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
Il nome del file � <tt>'''scph1001.bin'''</tt>
e v� messo nella subdirectory <tt>/home/utente/psx/bios</tt>.


<pre>$ cat /etc/hosts |grep localhost.localdomain
Ora proviamo se funziona:
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.
<pre>
$ cd /home/utente/psx
$ ./epsxe
</pre>


Valore numerico:
Se si apre la finestra siamo a cavallo. Bene, ora possiamo configurare il nostro emulatore.
<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''.
Clicchiamo sul men� config e sul sotto men� bios, e impostiamo la dir dove abbiamo estratto in precedenza il bios. Stessa cosa per la voce video.  


Il file ''services'' � un file testuale che associa un numero di porta numerico alla descrizione alfanumerica del servizio associato alla stessa.
Dopo aver selezionato il plugin adatto facciamo click su test:
se ci appare una finesta che dice ''plugin work correctly'' siamo a cavallo.


Se vogliamo vedere a quale porta corrisponda il dato ''netbios-ssn'' dell' esempio precedente, � sufficiente cercarlo all' interno del file services:
Settare nello stesso modo l'audio, e stessa cosa pure per il cdrom.


<pre>$ cat /etc/services |grep netbios-ssn
Ora passiamo a configurare la tastiera. Click sul menu config e su GamePad--gamepad1. Qui possiamo selezionare i tasti con cui ci troviamo meglio.
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.
Ora non rimane che testare se tutto funziona:
click su file---runCDROM, happy game.


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).
In caso di malfunzionamento video o audio, andiamo alla pagina dei plugin e proviamo con altri.
Quelli qui proposti funzionano sulla maggior parte delle macchine. Andando nella sezione configure dei vari plugin � possibile settare al meglio i suddetti in base alla potenza della macchina su cui viene fatto girare l'emulatore.


Sar� quindi sufficiente editare il file services ed aggiungere la linea:
Vi consiglio di crearvi un link simbolico in <tt>/bin</tt> cosi da poter lanciare l'emultaore solo scrivendo <tt>epsxe</tt>:


<pre>vnc-server      5900/tcp        vnc-server      # TightVNC Server</pre>
<pre>
$ su
password di root.
# cd /bin
# ln -s /home/utente/psx/epsxe epsxe
</pre>


A questo punto avremo realizzato l' associazione porta/descrizione:
==Link==


<pre>~# netstat -l |grep tcp
* http://www.epsxe.com/news.php Home Page dell proggetto ePSXe
[...]
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.
* http://www.pbernert.com/ plugin


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).
* http://www.pbernert.com/pluginpetedoc_ita_104.zip FAQ italiane


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


Per qualsiasi problema il forum a vostra disposizione, oppure potete contattarmi per email o messaggio privato.


----
----
[[Utente:Keltik|Keltik]] 05:26, Giu 23, 2005 (EDT)
Autore: debian
[[Categoria:Sistema]]
[[Categoria:Networking]]
1 760

contributi