Facciamo spazio alla partizione di /boot

Kernel Old Remove

Kernel Old Remove

Oggi giorno molti utenti possono decidere di provare ugualmente l’esperienza Linux pur mantenendo di base il proprio sistema Windows principale, oppure per esigenze di lavoro avere due o anche piu’ sistemi operativi su di un unico PC; tutto cio’ grazie ai software opensource come, solo per citarne uno, VirtualBox.

Spesso pero’ alcune informazioni errate o una disattenzione in fase d’installazione oppure ancora l’utilizzo di immagini gia preparate, possono portarci a dover gestire partizioni piu’ piccole del dovuto, in particolare quando si parla della partizione di /boot, infatti in questa partizione sono presenti tutti i vari kernel scaricati durante gli aggiornamenti e a lungo andare, avendo questa cartella solitamente uno spazio limitato, si riempie e non permette più di aggiornare il sistema.

Puo’ dunque capitare che un bel giorno il sistema richieda d’installare l’ennesimo aggiornamento, dentro il quale ci potra’ essere un nuovo kernel ma, all’improvviso, vi arriva la segnalazione che l’operazione non e’ eseguibile poiche’ avete quasi esaurito lo spazio della partizione di /boot.

Cosa fare ?? Beh se siete gia skillati potreste decidere di espandere la partizione con vari software LVM etc, ma se siete alle prime armi e non volete rischiare di giocarvi il boot del vostro sistema forse opterete per questa soluzione che, se eseguita con la massima attenzione, vi portera’ nel giro di un paio di minuti a risolvere il problema, per lo meno fino alla prossima richiesta di spazio.

Per cominciare aprite il terminale ed eseguite questo comando

df -hT

Questo comando vi restituirà una lista completa di tutte le partizioni disponibili sul vostro computer con il relativo quantitativo di spazio libero.

/dev/sda1      ext2      236M  147M     77M  66% /boot

Come si può notare dal risultato anche se sono disponibili ingenti quantità di spazio in altre partizioni del sistema, nel mio caso la partizione di /boot risulta piena al 66% questo è dovuto ai vecchi kernel ancora presenti al suo interno quindi è bene procedere con l’eliminazione dei file obsoleti. Prima però accertatevi di quale kernel state utilizzando in questo momento attraverso il comando

uname -a

Questo vi mostrerà il kernel che state utilizzando.Ricordatevi di non eleliminare questo kernel né il penultimo per sicurezza.

Linux LVBU 4.2.0-23-generic

Adesso che sappiamo quale kernel stiamo utilizzando possiamo procedere con l’eliminazione dei kernel obsoleti.Utilizzando questo comando

dpkg --get-selections | grep linux-image;dpkg --get-selections | grep linux-headers

Vi apparirà una lista completa di tutti i vari aggiornamenti presenti nella cartella /boot

linux-image-4.2.0-21-generic install
linux-image-4.2.0-22-generic install
linux-image-4.2.0-23-generic install
linux-image-extra-4.2.0-21-generic install
linux-image-extra-4.2.0-22-generic install
linux-image-extra-4.2.0-23-generic install
linux-image-generic install
linux-headers-4.2.0-21 install
linux-headers-4.2.0-21-generic install
linux-headers-4.2.0-22 install
linux-headers-4.2.0-22-generic install
linux-headers-4.2.0-23 install
linux-headers-4.2.0-23-generic install
linux-headers-generic install

Come potete vedere nella cartella oltre all’ultimo kernel sono presenti altri file che possono essere obsoleti. State molto attenti a non eliminare il kernel visualizzato con il comando uname -a e il suo “predecessore”, entrambi si possono facilmente distinguere grazie al loro numero più elevato, ad esempio: nel mio caso il kernel più recente è linux-image-4.2.0-23-generic mentre il penultimo kernel è linux-image-4.2.0-22-generic.

Per eliminare i vecchi files basta utilizzare questo comando

sudo apt-get purge NOMEKERNEL
Esempio: sudo apt-get purge linux-image-4.2.0-21-generic

