Debian e iPod: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
(→‎Introduzione: aggiunta nota sul formato scrambled usato da apple)
Riga 1: Riga 1:
Come facciamo a scoprire se veniamo infettati da un RootKit?
= Introduzione: Le limitazioni dell'iPod =
I dispositivi iPod hanno, rispetto alla maggior parte dei lettori multimediali, una limitazione: non è sufficiente copiare la musica al loro interno per ascoltarla. La Apple infatti usa un semplice metodo di ''scrambling'' (in pratica ogni file viene spezzettato in molte directory con nomi casuali) per impedire che la la musica dall'iPod possa essere ricopiata su pc. Ovviamente questa è una arbitraria limitazione della libertà del consumatore che, nei limiti della legalità deve poter usare l'oggetto che acquista come meglio crede. L'iPod richiede quindi un programma apposito (iTunes nei piani della Apple) che sappia copiare la musica sull'iPod in questo formato arbitrario ''non facilmente leggibile''. 


Con il checksum dei binari di sistema, in questa guida vedremo come fare.
Per fortuna esistono diversi software liberi che permettono sia di scrivere nel formato ''scrambled'' richiesto dall'iPod sia di leggere la musica per ricopiarla sul pc. Rimane comunque il lato negativo che, a differenza di un normale lettore mp3, si ha bisogno di programmi aggiuntivi, che non sempre funzionano con tutti i modelli (dato la Apple applica spesso piccole modifiche per frenare lo sviluppo dei programmi alternativi ad iTunes).


Partiamo dal presupposto che per poter mettere in atto quanto diremo da qui in poi abbiamo bisogno o di una macchina con os appena installato o dobbiamo essere sicuri al 300% che la nostra macchina non sia compromessa.
Inoltre alcuni modelli presentano anche diverse funzionalità quali calendario, rubrica eccetera, ed hanno bisogno di programmi appositi che consentano di sincronizzarli con il pc.


Partiamo con lo scaricarci uno di questi 2 software AFICK AIDE (si veda fondo pagina per i link).
Questa guida spiega come utilizzare i dispositivi iPod della Apple con il sistema Debian GNU/Linux, tuttavia dovrebbe funzionare con qualunque distribuzione.


Il bello di questi programmi e che oltre che calcore il checksum dei binari , possono controllare gli accessi, i permessi, il numero di link simbolici e tanto altro ancora, per questa guida io mi basero' su AFICK, a noi interessa il file afick.pl e afick.conf il suo file di configurazione.
=Note=
mettiamo questi 2 file in <tt>/root</tt> e prepariamoci per modificare il file di conf per esempio:
*La guida tratta varie possibilità, ma la procedura è stata testata in prima persona solo con iPod con filesystem formattato in FAT32. Gli iPod infatti funzionano sia con sistemi Mac che Windows, ma con filesystem diversi: FAT per Windows e HFS per MAC.
*Sebbene iPod supporti sia il collegamento via USB che via FireWire, ho potuto testare solo il primo.
 
=Prepariamo il Sistema:=
==Primo Collegamento==
 
Iniziamo aprendo una shell e digitando:
 
<pre>
tail -f /var/log/syslog
</pre>
 
 
Collegando ora l'iPod tramite il cavo USB dovremmo avere una risposta di questo tipo:
 
