Le novita’ di Debian 8

Debian 8 Jessie

Debian 8 Jessie

Il 25 aprile 2015 è stato annunciato il rilascio di Debian 8 (alias Jessie), che e’ l’ultima versione di uno dei più noti ed apprezzati sistemi operativi basati su Linux. Questo rilascio, atteso da moltissimi utenti e da altrettante aziende, porta con sè alcune novità significative, frutto di un lavoro di sviluppo durato circa due anni, e culminato in un sistema operativo che sarà supportato fino al 2020.

In questo articolo vedremo le principali novità introdotte su Debian 8, di cui è possibile effettuare il download direttamente dal sito ufficiale del progetto.

Una distribuzione universale
Debian, ad oggi vanta una vasta gamma di pacchetti software (circa 43 mila), che consentono a chiunque di personalizzarla a proprio piacimento, in base al tipo di applicazione per cui questo sistema sarà utilizzato: dai server alle workstation, passando per il cloud, i mainframe o le board che implentano l’Internet of Things.

L’idea della distribuzione universale, adatta a tanti contesti, ha spinto negli anni la comunità open source a creare un gran numero di derivate (ed il caso più noto risponde al nome di Ubuntu). Il fatto che molti sistemi Linux si basino su Debian aumenta quindi l’importanza di ogni aggiornamento apportato a questa distribuzione in ogni rilascio, dal momento che ciò si ripercuote su tutte le sue derivate (ufficiali e non).

Il passaggio a systemd
La novità più significativa, che ha creato molti dibattiti accesi, introdotta con Debian 8, riguarda il passaggio definitivo a systemd quale sistema di init principale, sebbene sia possibile utilizzare sysvinit come alternativa. Tale scelta trova le sue motivazioni nella riduzione dei tempi di avvio ed arresto del sistema, sebbene non tutti gli utenti sembrano convinti di ciò. Inoltre, systemd non si occupa solo della fase di boot: in quanto gestore di sistema, esso incorpora anche la gestione di diverse altre funzioni (alimentazione, dispositivi, login, eccetera), con conseguenze che potrebbero comportare, ad esempio, la necessità di riavviare il sistema in caso di aggiornamento. Un problema significativo per una distribuzione server, dovuto proprio a systemd. Il problema piu’ grande sorge per via del fatto che oggettivamente, l’attuale sistema usato, SysVInit, è oggettivamente un sistema antiquato, con un elenco di noti difetti, il principale dei quali è sicuramente la grande lentezza derivante dall’approccio seriale all’avvio dei servizi. L’idea di sostituirlo con un prodotto più moderno e meglio ingegnerizzato è, quindi, tutt’altro che sbagliata.

Il problema reale è che systemd sta andando ben oltre questo encomiabile tentativo, ma sta fagocitando al suo interno tutta una serie di servizi che con la gestione dei processi e la creazione dello ‘spazio utente’ poco hanno a che fare. Approccio, questo, che viola radicalmente le logiche della filosofia Unix, che sono alla base non solo dei Linux che usiamo oggi, ma in larga parte di quella che è l’informatica moderna.

Va detto, però, che il passaggio a systemd era già in atto da tempo, e non soltanto sulle distribuzioni basate su Debian: anche Red Hat, Fedora e SUSE (per citare alcune grandi distribuzioni Linux) sono già passate a questo nuovo gestore.

Desktop e applicazioni
Dal punto di vista dell’interfaccia utente, il grande grado di personalizzazione offerto da Debian si traduce nella possibilità di scegliere il proprio desktop environment preferito tra un gran numero di possibilità. L’ultimo rilascio è infatti compatibile con GNOME 3.14, KDE Plasma 4.11.13, Xfce 4.10, MATE 1.8 e Cinnamon 2.2.16.

Ai sopra citati desktop environment si aggiungono anche diverse applicazioni, tra cui Iceweasel 31.6, GIMP 2.8.14 e LibreOffice 4.3.3 per la sfera desktop, Apache 2.4.10, Tomcat 7.0.56 e 8.0.14, MariaDB 10.0.16 e MySQL 5.5.42 per quella server, nonchè OpenJDK 7u75, PHP 5.6.7 e Python 2.7.9 e 3.4.2 per gli sviluppatori.

Altre novità
Per concludere ricordiamo che Debian 8 è basato sul kernel Linux 3.16.7, che garantisce la compatibilità con le più recenti tecnologie disponibili. È altresì interessante notare che, con il nuovo rilascio, viene garantito il supporto a ben dieci architetture diverse, tra cui x86, PowerPC, MIPS, ARM e diverse altre.

 

#DebianottoJessie

La Pivacy dei Processi

Privacy dei Processi

Privacy dei Processi