Una volta eseguito il comando inserite la vostra password come utente root e confermate, dopo qualche secondo questo kernel verrà rimosso

Dopo il termine dell’operazione potete controllare se effettivamente si è liberato dello spazio attraverso il comando citato in precedenza

df -hT

/dev/sda1      ext2      236M  101M    123M  46% /boot

come potete notare siamo passati dal 66% di spazio occupato ad avere il 46%

Una volta terminata la pulizia sarà possibile aggiornare senza problemi il vostro sistema avendo a disposizione quasi la totalità dello spazio della cartella /boot.

Come avete visto nella lista dei kernel, oltre al kernel generale ci sono, abbinati alla versione, anche i pacchetti  linux-image-extra-<versione.xxx> e linux-headers-<versione.xxx>, per non lasciare file inutili possiamo eliminare anche questi concatenandoli tutti in un’unico comando

Nel mo caso il comando verrebbe cosi:

sudo apt-get purge linux-image-4.2.0-21-generic linux-image-extra-4.2.0-21-generic linux-headers-4.2.0-21 linux-headers-4.2.0-21-generic

come potete osservare i numeri di versione sono tutti gli stessi. A questo punto dando nuovamente il comando per la ricerca delle versioni del kernel potrete notare nel mio caso che non ci sono piu’ file inerenti alla versione 4.2.0-21

dpkg --get-selections | grep linux-image;dpkg --get-selections | grep linux-headers

linux-image-4.2.0-22-generic install
linux-image-4.2.0-23-generic install
linux-image-extra-4.2.0-22-generic install
linux-image-extra-4.2.0-23-generic install
linux-image-generic install
linux-headers-4.2.0-22 install
linux-headers-4.2.0-22-generic install
linux-headers-4.2.0-23 install
linux-headers-4.2.0-23-generic install
linux-headers-generic install

Ora siete liberi di aggiornare il vostro kernel
#RecuperaspazioKernel

Navigare piu’ sicuri con una chiavetta Usb

Naviga sicuro - YubiKeys

Naviga sicuro – YubiKeys

Alle nostre password affidiamo ormai la sicurezza di tutti i nostri servizi online (social network, home banking, dischi virtuali con foto personali dati etc…) , tutto cio’ anche se siamo, in qualche modo, consapevoli della loro debolezza di fondo.
Immaginiamo seppur inconsapevolmente che, se qualcuno le dovesse rubare potrebbe avere accesso ai nostri, in totale liberta’, anonimato e senza alcun tipo di controllo.

Certo sappiamo che esiste gia un metodo, a oggi ampiamente diffuso, per proteggersi da questo scenario fin troppo comune e si chiama “autorizzazione a due fattori” (in gergo 2FA) o “verifica in due passaggi” . Questo si basa su un assunto molto semplice, ossia, per poter accedere a un servizio, l’utente deve conoscere qualcosa, ovvero la/le propria password (primo fattore), e possedere qualcosa, come un cellulare (secondo fattore). Ad oggi il sistema 2FA più diffuso, disponibile per le maggiori piattaforme, passa per l’invio di un codice speciale tramite SMS, da inserire in aggiunta alla password (vedi Gmail). Un procedimento noioso, che diventa inutile se per un qualche motivo non abbiamo a portata di mano il dispositivo autorizzato a ricevere il codice, oppure semplicemente abbiamo cambiato numero di cellulare e non abbiamo aggiornato il profilo (tragedia).

Sicurezza via USB
La svedese Yubico ci propone una soluzione diversa, infatti al sistema incentrato sullo smartphone, essa sostituisce con una pennina USB, da usare come secondo fattore. Il prodotto in questione si chiama Yubikey e ne esistono diversi modelli, distinti per caratteristiche e protocolli supportati. Il funzionamento è semplice, quando ci si collega ad un servizio online, come ad esempio Gmail, basta digitare la password e poi toccare la pennina inserita in una delle porte USB del computer. Il sistema remoto riconosce la presenza del dispositivo e consente l’accesso dell’utente. Alla base del procedimento c’è un protocollo open source, chiamato Fido U2F (Universal Two Factor), che la Yubico ha sviluppato in collaborazione con Google. Il protocollo e’ OPEN dunque, qualsiasi sviluppatore può abilitarlo per il proprio servizio online.