<pre>
Sep 30 20:50:07 kaneda kernel: usb 1-6: new high speed USB device using ehci_hcd and address 6
Sep 30 20:50:07 kaneda kernel: scsi1 : SCSI emulation for USB Mass Storage devices
Sep 30 20:50:07 kaneda kernel: usb-storage: device found at 6
Sep 30 20:50:07 kaneda kernel: usb-storage: waiting for device to settle before scanning
Sep 30 20:50:12 kaneda kernel:  Vendor: Apple    Model: iPod              Rev: 1.62
Sep 30 20:50:12 kaneda kernel:  Type:  Direct-Access                      ANSI SCSI revision: 00
Sep 30 20:50:12 kaneda kernel: SCSI device sdb: 39063023 512-byte hdwr sectors (20000 MB)
Sep 30 20:50:12 kaneda kernel: sdb: Write Protect is off
Sep 30 20:50:12 kaneda kernel: sdb: Mode Sense: 64 00 00 08
Sep 30 20:50:12 kaneda kernel: sdb: assuming drive cache: write through
Sep 30 20:50:12 kaneda kernel: SCSI device sdb: 39063023 512-byte hdwr sectors (20000 MB)
Sep 30 20:50:12 kaneda kernel: sdb: Write Protect is off
Sep 30 20:50:12 kaneda kernel: sdb: Mode Sense: 64 00 00 08
Sep 30 20:50:12 kaneda kernel: sdb: assuming drive cache: write through
Sep 30 20:50:13 kaneda kernel:  sdb: sdb1 sdb2
Sep 30 20:50:13 kaneda kernel: Attached scsi removable disk sdb at scsi1, channel 0, id 0, lun 0
Sep 30 20:50:13 kaneda kernel: Attached scsi generic sg1 at scsi1, channel 0, id 0, lun 0, type 0
Sep 30 20:50:13 kaneda kernel: usb-storage: device scan complete
</pre>
 
il che ci mostra le due partizioni dell'iPod, in questo caso sda1 ed sda2.
La partizione che ci interessa è sda2, ovvero quella contenente i dati.
 
==Creazione del Mountpoint==
andiamo quindi a creare il punto di mount dove in seguito monteremo il nostro iPod:
 
<pre>
~# mkdir /mnt/iPod
</pre>
 
creiamo il gruppo ipod per definire il gruppo di utenti abilitati al suo utilizzo:
 
 
<pre>
~# addgroup ipod
</pre>
 
ed aggiungiamo al gruppo gli utenti desiderati con:
 
<pre>
~# adduser "user" ipod
</pre>
 
Montiamo ora l'iPod come un qualsiasi dispositivo removibile di memoria usb:
Se utilizziamo FAT:
 
<pre>
~# mount -t vfat /dev/sda2 /mnt/ipod -o rw,uid="user",gid=ipod
</pre>
 
Mentre con HFS:
 
<pre>
~# mount -t hfsplus /dev/sda2 /mnt/ipod -o rw,uid="user",gid=ipod
</pre>
 
----
per semplificare questa operazione, che può essere gestita in automatico da tools che stiamo per vedere, consiglio di scrivere una riga che salvi queste impostazioni nel vostro file /etc/fstab.
----
 
Esplorando questa partizione vedrete che i files sono nella directory:
 
<pre>
/mnt/iPod/iPod_Control
</pre>
 
