Gestire le identità nelle istanze cloud distribuite

Ho molte istanze in diversi cloud, anche approfittando di alcune offerte gratuite per sviluppatori: Amazon Web Services (AWS), Digital Ocean, HP Cloud, ma anche cloud regionali come Moresi.Com, Enter o le mie istanze virtuali sui miei sistemi in housing.

Insomma, un bel po’ di sistemi Linux distribuiti nel mondo, forse come molti informatici.  E su questo si incastra il problema di avere la mia identità e quella dei miei utenti/sviluppatori distribuita in questi sistemi. Mentre in una intranet avrei usato LDAP senza esitazioni, creare un LDAP esposto ad Internet potrebbe non essere una buona idea.

Allora come fare a risolvere questo problema e contemporaneamente avere un ottimo livello di sicurezza? La risposta potrebbe essere quella di usare il nuovo modulo NSS per SecurePass.

Fino ad adesso SecurePass è stato sempre usato come un “two factor authentication” nel cloud, soltanto sfruttando la parte di autenticazione nel sistema operativo. Ma la nuova versione beta è in grado di ospitare gli “extended attributes”, che sono informazioni arbitrarie che un amministratore o una applicazione puo’ usare per ogni utente di SecurePass.

Useremo SecurePass per autenticare l’utente e tenere le informazioni Unix atttraverso questa nuova funzionalità. In particolare, useremo:

  • il sottosistema PAM per autenticare gli utenti via RADIUS
  • il nuvo modulo NSS di SecurePass per ottenere informazioni di UID/GID/….

SecurePass e gli extended attributes

La prossima generazione del servizio SecurePass (attualmente in beta) è in grado di ospitare informazioni arbitrarie per ogni profilo utenti. Questa funzionalità è chiamata “Extended Attributes” (o xattrs) e -come potete immaginare- sono organizzate in modalità chiave/valore.

Dovete avere i SecurePass tools per modificare gli extended attributes di un utente. Le nuove release di Debian Jessie and Ubuntu Vivid Vervet, avranno un pacchetto per questo, quindi potrete fare:

# apt-get install securepass-tools

Per altre distribuzioni Linux (o Unix), potete usare il python package installer (PIP) per installare i tools. Installate come pre-requisito pycurl e poi:

# pip install securepass-tools

Anche se i SecurePass tools hanno la possibilità di avere un file di configurazione locale, per questo tutorial raccomandiamo di creare un file /etc/securepass.conf, in modo da essere usato anche dal modulo NSS. Il file di configurazione e’ simile a quanto sotto:

[default]
app_id = xxxxx
app_secret = xxxx

Dove app_id e app_secrets sono API keys valide per accedere a SecurePass beta.

Attraverso la riga di comando, saremo in grado di impostare UID, GID e tutti gli attributi Unix per ogni utente:

# sp-user-xattrs user@domain.net set posixuid 1000

Mentre  posixuid e’ l’attributo minimo per avere un login su Unix con il modulo NSS, i seguenti attributi sono validi:

  • posixuid → UID dell’utente
  • posixgid → GID dell’utente
  • posixhomedir → Home directory
  • posixshell → Shell preferita
  • posixgecos → Gecos (il default è lo username)

Installazione e configurazione del modulo NSS SecurePass

Similmente a quanto avviene per i tools, Debian Jessie e Ubuntu Vivid Vervet hanno un pacchetto nativo per SecurePass

# apt-get install libnss-securepass

Per le precedenti releases di Debian e Ubuntu, ma anche per CentOS e RHEL, è sempre possibile installare il modulo. I sorgenti sono disponibili su:

https://github.com/garlsecurity/nss_securepass

Poi:

./configure
make
make install (solo Debian/Ubuntu)

Per CentOS/RHEL/Fedora bisogna installare il modulo NSS nel posto giusto:

/usr/bin/install -c -o root -g root libnss_sp.so.2 /usr/lib64/libnss_sp.so.2
ln -sf libnss_sp.so.2 /usr/lib64/libnss_sp.so.2

Il file di configurazione /etc/securepass.conf va esteso per avere le informazioni di default per il modulo NSS. Bisogna creare una sezione [nss] come da basso:

[nss]
realm = mydomain.com
default_gid = 100
default_home = "/home"
default_shell = "/bin/bash"