Le nostre prove hanno confermato la semplicità del procedimento di autenticazione ma, come sempre non e’ tutto oro cio che luccica, ed in questo caso c’è una complicazione da non sottovalutare ossia che, l’impostazione iniziale della Yubikey va fatta per ogni servizio, con procedure quasi mai identiche e spesso nascoste fra le mille opzioni specifiche per la singola piattaforma. Certamente nulla che non possa riuscire anche all’utente medio, magari con l’aiuto delle guide in linea di fornite dalla stessa Yubico, ma comunque un procedimento in più che potrebbe scoraggiare chi non utilizza la verifica in due passaggi per ragioni di pigrizia. Dovremmo pero’ ricordarci tutti che e’ proprio la pigrizia la componente preferita da chi vuole rubarci i dati.

Compatibilità e versioni disponibili
Fra i maggiori browser, Chrome di Google è attualmente l’unico che è compatibile nativamente con Yubikey (dalle versione 41 in poi). Per Safari e Firefox esistono dei plugin specifici da installare per attivare il supporto alle chiavine di Yubico. Quanto ai servizi online, la compatibilità è completa per Google, Dropbox e Salesforce. Per WordPress, la nota piattaforma di blogging, è disponibile un plugin di compatibilità. Niente da fare al momento per i servizi Apple: l’azienda ad oggi non ha mostrato alcuna intenzione di adottare il protocollo Fido U2F sviluppato da Yubico e Google.

La Yubikey Edge, che supporta FIDO U2F, costa 34€, Il modello superiore, Yubikey Neo, aggiunge la possibilità di abilitare la verifica in due passaggi anche tramite NFC su alcuni smartphone Android, costa 59€. Entrambe sono acquistabili online su Amazon Italia.

Ma qualcuno si stara’ chiedendo, “cosa succede nel caso la Yubikey venga smarrita o rubata ???”, beh! nessuna paura poiche’ si può accedere ai vari account tramite il sistema 2FA basato sull’invio di un codice SMS, che è comunque buona norma mantenere attivo, ed una volta entrati sarà possibile cancellare l’associazione con la chiavetta che non è più in nostro possesso. L’alternativa, come per le chiavi dell’auto, è possederne due (entrambe da autorizzare su tutti i servizi, però) e lasciarne una in un posto sicuro.

Speriamo che l’argomento di questo articolo, oltre ad avervi ato una buona alternativa nella gestione della vostra privacy, vi abbia anche fatto riflettere sull’importanza, sempre maggiore, di mantenere alti i livelli di sicurezza di vostri dati personali.

 

#NavigasicuroconYubikey

CoreOS nuova rivoluzione nel Cloud

CoreOS new Cloud System

CoreOS new Cloud System

Poco tempo fa ho pubblicato un breve articolo introduttivo riguardante CoreOS ed il suo uso nei DataCenter, ma in pratica cos’ha di così interessante CoreOS ? Lo sviluppatore di CoreOS, Alex Polvi, è partito da ChromeOS, il sistema operativo sviluppato da Google intorno al browser Chrome, per ottenerne molto di più.

Dunque, partendo da questo presupposto si potrebbe affermare che CoreOS e’ in definitava una distribuzione Linux pensata per gli ambienti server, ma a differenza dei prodotti Linux-based già riservati al settore server ed enterprise, CoreOS prevede solo il kernel di Linux ed il systemd, ossia il gestore dei processi per avviare i servizi essenziali all’inizializzazione del sistema.