Nella maggior parte dei sistemi GNU/Linux e’ consentito ad ogni utente di visualizzare i processi in esecuzione nel dato momento (real time) sul computer, tutti i processi…, utilizzando tool quali htop, glances etc. Questo puo’ rappresentare pero’ un problema dal punto di vista della privacy, in particolar modo li dove i pc vengono utilizzati in modalita’ multiutente (come ad esempio i server) , visto che altri utenti potrebbero sapere, senza alcuno sforzo, quali programmi stiamo eseguendo, in qualsiasi momento.

Questo comportamento del sistema per fortuna puo’ essere modificato a patto pero’ di disporre di un kernel superiore alla versione 3.2 (per sapere qual’e’ la versione attualmente installata sulla vostra macchina utilizzate il comando ” uname -a ” ). Infatti da questa versione in avanti e’ presente una specifica opzione per il comando mount, da passargli quando viene attivato il file system virtuale /proc , che agisce proprio sulla visibilita’ dei vari processi.

L’opzione in questione si chiama hide-pid (ossia nascondi il pid) e puo’ assumerre tre valori
0, 1, e 2.
Il valore 0 imposta il comportamento normale di visualizzazione senza limiti,
Il valore rende impossibile l’accesso alle cartelle dei processi che non appartengono all’utente attualmente utilizzato,
Il valore definisce invece il livello piu’ restrittivo, quindi le cartelle dei processi altrui verranno nascoste e non si potra’ quindi ne accedervi, ne sapere nulla del loro contenuto compresa la loro esistenza.

Pera ttivare tale funzione bastera’ utilizzare il comando mount con il parametro aggiunto “hidepid” :

esempio

# sudo mount - o remount,rw,hidepid=2 /proc

…dopo aver dato invio ed inserita la password dell’amministratore di sistema, il livello di massima privacy sara’ stato impostato. Chiaramente per l’utente  root tali limitazioni non valgono.

Per rendere definitive le modifiche sopra testate si dovra’ editare il file /etc/fstab , ed aggiungere, nella riga relativa al file system /proc, l’opzione hidepid che meglio si adatta alle nostre esigenze.

 

#HidepidKernelPrivacy

Come controllare la rete dalla shell Linux

Monitoring dal Terminale

Monitoring dal Terminale

PREMESSA

Purtroppo rispetto a molte altre nazioni nel mondo e, nella stessa Europa, ci troviamo ad avere ancora delle connessioni ad Internet che, nella maggior parte del paese, sono a dir poco scandalose.

In precedenti articoli abbiamo provato a mettere un po’ di pepe al nostro pc lavorando sulla gestione della RAM oppure sulla modifica dei parametri del kernel tramite Sysctl, oppure accellerando la risoluzione degli indirizzi DNS tramite la creazione di un meccanismo di Cache usando, ad esempio, PDNSD.

Oggi vedremo come colmare quella parte di “monitoring” sulla velocita’ della nostra rete, presentando questo elenco di utilissimi tool, da riga di comando, che vi permetteranno di avere il polso della situazione in tempo reale. Troverete sicuramente quello che fa al caso vostro.

P.S. : I seguenti programmi sono tutti disponibili nei repository principali di Ubuntu, quindi per installarli bastera’ scrivere :

apt-get install nome del programma

NETWORK TOOL

IPTState : un’interfaccia simile a Top collegata alla vostra tabella connection-tracking di netfilter.
Utilizzando iptstate si può verificare in modo interattivo il traffico che attraversa il tuo firewall netfilter/iptables , ordinato per vari criteri, è possibile limitare la visualizzazione con vari criteri, ed e’ possibile cancellare gli stati dalla tabella.

Pktstat : visualizza un elenco in tempo reale delle connessioni attive viste su una interfaccia di rete, e quanta banda viene utilizzata. Parzialmente decodifica i protocolli HTTP e FTP per mostrare il nome del file che viene trasferito. Anche i nomi delle applicazioni X11 sono mostrate.

NetHogs : diversamente da altri, invece che “spacchettare” il traffico verso il “basso” per protocollo o per sottorete, come la maggior parte degli strumenti fanno, mostra la banda utilizzata dai vari programmi. NetHogs non si basa su un modulo del kernel speciale da caricare. Se c’è ad un tratto molto traffico di rete, si può lanciare subito NetHogs e vedere immediatamente quale PID è la causa. Questo rende facile individuare i programmi che sono impazziti e stanno improvvisamente prendendo tutta la vostra banda di rete.

IPTraf : un programma (storico) che raccoglie statistiche di rete per Linux. Anch’esso raccoglie una serie di dati come i pacchetti delle connessioni TCP e conteggio dei byte, le statistiche sulle interfaccie e gli indicatori di attività, dati TCP/UDP sul traffico, e traffico per LAN.