Il realm va impostato come quello registrato su SecurePass, il modulo NSS farà append del dominio/realm corrispondente all’utente Unix. Io preferisco impostare il GID corrispondente al gruppo “users”, che di solito su Linux è il gruppo 100. Fate in modo che questo gruppo esista a livello di sistema operativo. Se non si impostano i default su home e shell, i default dei default sono “/home” e “/bin/false”

Dobbiamo ora configurare il Name Service Switch (NSS) per usare SecurePass. Cambiamo il file  /etc/nsswitch.conf aggiungendo “sp” alla riga passwd come segue:

$ grep sp /etc/nsswitch.conf
passwd:     files sp

Controllate che il sottosistema NSS stia funzionando con il modulo SecurePass facendo una query alla tabella passwd come segue:

$ getent passwd user
user:x:1000:100:My User:/home/user:/bin/bash
$ id user
uid=1000(user)  gid=100(users) groups=100(users)

A questo punto abbiamo configurato gli utenti a sistema operativo, ma gli stessi non potranno collegarsi perche’ manca una password corrispondente. Useremo SecurePass per autenticare gli utenti.

Configurare PAM per SecurePass

Se stai usando CentOS o RHEL, bisogna avere EPEL configurato. Per attivare EPEL, seguite le istruzioni su http://fedoraproject.org/wiki/EPEL

La configurazione seguente non è stata provata con SE-Linux abilitato (controllate che sia disabilitato o in modalita’ permissive).

Su CentOS/RHEL, installate il modulo PAM RADIUS con:

# yum -y install pam_radius

Su Debian/Ubuntu, installate il modulo PAM RADIUS con:

# apt-get install libpam-radius-auth

Nota: al momento della scrittura del presente articolo, EPEL 7 è ancora in beta e non contiene il modulo PAM RADIUS. E’ stata fatta una richiesta attraverso il Bugzilla di RedHat per includere questo pacchetto in EPEL 7

Accediamo all’interfaccia di amministrazione SecurePass e aggiungiamo un nuovo device RADIUS. Dobbiamo solo settare l’IP Pubblico del server, un fully qualified domanin name (FQDN) e la secret pass per l’autenticazione Radius. Se siete sotto NAT, questo corrisponde all’IP pubblico di uscita dei pacchetti. Dopo l’aggiunta avremo un piccolo riassunto con i dati del device appena aggiunto. Per questo esempio, useremo “secret”.

Configurate il modulo PAM RADIUS attraverso il file /etc/pam_radius.conf e aggiungete le seguenti righe:

radius1.secure-pass.net secret 3
radius2.secure-pass.net secret 3

Ovviamente “secret” è la stessa che abbiamo impostato attraverso l’interfaccia di amministrazione di SecurePass administration interface. A questo punto bisogna modificare il file di configurazione di PAM.

In CentOS, modificate il file /etc/pam.d/password-auth-ac; in Debian/Ubuntu modificate il file /etc/pam.d/common-auth ed assicuratevi che il modulo pam_radius_auth.so sia nella lista.

auth required pam_env.so
auth sufficient    pam_radius_auth.so try_first_pass
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 500 quiet
auth required pam_deny.so

Conclusioni

E’ difficile avere a che fare con tante istanze Linux distribuite; ci sono problemi che spaziano dal mantenere il software sempre aggiornato, al logging centralizato fino alla gestione delle utenze. Nel cloud, infatti, non è sempre possibile usare i software che tradizionalmente venivano usati nelle intranet. Alcuni tools, come SecurePass, possono aiutare nella gestione quotidiana.

Per poter accedere alla Beta di SecurePass, bisogna attivare SecurePass su: http://www.secure-pass.net/open

E successivamente mandare una mail a support@secure-pass.net richiedendo l’accesso alla beta.

Bits from the Debian Multimedia team

Questo breve aggiornamento sullo stato dei lavori é stato pubblicato nella mailing list Debian Devel Announce, quella che segue é una mia traduzione per i lettori di lingua italiana.


Molte cose sono successe nel mondo di Debian Multimedia durante il ciclo di sviluppo di Squeeze, perciò pensavamo fosse giusto fornire un aggiornamento sulla situazione attuale all’interno del team.