In pratica questo sistema operativo è pensato per i clienti che devono avviare e gestire cluster di centinaia di server e si inserisce quindi come un server Linux per le distribuzioni ad alto volume di dati e di traffico (IaaS, PaaS, SaaS). In maniera molto semplicistica, potremmo dire che CoreOS impacchetta Internet in una singola postazione, permettendo di ospitare infrastrutture simili a quelle di Amazon e Google sul proprio computer, grazie alla potenza di questo sistema operativo altamente scalabile che portera’ non poco risparmio alle startup del mondo cloud computing.
CoreOS offre quindi l’infrastruttura necessaria a ospitare i componenti di qualsiasi applicazione Web e non è dotato di null’altro, se non dei bit sufficienti per eseguire i contenitori. A tale riguardo, come gestore dei contenitori, CoreOS utilizza Docker e, come già spiegato in precedenza, la scelta dei contenitori, a differenza della virtualizzazione, permette di gestire meglio le performance della macchina e di distribuire la medesima configurazione su differenti hardware.

CoreOS, inoltre, si rifà a ChromeOS per quanto riguarda la questione degli aggiornamenti, infatti il sistema operativo supporta gli aggiornamenti automatici in background e non crea problemi d’inconsistenza dati, in quanto funziona su due partizioni disco, attivate alternativamente uno alla volta, in questo caso la partizione inattiva potra’ essere aggiornata offline effettuado uno swap dei dischi seguito da un riavvio, in modo da poter procedere con gli aggiornamenti. Il riavvio potra’ richiedere da mezzo secondo a un secondo netto.

Infine, CoreOS utilizza una partizione di sola lettura per il filesystem e include il componente etcd come servizio distribuito di configurazione.

Nel prossimo articolo vedremo come funziona nella pratica, nel frattempo vi invito a dare un’occhiata al video qui riportato dal titolo parlante : “PlayStation: Developing Apps on CoreOS”

 

DMAIL – Questo messaggio si autodistruggera’

Dmail - Self Destruct E-Mail

Dmail – Self Destruct E-Mail

Per chiunque di voi sia un’appassionato di film di spionaggio la seguente frase e’ sempre stata un “must”
«Questo messaggio si autodistruggerà entro 10 minuti»
ma questa fantastica frase alla Mission Impossible era finora inapplicabile alle email che, una volta spedite, non potevano più essere richiamate.

Certo, sappiamo che Gmail ci consente di annullare l’invio di un messaggio entro 30 secondi dalla spedizione, ma il mezzo minuto messo a disposiione di certo non è sufficiente per rendersi conto di aver fatto un errore e bloccare l’inviodi quella email.

Adesso pero’ e’ arrivata Dmail, decisa a cambiare definitivamente tutto ciò che conoscevamo. In pratica si tratta di un’estensione per Chrome che è in grado di rendere illeggibile un’email precedentemente già inviata tramite Gmail, indipendentemente dal tempo trascorso dal suo invio.

Come funziona

Quando si spedisce un messaggio da Gmail utilizzando Dmail si può impostare un tempo massimo trascorso il quale il messaggio stesso diventerà illeggibile; oppure si potra’ decidere di revocare manualmente l’accesso all’email da parte del destinatario in un secondo tempo.
Tutto ciò è possibile perché Dmail crittografa l’email con un algoritmo a 256 bit prima di spedirla; il messaggio quindi viene salvato sui server di Dmail in forma crittografata e quindi illeggibile da chi non ha la chiave.

Il destinatario dell’email ricevera’ un link tramite il quale potra’ accedere al messaggio e una chiave che verra’ utilizzata automaticamente per decrittare il testo.

Se il destinatario utilizza anch’egli Dmail allora vedrà il messaggio apparire all’interno di Gmail, in maniera del tutto trasparente.

Trascorso il tempo impostato dal mittente, oppure se quest’ultimo decide di revocare l’accesso, da quel momento il destinatario non avrà più modo di leggere il messaggio.

Dmail è stato sviluppato da alcuni membri del team di Delicious e per ora funziona soltanto con Gmail; lo sviluppo è però tuttora in corso e tra gli obiettivi ci sono la compatibilità con altre piattaforme, una applicazione per iOS e una per Android, e la possibilità di cifrare anche i documenti allegati.

