Archive for July, 2009

Autenticazione su Ubuntu tramite USB


2009
07.30

Una cosa che mi è sempre piaciuta è l’autenticazione su di un sistema tramite device esterno, sia esso smart-card, token USB o altro.

Il problema di molti di questi sistemi è che spesso richiedono sforzi abbastanza elevati o hardware abbastanza costosi: tra smart card e lettore si arriva tranquillamente a 20/30€, idem per un token USB.

Se si utilizza Linux la soluzione tuttavia è semplice ed economicissima: esiste infatti un software, sviluppato da Andrea Luzzardi che ci permette di usare una normalissima penna USB per ogni genere di autenticazione o di azione supportata da PAM.

La cosa migliore è che la chiavetta non deve neanche essere dedicata allo scopo ma può tranquillamente essere riutilizzata per salvare dati, ecc…Viene infatti creata una cartellachiamata .pamusb al suo interno con dentro un file (cifrato) per ogni computer e ogni utente che si deve autenticare; una chiavetta, quindi, più computer più utenti. Questo vuol dire che io adesso con questa chiavetta posso:

  • Inserirla nel pc di casa, accenderlo ed evitare di mettere la password per il login: il modulo riconosce l’hardware e il file-chiave e fa l’autologin. Se ovviamente la chiavetta non è inserita chiede la password come al solito…
  • Autenticarmi in console: basta scrivere il mio login e premere invio per evitare di digitare la password (ovviamente funziona anche in modalità grafica con gdm e kdm).
  • Usare sudo senza che mi venga richiesta la password: la chiavetta c’è, c’è l’autenticazione…
  • Bloccare la sessione (e far partire il salvaschermo) quando sfilo la pennetta dal PC e sbloccarla automaticamente quando viene reinserita.
  • Tutte le autenticazioni che vi possono venire in mente…e molto di più!

Prima di passare alla mini-guida vorrei rassicurare chi come me è un paranoico della sicurezza: da quanto ne so il modulo è ben robusto e funzionante, se non si ha la chiavetta non ci si autentica. Inoltre il programma riconosce anche il modello e il serial number dell’hardware, quindi copiare solamente il file cifrato sarebbe inutile. Infine il meccanismo si basa sul noto concetto di One-time-pad, il che vuol dire che se la chiavetta finisse nelle mani sbagliate basta cancellare subito il file corrispondente nella propria home (creato automaticamente dal programma) per rendere inutile qualsiasi tentativo successivo di utilizzo su quel PC.