Chi siamo

Originariamente vi erano due team impegnati nella multimedialità: Debian Multimedia e Debian Multimedia Packages. Ci teniamo a far notare che nessuno di essi è legato al sito esterno debian-multimedia.org, mantenuto da Christian Marillat e che fornisce pacchetti che introducono conflitti e problemi con le applicazioni FFmpeg-based (come mplayer e VLC) presenti in Debian Squeeze.

Al fine di evitare un’inutile duplicazione del lavoro, a fine 2008 entrambi i team sono stati riunificati nel team Debian Multimedia Maintainers. Da allora, moltissimo lavoro è stato svolto e questo testo vuole fornire un breve riassunto delle nostre attività.

Software multimediale di largo consumo per Debian

Quello che segue é un breve elenco dei software dedicati alla riproduzione del materiale audiovisivo che saranno disponibili in Debian Squeeze:

  • FFmpeg 0.5.2, in una versione finalmente ricca di tanti codec precedentemente ritenuti non conformi alle Linee guida per il Software Libero (un infinito grazie va al nostro project leader Stefano Zacchiroli per tutto il supporto fornito). Gli unici esclusi rimangono ancora i codec per MP3 e H.264.
  • mplayer 1.0rc3, finalmente dotato di mencoder.
  • VLC 1.1.3.
  • Accelerazione hardware VDPAU in FFmpeg e mplayer (sono richiesti feedback e commenti).
  • Guayadeque 0.2.5
  • gmusicbrowser 1.0.2

Quello che segue, invece, é un breve elenco dei software che non faranno parte di Squeeze:

  • FFmpeg 0.6, disponibile in experimental.
  • Accelerazione hardware VA-API. In experimental sono disponibili pacchetti forniti di tale feature per il supporto di hardware Intel.

Software per la produzione multimediale

Quello che segue é un breve elenco dei software dedicati per la produzione multimediale che saranno disponibili nella prossima versione stabile di Debian.

  • Ardour 2.8
  • Audacity 1.3.12
  • Composite 0.006
  • Csound 5.12. È disponibile anche l’interfaccia grafica QuteCsound.
  • FluidSynth 1.1.1
  • Hydrogen 0.9.4.1
  • Internet DJ Console 0.8.3
  • Jokosher 0.11.5
  • LiVES 1.3.4
  • mhWaveEdit 1.4.20
  • morituri 0.1.1
  • QTractor 0.4.6
  • Rosegarden 10.04.2
  • SooperLooper 1.6.14
  • Traverso 0.49.1
  • X Jack Video Monitor 0.4.13
  • Yoshimi 0.058.1

Inoltre, saranno disponibili le seguenti piattaforme e framework:

  • JACK versioni 0.118 e 1.9.6 (quindi, jackd1 and jackd2), con la possibilità di scelta fra le due possibili versioni.
  • Supporto LV2, numerosi plugin sono già disponibili e pronti per essere utilizzati con applicazioni come Ardour.
  • I plugin LADSPA sono tutt’ora supportati.
  • DSSI 1.0.0, con numerosi plugin disponibili.
  • Il supporto per le periferiche FireWire e la compatibilità con il sistema JACK vengono forniti da libffado.

La futura versione di Debian non fornirà le seguenti piattaforme e applicazioni:

  • Server JACK con supporto di sessione.
  • Ardour 3, ancora in fase di sviluppo.
  • SuperCollider. I lavori sono ancora in corso d’opera e non verranno completati prima del rilascio di Squeeze.
  • Toonloop. Il suo ingresso in Debian sid è recente e ormai é troppo tardi per garantire la qualità sufficiente per entrare a far parte del set di rilascio.
  • NASPRO, comoda liberia per lo sviluppo di plugin LV2. È già disponibile in Debian sid.
  • Mixxx: la versione 1.7 presenteva notevoli difetti e siamo fuori tempo massimo per l’inclusione della versione 1.8 nella prossima Debian stabile.

Debian Multimedia Blend