Alla fine, Dmail dovrebbe trasformarsi in un servizio freemium: le funzionalità di base saranno disponibili a tutti, mentre le opzioni avanzate saranno accessibili soltanto dopo il pagamento di una quota.

Installazione

L’installaione e’ davvero semplice in quanto, come abbiamo accennato si tratta di un’estensione per Gmail, dunque ci bastera’ puntare con il Browser a questo link : https://mail.delicious.com/
e selezionare in alto a destra la voce “Get the chrome extension”

Per essere sicuri che abbia funzionato potete entrare nei Settings/Extensions del Browser Chrome e verificare che, a fianco dell’icona di Dmail sia spuntata la voce Enable (attualmente la versione installabile e’ la 1.2.4).

Una volta ultimate le verifiche , collegandovi nuovamente, o effettuando nuovamente il login, alla vostra utenza di Gmail troverete, in alto di fianco al vostro nome, la voce relativa a Dmail.

Come usarlo

Per utilizzarlo, sarà sufficiente comporre un Nuovo Messaggio, attivare Dmail a fondo messaggio e impostare il Timer Destroy.

In questo modo, in caso non ci fidassimo del nostro interlocutore per quanto riguarda lo scambio di informazioni segrete e che non dovrebbero essere divulgate, non dovremmo essere più titubanti: sarà sufficiente avere Dmail attivo e impostare il Timer.

Nel momento in cui decidiamo di impostare il Timer e inviamo la mail, il nostro destinatario otterrà il messaggio da noi previsto che si autodistuggerà una volta scaduto il Timer.

Il servizio permette dunque al mittente del messaggio di posta di revocare al destinatario la possibilità di accedere allo stesso messaggio in qualsiasi momento successivo all’invio, ed inoltre è possibile impostare un timer per l’eliminazione automatica dell’email dopo un’ora, un giorno o una settimana.

La cosa più interessante è che Dmail funziona anche se il destinatario non utilizza l’estensione, questo perché il servizio non elimina i messaggi dalle caselle dei destinatari, ma cripta e decripta la posta su richiesta.

Insomma Dmail Secure and Destroy

 

#Dmailquestomessagiosiautodistruggera

MaxScale DB Proxy scalabile

 

MaxScale DB Proxy Server

MaxScale DB Proxy Server

Il suo nome per esteso e’ “MariaDB MaxScale” ed è il nuovo database proxy server open source sviluppato da MariaDB Corporation Ab.

In pratica  MaxScale ci permetta di avere database ad alte prestazioni, in grado di consentire la costruzione di architetture flessibili. Ecco nel dettaglio le sue caratteristiche e funzionalità principali.

 

Innanzitutto ricordiamo a tutti che, un proxy è un server che fa da intermediario in una connessione: riceve le richieste da un client e le reindirizza verso altri server che sono i destinatari delle richieste. In altre parole un proxy è un mezzo per deviare una connessione tra due computer in modo da non collegarli direttamente. Un proxy funziona, nella sua pratica, come un centralinista: riceve la chiamata da chi vuole telefonare e la gira all’interno desiderato.

MaxScale si può inserire in modo trasparente tra l’applicativo e il server MySQL, esattamente come fa un proxy web tra il nostro browser (es. Chrome) e il sito che stiamo cercando di visitare.

Grazie ad un proxy è possibile avere:

  • Ridondanza: usando più di un database dietro al proxy. Un solo server non fornisce l’affidabilità e l’alta disponibilità in caso di down di una macchina.
  • Diminuizione dei costi di infrastruttura: perché generalmente due server piccoli sono meno costosi che un unico server molto performante.

Vedremo ora due tipologie di database proxy server:

I proxy di livello trasporto come HAProxy
I proxy di livello applicativo come MaxScale

HAProxy: un proxy efficiente, rapido e funzionale