Bmon : bmon è un monitor di banda, destinato per il debug ed il monitoraggio real-time, in grado di recuperare le statistiche da vari tipi d’ingresso. Fornisce metodi di uscita vari tra cui un’interfaccia basata su librerie curses. L’insieme dei moduli per l’input sono specifici per ogni tipologia di architettura e prevedono un nucleo comune con l’elenco delle interfacce e dei loro contatori.

Il nucleo memorizza questi contatori e fornisce una stima della velocità ed una storia degli ultimi 60 secondi, minuti, ore e giorni ai moduli di uscita che li mostrano in base alla configurazione, durante l’esecuzione, è possibile selezionare l’interfaccia da controllare e premere il tasto “g” per vedere un grafico attivo come questo:

Speedometer : si tratta di un interessante progetto che permette di visualizzare e misurare la velocità dei dati attraverso una rete o dei dati che vengono memorizzati in un file,

Come potrete vedere, anche se si tratta di un tool basato sulla riga di comando, ha dei bei colori vivaci e altre cose che lo rendono uno strumento piuttosto user-friendly, ha la capacità di monitorare la velocità in tempo reale di download/upload delle connessioni di rete e può essere utilizzato anche per misurare la velocità di scrittura in un file system.

Nload : nload è un’applicazione da console che controlla il traffico di rete e l’utilizzo della larghezza di banda in tempo reale. Esso visualizza il traffico in entrata ed in uscita utilizzando due grafici e fornisce informazioni aggiuntive come quantità totale di dati trasferiti e min/max di utilizzo della rete.

 

La cosa migliore e’ sicuramente quella di testarli tutti, magari su macchine virtuali, per poter meglio decidere quali fanno esattamente al caso vostro.

 

#ControllalaRetedallaShell

Proxmox Virtual Environment

 

 

logo_proxmoxProxmox VE è un software open source, ottimizzato per le prestazioni e l’usabilità a cui viene aggiunta´ anche la massima flessibilità, grazie alla possibilita` di utilizzo di ben due tecnologie di virtualizzazione – KVM (per la Full Virtualization) e OpenVZ (per la Paravirtualization).

Proxmox VE si basa su Debian 5 e non necessita di particolari prerequisiti software. Dal punto di vista hardware richiede i 64 Bit e c’è una ampia lista di hardware ufficialmente supportato.

Con Proxmox VE possiamo migrare phisical machine (PM) su virtual machine (VM) oppure VM su altre VM, possiamo inoltre aggiungere degli storage e gestire il backup delle macchine virtuali. Il Cluster di Proxmox VE ci permette anche di migrare VM tra nodi e di amministrare da un’unica console centrale i vari nodi e, le VM distribuite nei vari nodi.

New Virtual Environment 3.3

Il 15 Settembre 2014 Proxmox Server Solutions ha annunciato l’uscita  della versione 3.3 di Proxmox Virtual Environment (VE).
Questa versione e` molto interessante poiche’ aggiunge diverse novita’ , in particolare questa versione ha come focus la sicurezza dell’infrastruttura virtuale, e introduce tra le altre cose il Proxmox Ve Firewall e la doppia autenticazione (two-factor authentication).
E’ stata  implementata inoltre una console in HTML5, un plug-in per lo storage ZFS e un’interfaccia ottimizzata per l’utilizzo con il mobile, ovvero la Mobile touch interface.

Ma vediamo nel dettaglio in cosa consistono le principali novità:

Proxmox VE Firewall
E’ stato progettato per proteggere l’ infrastruttura IT, ed è completamente integrato nell’interfaccia web, permettendo cosi’ all’utente di creare regole per gli host, i cluster e le singole macchine virtuali e containers.  Per semplificare la gestione sono state introdotte macro, security groups, settaggi per IP e aliases.
La configurazione del firewall viene salvata a livello di cluster e le regole sono valide e applicate per tutti i nodi che compongono il cluster, permettendo l’isolamento completo  delle singole macchine virtuali.
Questo fa si che, al contrario delle soluzioni firewall centralizzate, Proxmox VE Firewall è un po’ piu’ dispendioso in termini di banda ma evita allo stesso tempo i single point of failure.

Two-factor authentication
Questa nuova feature aggiunge un’ ulteriore livello di sicurezza, introducendo una seconda fase di autenticazione per l’accesso all’interfaccia web amministrativa di Proxmox VE.
In aggiunta all’ inserimento del classico nome utente / password, viene utilizzata una one-time password (OTP) che sarà richiesta per ogni nuova sessione di login. Una volta generata rimarrà valida per 30 min (valore di default, modificabile a piacimento).

HTML5 Console 
E’ la nuova console di default di Proxmox VE, multi piattaforma (Windows/Linux/Osx), utilizzabile anche su piattaforme mobile e, sostituisce l’installazione del plug-in Java e dello Spice viewer.

Proxmox
VE mobile