Stiamo preparando un blend dedicato alla multimedialità allo scopo di fornire una panoramica delle applicazioni multimediali disponibili in Debian. Sono già disponibili un breve elenco, per una consultazione veloce delle applicazioni, e una panoramica dettagliata, comprensiva di informazioni come lo stato delle traduzioni, popolarità e schermate di esempio per ognuna di esse. Chiunque volesse aiutarci nel migliorare il nostro lavoro, è invitato a farlo o accedendo direttamente al repository SVN o mandando un’e-mail a Andreas Tille <tille@debian.org> o alla nostra mailing list debian-multimedia@lists.debian.org. Facciamo presente che non tutte le applicazioni presenti nel sopra citato elenco sono mantenute dal team Debian Multimedia, poiché l’obiettivo é quello di fornire una panoramica su tutte le applicazioni multimediali e non solo quelle sotto la nostra responsabilità.

Per chi volesse aiutarci nella risoluzione dei bug nei pacchetti multimediali, sono disponibili sia la pagina generata automaticamente dagli strumenti Blend che la pagina del team.

Altre attività

Successivamente alla riunificazione, il team é cresciuto rapidamente: degli attuali 52 membri elencati sulla pagina di Alioth, 20 hanno fatto il loro ingresso nel 2009 e 18 nel 2010, molti dei quali sono impegnati sia nello sviluppo della pacchettizzazione che del software upstream. Anche il numero dei software è fortemente aumentato: degli attuali 205 pacchetti presenti nella nostra area del repository git, 112 sono stati introdotti per la prima volta nel 2010.

Come contattarci

Il team Debian Multimedia Maintainers può essere contattato all’indirizzo pkg-multimedia-maintainers@lists.alioth.debian.org, abbiamo inoltre deciso di riutilizzare il vecchio indirizzo debian-multimedia@lists.debian.org per le discussioni tra utenti e, più in generale, per argomenti non tecnici, perciò invitiamo chiunque sia interessato ad argomenti multimediali a iscriversi a tale lista. Consigliamo caldamente agli addetti ai lavori e agli sviluppatori interessati di iscriversi alla prima delle sopra elencate mailing list. Infine, alcuni dei membri del team si riuniscono nel canale IRC #debian-multimedia della rete OFTC.

Regards,

Alessio Treglia on behalf of the Debian Multimedia Maintainers

Libmtp aggiunge il supporto per i dispositivi Apple

Per illustrarvi le novità della nuova versione, presente per ora solo in Debian experimental ma che presto dovrebbe far il suo ingresso anche negli archivi di Ubuntu+1, mi è sufficiente mostrarvi un estratto del changelog:

 libmtp (1.0.3-3) experimental; urgency=low

   * New devices now supported:
     - Apple iPhone 05ac:0x1290
     - Apple iPod Touch 1st Gen 05ac:1291
     - Apple iPhone 3G 05ac:0x1292
     - Apple iPod Touch 2nd Gen 05ac:0x1293
     - Apple iPhone 3GS 05ac:0x1294
     - Apple 05ac:1296
     - Apple 05ac:1297
     - Apple 05ac:1298
     - Apple iPod Touch 3rd Gen 05ac:0x1299
     - Apple iPad 05ac:129a
     - SonyEricsson U5 0fce:0133
     - Samsung Galaxy S GT-I9000 04e8:6877
     - Samsung Vibrant SGH-T959 04e8:68a9
     - COBY MP705 1e74:6512
     - Cowon iAudio J3 0e21:0921
     - Motorola Droid X 22b8:41d6

Se il vostro lettore sembra non essere fra quelli supportati ma vorreste che lo fosse presto, aggiungete un commento a questo articolo, allegando il risultato dei comandi

lsusb

e

mtp-detect

Gestire i caratteri con Font Manager

Già disponibile in Debian sid da qualche giorno, é entrato da poche ore in Maverick e fornisce delle funzionalità davvero interessanti per quanto riguarda la gestione dei font.

Sto parlando di Font Manager, sviluppato in C e Python da Jerry Casiano, vera e propria chicca per chi vuole installare, rimuovere e confrontare i caratteri installati sul proprio sistema.

Seguono un paio di schermate:

Per installarlo basta un

sudo apt-get install font-manager

Fatemi sapere cosa ne pensate 😉

Link

I miei contributi a Lucid

Come feci per Karmic, ecco un breve sunto dei pacchetti sui quali ho lavorato (aggiornamenti e bugfix) per la nuova versione di Ubuntu ormai prossima al rilascio.

