Debian e iPod: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
m
nessun oggetto della modifica
(→‎Introduzione: aggiunta nota sul formato scrambled usato da apple)
mNessun oggetto della modifica
 
(12 versioni intermedie di 6 utenti non mostrate)
Riga 1: Riga 1:
Come facciamo a scoprire se veniamo infettati da un RootKit?
{{Versioni compatibili |Lenny|Squeeze|Wheezy}}
== 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>
<pre>
# esempio di file di conf
Sep 30 20:50:07 kaneda kernel: usb 1-6: new high speed USB device using ehci_hcd and address 6
database:=./afick
Sep 30 20:50:07 kaneda kernel: scsi1 : SCSI emulation for USB Mass Storage devices
warn_dead_symlinks := yes
Sep 30 20:50:07 kaneda kernel: usb-storage: device found at 6
exclude_suffix := wav WAV mp3 avi
Sep 30 20:50:07 kaneda kernel: usb-storage: waiting for device to settle before scanning
=/ d+i+p+u+g
Sep 30 20:50:12 kaneda kernel:  Vendor: Apple    Model: iPod              Rev: 1.62
=/bin p+n+b+m+c+md5
Sep 30 20:50:12 kaneda kernel:  Type:  Direct-Access                      ANSI SCSI revision: 00
=/sbin p+n+b+m+c+md5
Sep 30 20:50:12 kaneda kernel: SCSI device sdb: 39063023 512-byte hdwr sectors (20000 MB)
=/usr/sbin p+n+b+m+c+md5
Sep 30 20:50:12 kaneda kernel: sdb: Write Protect is off
=/usr/bin p+n+b+m+c+md5
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>
</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,
il che ci mostra le due partizioni dell'iPod, in questo caso <code>''sda1''</code> ed <code>''sda2''</code>.
digitiamo da console quanto segue:
La partizione che ci interessa è <code>''sda2''</code>, ovvero quella contenente i dati.
 
=== Creazione del mountpoint ===
Andiamo quindi a creare il punto di mount dove in seguito monteremo il nostro iPod:


<pre>
<pre>
# ./afick.pl -c afick.conf -i
# mkdir /mnt/iPod
</pre>
</pre>


bene cosi' abbiamo creato il nostro database di sistema, ora facciamo passare un po di tempo e poi controlliamo come va'
creiamo il gruppo ipod per definire il gruppo di utenti abilitati al suo utilizzo:
 


<pre>
<pre>
# ./afick.pl -c afick.conf -k
# addgroup ipod
</pre>
</pre>


se non abbiamo modificato nessun binari inserito nel file di configurazione dovrebbe apparirci in risposta dal programma:
ed aggiungiamo al gruppo gli utenti desiderati con:


<pre>
<pre>
Hash Database : numero file scanned 0 changed ecc
# adduser "user" ipod
</pre>
</pre>


bene ora proviamo a modificare qualche file, banalmente:
Montiamo ora l'iPod come un qualsiasi dispositivo removibile di memoria usb. Se utilizziamo FAT:


<pre>
<pre>
# touch /sbin/lilo
# mount -t vfat /dev/sda2 /mnt/ipod -o rw,uid="user",gid=ipod
# ln-s /sbin/sulogin /usr/sbin/sulogin
</pre>
</pre>


ora rieseguiamo il controllo come prima, questa volta in risposta avremmo:
Mentre con HFS:


<pre>
<pre>
new symbolic link : /usr/sbin/sulogin
# mount -t hfsplus /dev/sda2 /mnt/ipod -o rw,uid="user",gid=ipod
changed file : /sbin/lilo
changed directory :/usr/sbin
</pre>
</pre>


seguito dai dettagli delle varie operazioni compiute.
----
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 <code>/etc/fstab</code>.
----


Dal momento che sappiamo che queste modifiche le abbiamo fatte noi
Esplorando questa partizione vedrete che i file sono nella directory:
ora dobbiamo riaggiornare il database:


<pre>
<pre>
# ./afick.pl -c afick.conf -u
/mnt/iPod/iPod_Control
</pre>
</pre>


ora sappiamo usare il nostro Monitor di sistema.
(Se l'iPod è nuovo e non è mai stato utilizzato, non vi sarà nulla. Vedremo in seguito come creare tutto questo)


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.
== Installazione dei tools e delle gui ==
=== gnupod-tools ===


==Non � finita qui==
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 documentazione necessaria al suo utilizzo, anche se alcune funzioni verranno trattate anche in questa guida.
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
Per ottenere ''gnupod-tools'' è sufficiente un:


<pre>
# apt-get install gnupod-tools
</pre>
=== YamiPod ===
''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 vostra libreria.


==Link==
Il plugin può essere scaricato dal seguente URL: [http://www.sacredchao.net/quodlibet/wiki/Plugins/iPod].
Estraete l'archivio in <code>.quodlibet/plugins/songsmenu</code>.


* http://afick.sourceforge.net
Nel caso non fossero già installati:
* 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.
<pre>
# apt-get install libgpod0 python2.3-gpod
</pre>


* http://www.chkrootkit.org
Procuriamoci ora i file <code>'''gpod.y'''</code> e <code>'''_gpod.so'''</code> dalle librerie di python:


----
<pre>
Autore: debian
$ cp /usr/lib/python2.3/site-packages/gpod.py .quodlibet/plugins/songsmenu/ipod
[[Categoria:Server]][[Categoria:Sicurezza]]
$ cp /usr/lib/python2.3/site-packages/_gpod.so .quodlibet/plugins/songsmenu/ipod
[[Categoria:Networking]]
</pre>
 
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>
/etc/apt/sources.list
</pre>
 
aggiungendo i [[Repository_non_ufficiali#Marillat_Repository| Marillat repository]].
 
Ora siamo pronti all'ultimo passaggio:
dopo aver dato un
<pre>
# apt-get update
</pre>
sarà sufficiente dare:
<pre>
# apt-get install faac faad gtkpod-aac xmms-mp4 mp3gain
</pre>
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 <code>iTunesdb.ext</code>, necessario per gestire la musica.
ecco che entra in gioco ''GNUpod-tools'', che con un semplice comando creerà tutto questo, sostituendo ad <code>iTunesdb.ext</code> <code>GNUtunesDB.ext</code>.
Ecco come procedere:
 
<pre>
# gnupod_INIT.pl -m /mnt/iPod
</pre>
 
Per maggiori informazioni sull'iTunesdb visitate il [http://ipodlinux.org/ITunesDB 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.
 
[[Immagine:Gtkpod.jpg|thumb|left|Esempio 1]] [[Immagine:Gtkpod2.jpg|thumb|right|Esempio 3]] [[Immagine:Gtkpod1.jpg|thumb|center|Esempio 2]]
 
== Installare linux sull'iPod ==
 
È 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 provvede già a dare un bootloader funzionante e dei player audio in via di perfezionamento.
Oppure esistono altre soluzioni di firmware quali [http://www.rockbox.org "RockBox"] che, come Linux, risolvono il problema della limitazione software alla radice.
 
== Collegamenti ==
* [http://ipodlinux.org/Project_Status Lista dei modelli di iPod supportati]
 
* [http://ipodlinux.org/Installation Istruzioni dettagliate per l'installazione]
 
{{Autori
|Autore = [[Utente:Jango|jango]]
}}
 
[[Categoria:Lettori MP3]]
6 999

contributi

Menu di navigazione