(Se l'iPod è nuovo e non è mai stato utilizzato non vi sarà nulla. Vedremo in seguito come creare tutto questo)
 
=Installazione dei tools e delle gui=
==gnupod-tools==
 
Il pacchetto fondamentale per gestire un iPod sotto GNU/Linux è gnupod-tools.Sul [http://www.gnu.org/software/gnupod/ sito ufficiale] potete trovare tutta la doumentazione necessaria al suo utilizzo, anche se alcune funzioni verranno trattate anche in questa guida.
Per ottenere gnupod-tools è sufficiente un:


<pre>
<pre>
# esempio di file di conf
~# apt-get install gnupod-tools
database:=./afick
warn_dead_symlinks := yes
exclude_suffix := wav WAV mp3 avi
=/ d+i+p+u+g
=/bin p+n+b+m+c+md5
=/sbin p+n+b+m+c+md5
=/usr/sbin p+n+b+m+c+md5
=/usr/bin p+n+b+m+c+md5
</pre>
</pre>


dopo aver controllato che la prima riga di afick.pl contenga la locazione precisa dell eseguibile Perl, possiamo passare a inizializzare il database dei nostri binari,
==YamiPod==
digitiamo da console quanto segue:
YamiPod è un altro programma che si può scaricare sul sito [http://www.yamipod.com/main/modules/home/ www.yamipod.com] molto simile a gtkpod, ma multipiattaforma (Linux, MacOS X, Win). Questo programma non è software libero (anche se il suo uso è gratuito).
 
==QuodLibet==
Anche l'ottimo e versatile QuodLibet consente, grazie ad un plugin apposito, di gestire direttamente e in maniera immediata l'iPod, sfogliarne i contenuti, cancellare brani e uploadare, ovviamente, brani o interi album dalla vistra libreria.
 
Il plugin può essere scaricato dal seguente URL: [http://www.sacredchao.net/quodlibet/wiki/Plugins/iPod].
Estrate l'archivio in '''.quodlibet/plugins/songsmenu'''.
 
Nel caso non fossero già installati:


<pre>
<pre>
# ./afick.pl -c afick.conf -i
apt-get install libgpod0 python2.3-gpod
</pre>
</pre>


bene cosi' abbiamo creato il nostro database di sistema, ora facciamo passare un po di tempo e poi controlliamo come va'
Procuriamoci ora i file '''gpod.y''' e '''_gpod.so''' dalle librerie di python:


<pre>
<pre>
# ./afick.pl -c afick.conf -k
cp /usr/lib/python2.3/site-packages/gpod.py .quodlibet/plugins/songsmenu/ipod
cp /usr/lib/python2.3/site-packages/_gpod.so .quodlibet/plugins/songsmenu/ipod
</pre>
</pre>


se non abbiamo modificato nessun binari inserito nel file di configurazione dovrebbe apparirci in risposta dal programma:
A questo punto punto il nuovo plugin dovrebbe comparire nella lista dei plugin di QuodLibet (refresh o lanciate il programma). Basta attivare i plugin ('''Browse iPod''' e '''Copy To iPod''') mediante checkbox e configurare mountpoint e device nell'apposita finestra di configurazione del plugin stesso.
 
[[image:Quodlibet_ipod.png|thumb|center]]


==gtkpod + codecs==
per poter gestire il vostro iPod sarebbe ora sufficiente installare gtkpod,tuttavia per avere un pieno supporto che faccia dimenticare iTunes sono necessari ancora dei piccoli passaggi.Visto che alcuni dei pacchetti di cui necessitiamo non sono presenti sui repository ufficiali, dovremo editare il nostro file
<pre>
<pre>
Hash Database : numero file scanned 0 changed ecc
/etc/apt/sources.list
</pre>
</pre>


bene ora proviamo a modificare qualche file, banalmente:
aggiungendo la stringa


<pre>
<pre>
# touch /sbin/lilo
deb ftp://ftp.nerim.net/debian-marillat/ XXX main
# ln-s /sbin/sulogin /usr/sbin/sulogin
</pre>
</pre>


ora rieseguiamo il controllo come prima, questa volta in risposta avremmo:
dove XXX verrà sostituito con il nome della distribuzione che stiamo utilizzando, al momento attuale le opzioni sono:
* sarge
* etch
* sid


Ora siamo pronti all'ultimo passaggio:
dopo aver dato un
<pre>
~# apt-get update
</pre>
sarà sufficiente dare
<pre>
<pre>
new symbolic link : /usr/sbin/sulogin
~# apt-get install faac faad gtkpod-aac xmms-mp4 mp3gain
changed file : /sbin/lilo
changed directory :/usr/sbin
</pre>
</pre>
per avere pieno supporto ai formati aac e mp4.


seguito dai dettagli delle varie operazioni compiute.
=Utilizzo dell'iPod=
==Preparazione dell'iPod con GNUpod-tools==


Dal momento che sappiamo che queste modifiche le abbiamo fatte noi
Se l'iPod appena collegato è nuovo, questo non avrà l'albero delle directory necessario al suo utilizzo.
ora dobbiamo riaggiornare il database:
Inoltre mancherà anche il file iTunesdb.ext,necessario per gestire la musica.
ecco che entra in gioco GNUpod-tools, che con un semplice comando creerà tutto questo, sostituendo ad iTunesdb.ext GNUtunesDB.ext.
ecco come procedere:


<pre>
<pre>
# ./afick.pl -c afick.conf -u
~# gnupod_INIT.pl -m /mnt/iPod
</pre>
</pre>


ora sappiamo usare il nostro Monitor di sistema.
Per maggiori informazioni sull'iTunesdb visitate il [http://ipodlinux.org/ITunesDB wiki]


Un consiglio che mi sento di darvi e di aggiungere un controllo al db tramite cron in base all uso della macchina ogni giorno ogni 2 ore vedete voi.
==Configurazione di GTKpod==
La configurazione di GTKpod è molto semplice ed intuitiva. Nel menu Modifica si trova la voce "Preferenze", e da lì si può avere pieno controllo sulle impostazioni del programma, e sulla gestione del vostro iPod.


==Non � finita qui==
[[Immagine:Gtkpod.jpg|thumb|left|Esempio 1]] [[Immagine:Gtkpod2.jpg|thumb|right|Esempio 3]] [[Immagine:Gtkpod1.jpg|thumb|center|Esempio 2]]
Credete che questo basti, invece no' pensate un momento se un hacker riuscisse a penetrare il vostro sistema, anche se il nostro db fosse conservato in una partizione apposita read-only, se l'hacker riuscisse a guadagnare la root potrebbe rimontare la partizione in r/w e compromettere il nostro db, quindi come fare diciamo che sara' la base per un prossimo articolo e si chiama RFC e GRSEC


=Installare linux sull'iPod=


==Link==
E possibile installare anche un firmware basato su linux mantenendo inoltre il firmware apple originale.
Il progetto dal nome [http://ipodlinux.org/Main_Page "ipodlinux"] è ancora in fase di sviluppo, ma povvede già a dare un bootloader funzionante e dei player audio in perfezionamento.
* [http://ipodlinux.org/Project_Status qui] trovate una lista dei modelli di iPod supportati


* http://afick.sourceforge.net
* [http://ipodlinux.org/Installation qui] invece le istruzioni dettagliate per l'installazione.
* http://www.cs.tut.fi/~rammer/aide.html


Un consiglio scaricate pure chkrootkit e aggiungetelo al cron insieme al tool per il controllo da voi scelto.


* http://www.chkrootkit.org


----
----
Autore: debian
Autore: [[Utente:Jango|jango]]
[[Categoria:Server]][[Categoria:Sicurezza]]
[[Categoria:Hardware]]
[[Categoria:Networking]]

Versione delle 08:18, 31 ago 2006

Introduzione: Le limitazioni dell'iPod

I dispositivi iPod hanno, rispetto alla maggior parte dei lettori multimediali, una limitazione: non è sufficiente copiare la musica al loro interno per ascoltarla. La Apple infatti usa un semplice metodo di scrambling (in pratica ogni file viene spezzettato in molte directory con nomi casuali) per impedire che la la musica dall'iPod possa essere ricopiata su pc. Ovviamente questa è una arbitraria limitazione della libertà del consumatore che, nei limiti della legalità deve poter usare l'oggetto che acquista come meglio crede. L'iPod richiede quindi un programma apposito (iTunes nei piani della Apple) che sappia copiare la musica sull'iPod in questo formato arbitrario non facilmente leggibile.

Per fortuna esistono diversi software liberi che permettono sia di scrivere nel formato scrambled richiesto dall'iPod sia di leggere la musica per ricopiarla sul pc. Rimane comunque il lato negativo che, a differenza di un normale lettore mp3, si ha bisogno di programmi aggiuntivi, che non sempre funzionano con tutti i modelli (dato la Apple applica spesso piccole modifiche per frenare lo sviluppo dei programmi alternativi ad iTunes).

Inoltre alcuni modelli presentano anche diverse funzionalità quali calendario, rubrica eccetera, ed hanno bisogno di programmi appositi che consentano di sincronizzarli con il pc.

Questa guida spiega come utilizzare i dispositivi iPod della Apple con il sistema Debian GNU/Linux, tuttavia dovrebbe funzionare con qualunque distribuzione.

Note

  • La guida tratta varie possibilità, ma la procedura è stata testata in prima persona solo con iPod con filesystem formattato in FAT32. Gli iPod infatti funzionano sia con sistemi Mac che Windows, ma con filesystem diversi: FAT per Windows e HFS per MAC.
  • Sebbene iPod supporti sia il collegamento via USB che via FireWire, ho potuto testare solo il primo.

Prepariamo il Sistema:

Primo Collegamento

Iniziamo aprendo una shell e digitando:

tail -f /var/log/syslog


Collegando ora l'iPod tramite il cavo USB dovremmo avere una risposta di questo tipo:

Sep 30 20:50:07 kaneda kernel: usb 1-6: new high speed USB device using ehci_hcd and address 6
Sep 30 20:50:07 kaneda kernel: scsi1 : SCSI emulation for USB Mass Storage devices
Sep 30 20:50:07 kaneda kernel: usb-storage: device found at 6
Sep 30 20:50:07 kaneda kernel: usb-storage: waiting for device to settle before scanning
Sep 30 20:50:12 kaneda kernel:   Vendor: Apple     Model: iPod              Rev: 1.62
Sep 30 20:50:12 kaneda kernel:   Type:   Direct-Access                      ANSI SCSI revision: 00
Sep 30 20:50:12 kaneda kernel: SCSI device sdb: 39063023 512-byte hdwr sectors (20000 MB)
Sep 30 20:50:12 kaneda kernel: sdb: Write Protect is off
Sep 30 20:50:12 kaneda kernel: sdb: Mode Sense: 64 00 00 08
Sep 30 20:50:12 kaneda kernel: sdb: assuming drive cache: write through
Sep 30 20:50:12 kaneda kernel: SCSI device sdb: 39063023 512-byte hdwr sectors (20000 MB)
Sep 30 20:50:12 kaneda kernel: sdb: Write Protect is off
Sep 30 20:50:12 kaneda kernel: sdb: Mode Sense: 64 00 00 08
Sep 30 20:50:12 kaneda kernel: sdb: assuming drive cache: write through
Sep 30 20:50:13 kaneda kernel:  sdb: sdb1 sdb2
Sep 30 20:50:13 kaneda kernel: Attached scsi removable disk sdb at scsi1, channel 0, id 0, lun 0
Sep 30 20:50:13 kaneda kernel: Attached scsi generic sg1 at scsi1, channel 0, id 0, lun 0,  type 0
Sep 30 20:50:13 kaneda kernel: usb-storage: device scan complete

il che ci mostra le due partizioni dell'iPod, in questo caso sda1 ed sda2. La partizione che ci interessa è sda2, ovvero quella contenente i dati.

Creazione del Mountpoint

andiamo quindi a creare il punto di mount dove in seguito monteremo il nostro iPod:

~# mkdir /mnt/iPod

creiamo il gruppo ipod per definire il gruppo di utenti abilitati al suo utilizzo:


~# addgroup ipod

ed aggiungiamo al gruppo gli utenti desiderati con:

~# adduser "user" ipod

Montiamo ora l'iPod come un qualsiasi dispositivo removibile di memoria usb: Se utilizziamo FAT:

~# mount -t vfat /dev/sda2 /mnt/ipod -o rw,uid="user",gid=ipod

Mentre con HFS:

~# mount -t hfsplus /dev/sda2 /mnt/ipod -o rw,uid="user",gid=ipod

per semplificare questa operazione, che può essere gestita in automatico da tools che stiamo per vedere, consiglio di scrivere una riga che salvi queste impostazioni nel vostro file /etc/fstab.


Esplorando questa partizione vedrete che i files sono nella directory:

/mnt/iPod/iPod_Control

(Se l'iPod è nuovo e non è mai stato utilizzato non vi sarà nulla. Vedremo in seguito come creare tutto questo)

Installazione dei tools e delle gui

gnupod-tools

Il pacchetto fondamentale per gestire un iPod sotto GNU/Linux è gnupod-tools.Sul sito ufficiale potete trovare tutta la doumentazione necessaria al suo utilizzo, anche se alcune funzioni verranno trattate anche in questa guida. Per ottenere gnupod-tools è sufficiente un:

~# apt-get install gnupod-tools

YamiPod

YamiPod è un altro programma che si può scaricare sul sito www.yamipod.com molto simile a gtkpod, ma multipiattaforma (Linux, MacOS X, Win). Questo programma non è software libero (anche se il suo uso è gratuito).

QuodLibet

Anche l'ottimo e versatile QuodLibet consente, grazie ad un plugin apposito, di gestire direttamente e in maniera immediata l'iPod, sfogliarne i contenuti, cancellare brani e uploadare, ovviamente, brani o interi album dalla vistra libreria.

Il plugin può essere scaricato dal seguente URL: [1]. Estrate l'archivio in .quodlibet/plugins/songsmenu.

Nel caso non fossero già installati:

apt-get install libgpod0 python2.3-gpod

Procuriamoci ora i file gpod.y e _gpod.so dalle librerie di python:

cp /usr/lib/python2.3/site-packages/gpod.py .quodlibet/plugins/songsmenu/ipod
cp /usr/lib/python2.3/site-packages/_gpod.so .quodlibet/plugins/songsmenu/ipod

A questo punto punto il nuovo plugin dovrebbe comparire nella lista dei plugin di QuodLibet (refresh o lanciate il programma). Basta attivare i plugin (Browse iPod e Copy To iPod) mediante checkbox e configurare mountpoint e device nell'apposita finestra di configurazione del plugin stesso.

Quodlibet ipod.png

gtkpod + codecs

per poter gestire il vostro iPod sarebbe ora sufficiente installare gtkpod,tuttavia per avere un pieno supporto che faccia dimenticare iTunes sono necessari ancora dei piccoli passaggi.Visto che alcuni dei pacchetti di cui necessitiamo non sono presenti sui repository ufficiali, dovremo editare il nostro file

/etc/apt/sources.list

aggiungendo la stringa

deb ftp://ftp.nerim.net/debian-marillat/ XXX main

dove XXX verrà sostituito con il nome della distribuzione che stiamo utilizzando, al momento attuale le opzioni sono:

  • sarge
  • etch
  • sid

Ora siamo pronti all'ultimo passaggio: dopo aver dato un

~# apt-get update

sarà sufficiente dare

~# apt-get install faac faad gtkpod-aac xmms-mp4 mp3gain

per avere pieno supporto ai formati aac e mp4.

Utilizzo dell'iPod

Preparazione dell'iPod con GNUpod-tools

Se l'iPod appena collegato è nuovo, questo non avrà l'albero delle directory necessario al suo utilizzo. Inoltre mancherà anche il file iTunesdb.ext,necessario per gestire la musica. ecco che entra in gioco GNUpod-tools, che con un semplice comando creerà tutto questo, sostituendo ad iTunesdb.ext GNUtunesDB.ext. ecco come procedere:

~# gnupod_INIT.pl -m /mnt/iPod

Per maggiori informazioni sull'iTunesdb visitate il wiki

Configurazione di GTKpod

La configurazione di GTKpod è molto semplice ed intuitiva. Nel menu Modifica si trova la voce "Preferenze", e da lì si può avere pieno controllo sulle impostazioni del programma, e sulla gestione del vostro iPod.

Esempio 1
Esempio 3
Esempio 2

Installare linux sull'iPod

E possibile installare anche un firmware basato su linux mantenendo inoltre il firmware apple originale. Il progetto dal nome "ipodlinux" è ancora in fase di sviluppo, ma povvede già a dare un bootloader funzionante e dei player audio in perfezionamento.

  • qui trovate una lista dei modelli di iPod supportati
  • qui invece le istruzioni dettagliate per l'installazione.



Autore: jango