Per utilizzare il software sotto Ubuntu 9.04 basta seguire questi pochi semplici passi:

  1. Installare tramite apt-get i seguenti pacchetti:
    sudo apt-get install pamusb-tools libpam-usb
  2. Inserire la chiavetta USB
  3. Lanciare il seguente comando per aggiungere la chiavetta al file di configurazione:
    sudo pamusb-conf --add-device MyUSB
    (Ovviamente potete cambiare MyUSB in qualsiasi altro nome)
  4. Se più di un dispositivo rimovibile è connesso al PC viene presentato un rapido menu da cui è possibile scegliere l’hardware giusto.
  5. Lanciare il comando per aggiungere l’utente che usufruirà dell’autenticazione tramite USB al file di configurazione:
    sudo pamusb-conf --add-user nomeutente
    (Cambiate nomeutente con il vostro username o con quello di qualsiasi altro utente, ad esempio root)
  6. Controllare che l’autenticazione vada a buon fine con il comando
    pamusb-check nomeutente
  7. Se tutto è andato per il verso giusto, è il momento di decidere come autenticarsi. I seguenti passi rispecchiano le impostazioni descritte precedentemente, per modificarle consiglio il sito ufficiale che contiene ottime guide ed howto.
  8. Modificare (come root) il file /etc/pam.d/common-auth aggiungendo
    auth      sufficient      pam_usb.so
    subito prima di
    auth      [success=1 default=ignore]      pam_unix.so nullok_secure
  9. Salvare e chiudere.
  10. Modificare il file /etc/pam.d/gdm-autologin (il nome è esplicativo) aggiungendo
    auth      sufficient     pam_usb.so
    subito prima di
    auth      required      pam_permit.so
    e commentando quest’ultimo
  11. Abilitare l’autologin per l’utente che avete scelto (sconsiglio vivamente la cosa nel caso abbiate deciso di utilizzare l’utente root, così come la modifica del file gdm-autologin nel caso) attraverso il menu (se usate Gnome) System->Administration->Login Window->Security
  12. A causa di un bug in pmount (vedi https://bugs.launchpad.net/ubuntu/+source/pmount/+bug/296164) che impedisce alla pennetta di essere montata correttamente all’avvio, aggiungere al file /etc/pmount.allow (come root) la riga
    /dev/sda1
    nel caso la vostra pennetta venga di solito riconosciuta come /dev/sda1
  13. Aggiungere al file /etc/pamusb.conf, tra i tag <user> e </user> le seguenti righe:
    <agent event="lock">gnome-screensaver-command --lock</agent>
    <agent event="unlock">gnome-screensaver-command --deactivate</agent>
  14. Salvare e chiudere. In questo modo dovrebbe essere abilitato il blocco e lo sblocco dello schermo tramite USB.
  15. Infine far partire all’avvio il programma pamusb-agent aggiungendolo a System->Preferences->Startup Applications
  16. Riavviare e testare!

Alcuni problemi che sono sorti:

  • A volte non si riesce comunque a fare’autenticazione: la cosa migliore in questo caso e cancellare la cartella .pamusb nella home dell’utente configurato e sulla pennetta e riprovare.
  • A volte rimangono delle cartelle inutilizzate chiamate pamusbxxxxx sotto /media/, sempre per il problema di pmount

In ogni caso la cosa migliore è consultare il sito ufficiale del progetto:

http://pamusb.org

EDIT: ecco qui un’altra guida, più aggiornata e completa.

Do androids dream of electric sheeps?


2009
07.24

EN Version:

(Note: the title of the post and the software itself are referred to this).

It’s passed a lot of time since the last time I’ve tried electricsheep, the software of distributed computing to “visualize the dreams” of computers.

The concept is pretty simple: the computer (the android), while  idle, creates, download and shares a fractal video (the sheep). Other computers do the same with their free computational time/memory and the human being enjoys and vote the best screensavers created.

The last time I’ve installed the program on a Windows machine. Now it’s time to try it with Ubuntu.

I’ve tried to use the repository version of the app, but it seems very bugged, considering that it can’t download the first sheeps to elaborate. For who’s interested, my problem on Jaunty was the following error, when I’ve tried to launch electricsheep from CLI:

$ electricsheep
 please be patient while the first sheep is downloaded...
 curl: (7) couldn't connect to host
 lost contact with v2d6.sheepsever.net, cannot retrieve sheep.

So I’ve found this guide that you can find below:

  1. Add to your /etc/apt/sources.list the following lines:
    deb http://ppa.launchpad.net/surfed/ppa/ubuntu jaunty main
    deb-src http://ppa.launchpad.net/surfed/ppa/ubuntu jaunty main
  2. Add the ppa’s public key to your apt-keyring:
    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EDFCDC98
  3. Refresh your database with
    sudo apt-get update
  4. Install the app with
    sudo apt-get install electricsheep
  5. Now you can find the screensaver in the Gnome screensaver control panel, also if from that point the software isn’t very configurable.
    To enjoy the best from this, first you need to create an account on the official website (it’s free) and then you can enter your data/preferences launching (from the terminal) electricsheep-preferences.
  6. Probably the first times you’ll see the same screensaver repeated more and more: it’s because the software hasn’t yet elaborated nor downloaded much. Wait some days/weeks and you’ll see avery kind of psychedelic screensaver you could imagine!

Is obvious that a always-up connection and a never-stopped PC is necessary for this…

IT version

(Nota: il titolo del post e il software si riferiscono a questo).

E’ passato un bel po’ di tempo da quando ho provato electricsheep, il software di calcolo distribuito che permette di “visualizzare i sogni” del proprio computer.

Il concetto è abbastanza semplice: il computer (l’androide) mentre è inattivo, crea scarica e condivide un frattale animato (la pecora). Altri elaboratori fanno lo stesso impiegando il loro tempo di CPU/memoria e gli esseri umani si godono e votano gli screensaver così creati.

L’ultima volta ho installato il programma su una macchina Windows. Ora è tempo di provare a vedere come va con Ubuntu.

Ho provato la versione presente nei repositories ma sembra abbastanza buggata, dato che non riesce a scaricare nemmeno la prima pecora. Se servisse, il mio problema (con Jaunty) era il seguente errore, comparso quando si provava a lanciare electricsheep da linea di comando:

$ electricsheep
 please be patient while the first sheep is downloaded...
 curl: (7) couldn't connect to host
 lost contact with v2d6.sheepsever.net, cannot retrieve sheep.

Allora ho trovato questa guida che potete vedere qui sotto:

  1. Aggiungete al vostro file /etc/apt/sources.list le seguenti righe:
    deb http://ppa.launchpad.net/surfed/ppa/ubuntu jaunty main
    deb-src http://ppa.launchpad.net/surfed/ppa/ubuntu jaunty main
  2. Aggiungete la chiave pubblica del repository al vostro portachiavi:
    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EDFCDC98
  3. Ricaricate il database con:
    sudo apt-get update
  4. Installate l’applicazione con:
    sudo apt-get install electricsheep
  5. Ora potrete trovare lo screensaver nel pannello di controllo di Gnome, anche se da qui non è molto configurabile. Per ottenere il meglio, per prima cosa dovrete creare un account sul  sito ufficiale (è gratuito) e quindi inserendo i vostri dati e le vostre preferenze lanciando (da terminale): electricsheep-preferences.
  6. Probabilmente le prime volte vedrete gli stessi screensaver ripetuti ancora ed ancora: questo è dovuto al fatto che il programma non ha ancora elaborato o scaricato granchè. Aspettate qualche giorno e vedrete ogni tipo di screensaver psichedelicco che potrete immaginare!

E’ ovvio che avrete bisogno di una connessione ad internet (preferibilmente a banda larga) sempre attiva e di un computer quasi-sempre acceso…

Facebook and Skype chat for pidgin


2009
07.23

I’m back from my year-vacation and I’d like to share a thought, an issue and a solution (a very easy one) I’ve found today; the thought was:how can I remain in contact with all my various contacts in one time and one window? The immediately next thought has been: with Pidgin!

The issue is: how to add the Facebook and Skype chat to Pidgin? The solution is pretty straightforward: download these two plugins:

Both are available as deb, as binary and also for windows, for those who likes to use pidgin on that OS. Obviously my chat now is much more polite and I finally don’t need to open two-three windows anymore to remain in touch with all my friends…