Per la stragrande maggioranza dei pacchetti multimediali discussi in questo articolo sono maintainer o co-maintainer anche per Debian.

Internet DJ Console per trasmettere su Internet

La nuova release del client {ice,shout}cast grafico per stazioni radiofoniche Internet fornisce nuove interessanti caratteristiche e risolve numerosi bug riscontrati nelle precedenti versioni.

L’applicazione non ha bisogno di particolari descrizioni, chiunque abbia anche solo provato a trasmettere stream audio su Internet, su sistemi Debian e Ubuntu, l’ha installata e avviata almeno una volta. Ecco una schermata:

MP3 Diags per correggere i file MP3

L’applicazione aggiunge una notevole solidità alle caratteristiche già discusse in passato su questo blog e Marian Ciobanu, lo sviluppatore, già da alcuni mesi ha rilasciato una prima versione 1.0 veramente stabile; su Lucid, come anche su Debian squeeze, è presente l’ultima versione disponibile.

LiVES, un ottimo strumento per VJ

Già presente in Karmic, ora disponibile per Lucid con l’ultima versione disponibile, arricchita di infinite funzionalità. Ottimo sia come editor video che per il VJing.

Direttamente dagli anni ’80: Nekobee!

Da qualche mese ho affiancato Free Ekanayaka nel mantenimento per Debian di questo fantastico clone del TB-303, il famoso sintetizzatore per bass line della Roland. Disponibile in Lucid la versione più recente.

Costruire il proprio sintetizzatore con Alsa Modular Synth

Alsa Modular Synth é un’implementazione digitale di un sistema modulare di sintesi analogica. In pochi termini, ams mette a disposizione numerosi moduli di base (oscillatori, amplificatori, filtri di diversi tipi e molti altri) che si possono assemblare e personalizzare al fine di progettare un sintetizzatore virtuale utilizzabile in tutte le applicazioni host compatibili con JACK. Va notato che, grazie a questo approccio e alle infinite combinazioni possibili, si hanno a disposizione innumerevoli configurazioni ed è possibile adottare la tecnica di sintesi che più si preferisce: è infatti possibile creare synth additivi, sottrattivi o a modulazione di frequenza con una incredibile semplicità e con pochi clic del mouse.

Sia in Debian testing che in Lucid é presente l’ultima versione stabile rilasciata.

Il synth definitivo: Bristol

Semplicemente: il miglior sintetizzatore a emulazione analogica in circolazione per GNU/Linux. Per avere un’idea degli strumenti offerti da Bristol basta dare un’occhiata all’elenco dei synth emulati: non é impressionante?

Attualmente su Debian sid é disponibile l’ultima versione di sviluppo, su Lucid é presente l’ultimo rilascio stabile.

Il mio sequencer preferito: Qtractor

Per chi, come me, proviene da esperienze di produzione basate sull’utilizzo massiccio di strumenti professionali come Cubase SX e Logic, disponibili solo su sistemi Windows e Mac, Qtractor rappresenta la luce. I motivi per affermare ciò sono rintracciabili nell’elenco delle caratteristiche fornite:

  • Registrazione e sequencing audio/MIDI multitraccia
  • Possibilità di utilizzare un numero infinito di tracce
  • Numero infinito di effetti per traccia
  • Editing non lineare e non distruttivo, infiniti step undo/redo
  • Supporto completo per JACK come sistema audio e ALSA per il sequencing MIDI
  • Mixer e monitor integrati, patchbay integrato per il controllo di tutte le connessioni (simile a QjackCtrl)
  • Supporto per i formati OGG, MP3, WAV, FLAC, AIFF e molti altri
  • File di progetto in formato XML
  • Supporto per plugin LADSPA, DSSI, VSTi nativi e LV2
  • Interfaccia intuitiva e personalizzabile, con supporto per drag-and-drop, multiselezione e point-and-click.

Potete trovare l’elenco completo al link presente sopra.

SooperLooper aggiornato all’ultima versione

Il vecchio maintainer aveva perso interesse per questo ottimo campionatore, così ho pensato di sistemarlo e aggiornarlo in tempo per il rilascio di Lucid. Ecco una schermata:

Editing avanzato con Snd