E’ una interfaccia touch progettata specificamente per l’uso su dispositivi mobili (cellulari e tablet). E ‘ un app realizzata in HTML5 (sviluppato con Sencha touch) e funziona su qualsiasi cellulare con un browser moderno.
Comprende molte funzionalità necessarie all’amministratore per la gestione da remoto dell’infrastruttura virtuale, compresa la console SPICE (Software per la gestione della connessione alla console della macchina virtuale), ma non è sostitutiva dell
a full admin console stessa.
Proxmox VE Mobile supporta anche la two-factor authentication con Yubykey con protocollo NFC.
Nota : per tutti coloro che fossero gia in possesso della versione 3.2 l’upgrade alla 3.3 si effettua con due semplici comandi :
NB : ( prima di aggiornare un host spegnere o migare tutte le vm/containers)

~root # apt-get update
~root # apt-get dist-upgrade

 

Se l’articolo ha stuzzicato la vostra curiosita’ e volete saperne ancora di piu’ potete visionare questo Video che illustra tutte le novita’ di cui sopra:

Proxmox VE Video

Docker – cosi’ cambia la virtualizzazione

docker_logoPREMESSA

Docker, inizialmente sviluppato per la piattaforma PaaS (Platform as a Service) di dotCloud, e’ oggi disponibile su Red Hat Fedora e sulla soluzione enterprise OpenShift. Grazie a questa tecnologia, la virtualizzazione passerà al livello applicativo, impacchettando quanto necessario per eseguire le applicazioni su differenti tipologie d’infrastrutture. Ecco quindi come si estendera’ il concetto del Linux Containers LXC , di cui abbiamo trattato in un prededente articolo (vedi link LXC).Docker è il nome di un nuovo ed impotante esempio di progetto, e di start-up, che ha stupito il mondo dell’open source ed ha attirato l’interesse finanziario, e non solo, di grandi gruppi del settore come Red Hat, e non solo.

Per chi non lo conoscesse, Docker è un progetto che automatizza il deployment delle applicazioni fra differenti piattaforme Linux based. L’obiettivo della piattaforma è quello di consentire la distribuzione e l’esecuzione agevole di un app su differenti tipologie di macchine, dotate di differenti sistemi operativi Linux, dai server virtuali, ai cloud-server presenti fra le nuvole private e pubbliche, fino ai bare-metal server, e fin’anche alle macchine fisiche.

Docker è stato inizialmente sviluppato per DotCloud la startup proprietaria di un’infrastruttura PaaS (Platform as a Service) multilingua.

Docker: ecco come funziona

Il funzionamento di base di Docker è alquanto semplice: il tool è capace di impacchettare un’applicazione e le sue dipendenze in un contenitore virtuale che può essere mandato in esecuzione su qualsiasi versione di Linux.Il risultato di questo processo è una maggiore flessibilità e portabilità delle applicazioni e l’opportunità di eseguirle ovunque senza alcuna problematica, dal proprio laptop, ai cloud server privati e pubblici, ai server virtuali fino ai server fisici.

Dockers non effettua la portabilità delle macchine virtuali o dei sistemi operativi, ma rende portabile il codice con cui l’applicazione è scritta, permettendo così una maggiore mobilità fra le macchine virtuali, anche nelle infrastrutture di cloud computing.

Dockers estende un formato comune di package già presente in Linux e noto come Linux Containers o LXC e Dockers per l’appunto utilizza il formato LXC, e le funzionalità kernel di Linux stesso, mentre lascia all’infrastruttura sottostante il compito di provvedere alle funzionalità del sistema operativo.

Docker sembra sposarsi perfettamente con OpenShift, con cui condivide alcuni aspetti tecnologici e architetturali fondamentali, come i namespace del kernel Linux e la gestione delle risorse tramite cGroups. Lo stesso Openshift, infatti, è costruito su Red Hat Enterprise Linux a già offre un sistema di “cartridge” basato sul formato LXC attraverso l’utilizzo delle Red Hat Enterprise Gears, che sara’ in grado di aumentarne l’usabilità e portabilità.

Il progetto Docker sta riscuotendo un alto livello d’ interesse anche fra i colossi del Web e dell’IT a tal punto che aziende del calibro di Microsoft, Red Hat (gia citata), IBM, Mesosphere, CoreOS, SaltStack e Google hanno iniziato a collaborare su un progetto open source pensato a Mountain View e conosciuto con il nome in codice Kubernets.

In pratica, Google e gli altri attori citati vogliono agevolare la gestione e l’uso dei contenitori Docker e Mountain View è fra le prime a sfruttare in modo massivo la tecnologia pensata da Docker all’interno dei suoi data center.

Insomma, per concludere, grazie ai signori di Docker passeremo presto ad un nuovo concetto di virtualizzazione, tutto ancora da scoprire, ma a vedere i nomi delle aziende che vogliono scommeterci , non resta che iniziare a prepararsi.

Bye