Fino ad oggi il proxy più usato in ambito MySQL è l’HAProxy che lavora ad un livello più basso (livello 4: trasporto). HAproxy non conosce nulla di MySQL e si occupa solo di bilanciare le connessioni tra più server. E’ molto veloce, leggero ed efficente, tuttavia questo bilanciamento è fatto senza conoscere cosa sta smistando. Questo rende il sistema meno efficente poiché un server può ricevere molte richieste pesanti, mentre altri server possono essere scarichi. Quindi l’HAProxy non è la scelta vincente in tutti i casi.

MaxScale: un proxy che può fare cose incredibili

MaxScale lavora a livello più alto (livello 7: applicativo), monitorando i server riesce a capire cosa sta succedendo all’interno dell’infrastruttura. Conoscendo il protocollo MySQL può intervenire manipolando il traffico tra client e server. Ecco alcune delle sue principali funzionalità:

  • Filtro delle query al database
  • Gestione del routing: instradamento delle richieste a uno o più database server
  • Modifica delle query al volo prima che raggiungano il database
  • Possibilità di nascondere la struttura interna dell’infrastruttura lasciando un singolo punto d’accesso.
  • Alta affidabilità e scalabilità del sistema
  • Possibilità di spostare un database dal server locale ad un server esterno senza modificare la configurazione delle applicazioni
  • Divide automaticamente le scritture sul server MasterR e le letture su uno o più database Slave.

MaxScale può fornire un Load Balacing delle connessioni senza bisogno di utilizzare applicazioni o CMS che prevedano questa funzionalità. Questo significa che CMS come WordPress o Joomla possono trarne dei benefici, usando una replicazione Master/Slave per rendere scalabile il proprio sito.

Caratteristiche di MaxScale

Il punto di forza di MaxScale è sicuramente la sua modularità che permette una notevole libertà adattandosi a molti casi d’uso, infatti MaxScale è:

  • Modulare: un sistema di moduli ne definisce le funzionalità
  • Estendibile: è possibile applicare più filtri anche in cascata
  • Flessibile: i moduli e i filtri possono essere aggiunti dinamicamente

I moduli base di MaxScale

Quelli elencati qui sotto sono i 5 moduli che costituiscono il cuore di MaxScale:

  • Protocol: da la possibilità di utilizzare più protocolli es. MySQL client, http, telnet
  • Authentication: il sistema di autenticazione permette ai client di accedere a MaxScale usando le credenziali presenti sui server di Backend
  • Monitor: legge la configurazione dello stato del sistema direttamente dai server di backend
  • Router: smista le connessioni a uno o più database di backend
  • Filter e logging: i filtri permettono di modificare le query oppure di scrivere un file di log con tutte le richieste e le risposte ricevute.

1. Protocollo di connessione
I client si connettono a MaxScale anziché al database MySQL senza accorgersi della differenza. Possono usare le stesse librerie di connessione utilizzate fino ad ora: es. MySQL client o MariaDB client.

2. Autenticazione
MaxScale non ha un sistema di autenticazione o un database di utenti. Vengono utilizzati gli stessi utenti presenti sui database di backend, caricati all’avvio dell’applicazione.

3. Monitor
Viene utilizzato per capire in ogni momento lo stato di tutti i database di backend collegati a MaxScale. In questo modo è possibile sapere qual’è il server Master e quanti Slave stanno replicando correttamentei dati.

4. Router
Dirige il traffico dal client ai server utilizzando una regola specifica:

  • Connection routing: normale router di connessione ad un database
  • Read/Write Split router: smista le richieste di scrittura sul Master e le richieste di lettura su uno degli Slave collegati

5. Filtri e log delle query
Tra i più potenti strumenti messi a disposizione di MaxScale ci sono sicuramente i filtri che permettono di effettuare operazioni avanzate sulle query senza modificare il comportamento dell’applicazione:

  • Processando query SQL e risultati
  • Utilizzando una semplice regex
  • Analizzando, modificando o rifiutando le query
  • Mettendo più filtri in cascata

Insomma, da questo primo articolo, si deduce che le potenzialita’ sono tutte a favore di MaxScale

 

#MaxscaledbproxyserverMysql