Operazioni riguardanti la finalizzazione delle tracce (come il mastering) richiedono pazienza, grande accuratezza e precisione e Snd fornisce tutto il necessario per un risultato professionale. Non fatevi ingannare dalla sua interfaccia semplice e minimale, le sue numerose caratteristiche e il supporto per i plugin LADSPA lo rendono un editor adatto a tutte le necessità.

Sia su Debian squeeze, per la quale é disponibile l’ultima versione, che su Ubuntu 10.04 «Lucid Lynx» sono disponibili diverse soluzioni:

  • snd-gtk-jack fornisce un’interfaccia grafica e il supporto per JACK
  • snd-gtk-pulse affianca all’interfaccia GTK il supporto per PulseAudio
  • snd-nox é una versione dell’editor compilata senza il supporto per X

Transcodificare video con Transmageddon

Grazie al supporto della piattaforma GStreamer, Transmageddon é lo strumento adatto ai più esigenti; il numero di formati supportati dipende dai codec rilevati sul sistema. Ecco una schermata della finestra principale dell’applicazione:

DeVeDe e Avidemux

Aggiornati entrambi alle ultime versioni disponibili.

Bombono DVD: un’altra applicazione per il DVD authoring

Entra negli archivi di Ubuntu, per la prima volta, l’applicazione di authoring per DVD Video che grande successo ha riscosso negli ultimi mesi nei vari forum degli utenti. L’applicazione é ben scritta, il suo utilizzo é semplice e l’interfaccia intuitiva: non vi resta che installare il pacchetto bombono-dvd.

Gestire i propri download con Uget Download Manager

Uget é un completo gestore di download scritto in GTK di facile utilizzo. La versione presente sia in Debian testing che su Ubuntu Lucid è l’ultima stabile. Qui potete trovare alcuni screenshot illustrativi.

Simple Scan per una facile scansione di documenti e immagini

Simple Scan é un’applicazione scritta da un dipendente Canonical, Robert Ancell, ed è stata pensata per tutti quegli utenti che hanno necessità di effettuare velocemente la scansione dei propri documenti senza dover badare alle innumerevoli opzioni presenti in XSane, sostituito nell’installazione di default proprio dallo stesso applicativo.

Il pacchetto simple-scan é presente anche in squeeze, ma devo dire che le operazioni di manutenzione non mi sono rese proprio facili dall’autore del programma, che si ostina a ignorare la possibilità di merging per Ubuntu e continua a caricare nuove versioni prima negli archivi della derivata più celebre di Debian che in quelli della “roccia sulla quale è costruita” la stessa Ubuntu. Non confido nella possibilità che le cose un giorno cambino, ma si sa, la speranza é l’ultima a morire.

gmusicbrowser, un semplice jukebox per GNOME

gmusicbrowser é un’applicazione scritta in Perl + GTK e consente di organizzare la propria collezione di musica in modo estremamente semplice e intuitivo. Benchè sia simile a Rhythmbox, l’applicativo é stato progettato per consentire una veloce gestione di collezioni musicali di grandi dimensioni e inoltre, trattandosi di un linguaggio interpretato, fornisce il supporto per tutte le architetture.

Il pacchetto gmusicbrowser é disponibile sia negli archivi di Debian che in quelli di Ubuntu e fornisce l’ultima versione disponibile.

libmtp e il supporto per i lettori multimediali

libmtp é un’implementazione open source del protocollo Media Transfer Protocol di Microsoft, per l’esattezza la libreria fornisce un’implementazione per tutte le interfacce definite nella classe di servizi proposta per la standardizzazione, nota come MTP Basic.

Oltre ad ampliare il supporto a tali dispositivi di numerosi applicativi come Rhythmbox, Amarok, Banshee e Nautilus (il file manager di GNOME), libmtp fornisce anche dei programmi a riga di comando utili per comunicare direttamente con le periferiche: tali programmi sono disponibili nel pacchetto mtp-tools.

Per un elenco completo delle periferiche la cui compatibilità é stata testata, consultare questa pagina.

Concludo segnalandovi un evento:

Workshop su UbuntuStudio tenuto all'ex Mattatoio di Aprilia

Ebbene sì, ho tenuto un workshop su UbuntuStudio per un’associazione culturale di Aprilia ma non ho avuto modo di avvisarvi per tempo 🙁

Link