Clear Linux


Quanti di voi avevano mai sentito parlare di Clear Linux prima di qualche giorno fa?
Immagino pochi, ebbene Clear Linux o meglio Clear Linux * OS è una distribuzione GNU/Linux prodotta da Intel (il colosso delle CPU) che dà il suo meglio su CPU AMD. Grazie all’ottima gestione delle risorse è emerso che Clear Linux è in grado di offrire performance di calcolo migliori su sistemi AMD con molti core rispetto a quanto faccia Windows 10.

Dunque mi è venuta la curiosità di provare questa distribuzione, installandola anche su un virtual machine.

Desktop di ClearLinux, installabile come bundle ulteriore

Installazione di Clear Linux

Clear Linux richiede EFI, non funziona con il tradizionale BIOS, per cui è necessario possedere un PC con supporto ai 64 bit, EFI (UEFI) abilitato e almeno 2 GB di RAM. Probabilmente ogni PC o portatile prodotto negli ultimi 8 anni dovrebbe essere in grado di disporre tranquillamente di tali risorse.

Dopo aver scaricato la ISO e avviato la virtual machine è facile procedere all’installazione del sistema usando il comando clr-installer, così parte un installer alquanto spartano che ricorda molto i sistemi operativi della fine degli anni ’90, primi anni del nostro secolo 🙂

Muovendosi con le frecce o il tasto tab è possibile configurare la lingua, il layout della tastiera.

Le unice lingue disponibili sono l’inglese (statunitense), lo spagnolo (messicano) e il cinese mandarino; poca scelta.

Per fortuna è possibile scegliere almeno il layout della tastiera (it).

L’altra cosa importante è la selezione del disco dove installare il sistema operativo. Nel menù principale scegliere la voce “Configure installation media” e poi, se non ci sono esigenze particolari, direi di impostare “Safe installation”, ottimo compromesso per una virtual machine di prova.

Per poter installare il sistema bisogna aggiungere un utente (di tipo admin) e configurare anche la telemetria.

Nel menù con le impostazioni avanzate è possibile configurare una scheda di rete, utile per comunicare col modo esterno. Essa viene in automatico impostata in modo da accettare un indirizzo IP dinamico (tramite server DHCP), si può ovviamente dare un IP statico.

Scendendo in basso nel menù Avanzato, si può dare un hostname alla VM.

Poi è possibile installare già del software aggiuntivo, entrando nel menu “Select Additional Bundles”

Clear Linux per default imposta l’aggiornamento automatico del sistema. La cosa può essere cambiata in caso di necessità.

Ora procediamo con l’installazione vera e propria.

Terminata l’installazione e dopo il riavvio del sistema, Clear Linux parte con la sua interfaccia testuale.

Guida all’uso di Clear Linux

Abbiamo riscontrato la presenza di un kernel molto aggiornato, oggi è il 15 febbraio.

Questo perchè il sistema operativo Clear Linux è una distribuzione a rilascio continuo (rolling), ciò rende estremamente interessante la sua installazione su hardware molto recente. In fase di installazione era possibile scegliere anche un kernel più vecchio ma è preferibile affidarsi all’ultimo.

Il software per la gestione dell’avvio dei deamon (servizi) è systemd.

A livello di partizionamento, se si sceglie quello automatico predefinito, ci si troverà con un layout formato da 3 partizioni: una boot EFI (da 142 MB), swap (da 244 MB) e la partizione / con il restante spazio.

Per installare del software si può usare il comando swupd (abbreviazione di software update). A differenza di altre distribuzioni, Clear Linux non permette di installare in maniera semplice singoli pacchetti ma lo si può fare tramite flatpak es. per installare il gioco 0AD.

flatpak install flathub com.play0ad.zeroad 

Di suo, Clear Linux invece offre i cosiddetti bundle ossia un insieme di programmi e configurazioni per rendere un dato software o servizio funzionante.

Nel caso volessimo installare il web server Apache ci sono sufficienti 3 comandi:

sudo swupd bundle-add httpd
sudo systemctl enable httpd.service
sudo systemctl start httpd.service

Dove la prima riga permette di scaricare e configurare tutto il necessario per usare Apache. Le altre 2 servono per attivare il servizio.

Per poi, se si vuole, aggiunger anche PHP con un semplice:

sudo swupd bundle-add php-basic

Invece se si desidera installare un ambiente desktop (Gnome) si può installare il bundle desktop-autostart.

sudo swupd bundle-add desktop-autostart

Così, sarà installato Gnome e una serie di programmi tra cui Firefox, Gimp.

Conclusioni

Quest’articolo non vuole essere una guida a Clear Linux ma già con questi pochi elementi si evince come Clear Linux sia una distribuzione ideata per girare come piccolo sistema per virtual machine oppure come container nel quale installare software da combinare con altre tecnologie per scalare velocemente. Il fatto che sia molto aggiornata, consente di sfruttare i vantaggi delle nuove feature introdotte nel kernel e nei nuovi pacchetti.

Migrazione P2V di Ubuntu 16.04

In questo articolo vedremo come convertire un sistema Linux Ubuntu 16.04 server installato direttamente sull’hardware in una virtual machine che andrà a girare su un host VMware ESXi.

Tale conversione, ossia la migrazione da un sistema fisico ad uno virtuale, prende il nome di P2V (Physical to Virtual).

Un sistema Ubuntu 16.04 può essere facilmente spostato su un virtualizzatore in relativamente poco tempo: la migrazione del sistema può essere fatta con il server Ubuntu acceso fino al completamento della conversione. Poi il vecchio server Ubuntu può essere spento e la nuova virtual machine accesa in pochi minuti.

Non ci sono particolari vincoli o restizioni nella migrazione P2V. E’ conveniente però fermare eventuali database sul server Ubuntu e servizi non essenziali.

Oltre ad un host ESXi, con un datastore VMware con sufficiente spazio per ospitare la virtual machine, ci serve un PC sul quale installare VMware VCenter Converter Standalone.

VMware VCenter Converter Standalone può essere scaricato gratuitamente da qui: https://my.vmware.com/group/vmware/details?downloadGroup=CONV62&productId=701&rPId=20180#, in questo articolo si fa riferimento alla versione 6.2.0.1 di VMware VCenter Converter Standalone.

Note: se il vostro sistema Ubuntu ha un kernel molto aggiornato, installate l’ultima versione disponibile altrimenti potreste incappare in incompatibiltà.

Questo software può essere installato sia su Linux sia su Windows. E’ importante, per semplificare le cose, che il PC sia sulla stessa LAN oppure che abbia completa visibilità sia dell’host ESXi sia del server Ubuntu.

Lato Ubuntu, prima di partire bisogna predisporre di un account Linux. E’ possibile utilizzare l’account di root ma deve essere abilitato a collegarsi tramite SSH oppure si può usare un utente sudo purchè possa eseguire tutti i comandi di sudo senza dover inserire una password.

Per abilitare quest’ultima cosa è sufficiente aggiungere la seguente riga “username ALL=(ALL) NOPASSWD: ALL” dove username è il nome dell’utente sudo nel file /etc/sudoers; il tutto usando l’editor visudo.

$ sudo visudo

Fortunatamente tale riga può essere rimossa al termine della migrazione p2v.

Ora per migrare P2V il sistema Ubuntu 16.04, basta avviare VMware VCenter Converter Standalone e cliccare su “Convert machine”

Apparirà la prima finestra della procedura guidata che ci invita a selezionare Remote Linux machine dal primo menù a tendina.

Poi di indicare l’indirizzo IP oppure l’hostname del server Ubuntu 18.04 da virtualizzare, nonchè nome utente e password. Queste possono essere le credenziali di root oppure dell’utente sudo predisposto prima.

Viene chiesto di verificare che l’impronta del server Ubuntu sia quella che ci si aspetti, confermando con YES, è possibile andare oltre.

Se l’utente inserito è corretto, viene chiesto di immettere le informazioni necessarie per collegarsi all’host ESXi, è sufficiente inserire l’IP, un utente amministrativo come root e la sua password.

Viene chiesto di dare un nome alla virtual machine di destinazione, di default viene preso l’hostname del server Ubuntu. E’ possibile cambiarlo. Nell’inventory sono presenti tutte le VM che sono già ospitate sull’host ESXi.

Viene data la possibilità di selezionare un datastore: scegliamo il datastore con spazio adeguato alle dimensioni della virtual machine che sarà creata durante il P2V del server Ubuntu.

In seguito vengono mostrati i dettagli di come verranno fatte le VM. In particolare si nota che lo spazio che sarà occupato dalla virtual machine è di circa 5 GB. Queste informazioni possono essere accomodate alle proprie necessità, basta cliccare sulla voce Edit.

Andando avanti, mantenendo inalterate le impostazioni precedenti, avremmo comunque un riepilogo dopo il quale partirà il job di P2V di Ubuntu.

Inizialmente la stima può essere anche molto maggiore del tempo effettivamente necessario; la prima parte prevedere la creazione della virtual machine nuova sull’host e poi parte la migrazione di Ubuntu.

Durante la migrazione possiamo vedere come vengono aggiornati dei log.

Nella fase di conversione della macchina fisica a virtuale, sul server Ubuntu di origine vengono lanciati dei comandi di copia e processi ssh: tar e sshd.

Al termine dell’operazione di P2V è possibile spegnere il server fisico e accendere la virtual machine. Ricordiamoci di rimuovere, se l’abbiamo aggiunta, la riga nel file sudoers.

Ecco il sistema, su virtual machine, funzionante!

Risoluzione errori

Unable to query the live Linux source machine. Make sure that you can run sudo without entering a password when logged in to the source machine over SSH as ‘vale’.

L’utente vale, benchè abbia diritti di sudo, richiede la password via SSH. Disabilitarla inserendo la riga “vale ALL=(ALL) NOPASSWD: ALL” nel file sudoers.

FAILED: An error occurred during the conversion: ‘GrubInstaller::InstallGrub: /usr/lib/vmware-converter/installGrub.sh failed with return code: 127, and message: FATAL: kernel too old Error running vmware-updateGrub.sh through chroot into /mnt/p2v-src-root Command:
chroot “/mnt/p2v-src-root” /vmware-updateGrub.sh “GRUB2” “(hd0)” “(hd0,1)” /vmware-device.map “grub2-install” ‘

Questo errore compare attorno al 97-98% della fase di conversione della virtual machine e ciò è dovuto a una combinazione di kernel/grub non correttamente riconosciuta da VMware Converter, in questo caso Ubuntu 18.04. Questo errore per esempio si verifica con la combinazione Grub 2.02-2ubuntu8.14 e Linux 4.15.0-74-generic. Al momento non è risolvibile e Ubuntu 18.04 non funziona con questa versione di Converter.

Kernel Panic – not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

Kernel panic della VM Ubuntu 16.04

Al primo avvio (e ai successivi) la VM virtualizzata Ubuntu 16.04 continua ad andare in kernel panic. Per risolvere il problema, collegare il DVD/iso alla VM e avviare in modalità ripristino, ossia scegliendo la voce “Ripristina un sistema danneggiato”.

Se Ubuntu 16.04 era stato installato con le impostazioni di default (LVM) selezionare il filesystem di root che corrisponde al logical volume che termina con la parola root.

Inserire i comandi che compaioni sotto:

update-initramfs -u
update-grub
exit

Dopo exit, scegliere di riavviare il sistema.

Rimuovere il DVD/iso e avviare la virtual machine. Ora dovrebbe essere possibile collegarsi ad Ubuntu.

Canonical Livepatch patch di sicurezza senza riavvio

Bentornati nel nuovo episodio della saga relativa al patching del kernel Linux senza la necessità di riavviare il sistema per applicare gli aggiornamenti. In questo episodio vedremo Canonical Livepatch ossia la soluzione ideata per Ubuntu che, a differenza delle altre, è gratuita fino a 3 sistemi Ubuntu.

Il fatto che essa sia gratuita permette, a chiunque possieda un computer con Ubuntu o un server con Ubuntu, di usare la tecnologia al prezzo di un’iscrizione sul sito di Canonical.

Come Kernelcare, Livepatch applica solo patch di sicurezza e non di funzionalità, queste ultime vanno installate tramite la solita procedura (es. apt upgrade) e riavvio del sistema.

Livepatch è installabile a partire da Ubuntu 14.04 fino all’ultima versione. In questo tutorial installeremo Livepatch su un server con Ubuntu 18.04 Bionic Beaver.

Per ottenere una chiave di attivazione di Livepatch basta collegarsi al sito https://ubuntu.com/livepatch, registrarsi e ottenere il proprio codice.

La prima cosa da fare sul sistema, invece, è aggiornare i metadati dei pacchetti e installare le patch del sistema.

sudo apt update && sudo apt upgrade

Poi è necessario installare snap (snapd):

sudo apt install snapd

Quindi è possibile procedere con la semplicissima installazione del pacchetto canonical-livepatch come mostrato dalla guida e poi l’abilitazione con la chiave.

sudo snap install canonical-livepatch
sudo canonical-livepatch enable afd6b**********************

Lanciato il comando di attivazione comparirà un token identificativo.

Prima di applicare le patch di sicurezza del kernel si può utilizzare il comando per capire lo stato del sistema:

sudo canonical-livepatch status

Che può restituire un output simile:

Nello screenshot precedente, si nota come il kernel instalato sia 4.15.0-72.81-generic mentre il patchState è nothing-to-apply, il che significa che il nostro kernel è già all’ultima versione con le ultime patch di sicurezza disponibili.

Ogni volta che ci colleghiamo al server, è possibile vedere nel banner iniziale alcune statistiche relative a Livepatch, che in questo caso ricordano che Livepatch è abilitato e le patch sono tutte applicate.

In questo altro sistema dopo aver installato Livepatch, abbiamo riscontrato che ci sono delle patch di sicurezza del kernel da applicare.

Solitamente per applicare le patch non bisogna fare nulla, perchè si arrangia il deamon canonical-livepatchd ad installare le patch in autonomia, in alternativa è sufficiente lanciare il seguente comando:

sudo canonical-livepatch refresh

Tuttavia nel caso dello screenshot è necessario procedere all’installazione di un nuovo kernel: non tramite livepatch ma tramite il solito dist-upgrade o apt upgrade (e riavvio). Questo perchè il patchState è kernel-upgrade-required, come si può notare nello screenshot sopra.

sudo apt update
sudo apt dist-upgrade
sudo reboot

Invece nel caso sotto proposto, Livepatch ha applicato automaticamente delle patch di sicurezza:

Garantire la ricezione delle e-mail

Nel precedente articolo abbiamo visto come creare un server di posta utilizzando lo script di Mail-in-a-Box, che permette la configurazione di un ambiente praticamente chiavi in mano.

Una volta creato un account di posta, come quello di rosa@pyroplastic.stream si possono ricevere messaggi di posta elettronica da tutti i provider: gmail.com, outlook/hotmail, yahoo… Tuttavia, non è detto che i nostri messaggi vengano recapitati con successo, questo perchè il nostro server di posta potrebbe non essere stato configurato secondo le specifiche anti-spam di gmail.com, Outlook/Hotmail, Yahoo.

Come possiamo vedere nello screenshot sotto, il messaggio di posta inviato da Rosa è finito nella cartella dello Spam di Yahoo Mail.

Stessa cosa per una mail inviata ad un account Hotmail.

In questo articolo vedremo con assicurarci che le mail spedite dal nostro server mail vengano effettivamente recapitate nella posta in arrivo.

Verifica blacklist

La prima cosa da verificare in generale è che l’ip del proprio mail server non sia in una blacklist ossia che la reputazione dell’IP o dell’host non sia invalidata da precedenti invii di spam. Questo capita se l’IP è dinamico o se il nostro server mail in passato è stato oggetto di spam. Per controllare se l’IP è stato bandito si può ricorrere a questo tool gratuito: https://mxtoolbox.com/blacklists.aspx

Se è in blacklist, si può richiedere la rimozione ai vari mantenitori delle liste e attendere 12-24 ore affinchè l’esclusione dalle lista sia effettiva per tutti.

Invece. se il nostro IP o host non è in una blacklist ma le mail non vengono recapitate con successo, tipicamente il secondo motivo per cui il messaggio finisce nella cartella SPAM, è la mancanza della configurazione SPF.

Record SPF

SPF, Sender Policy Framework, è un sistema di validazione delle email ideato per individuare tentativi di invio di email con indirizzo mittente contraffatto.

Verificando nelle intestazioni del messaggio, infatti appare spf=softfail

SPF è in pratica una sorta di record DNS di tipo TXT da aggiungere fra i record DNS del dominio di posta. Nel nostro caso aggiungeremo:

pyroplastic.stream.  IN TXT "v=spf1 mx a ip4:176.x.x.99 a:posta.pyroplastic.stream"

Dove 176.x.x.99 è l’indirizzo IP del nostro mail server e posta.pyroplastic.stream è il suo hostname.

Questo tipo di configurazione va bene solo nel caso non vi siano altri mail server autorizzati ad inviare mail per il dominio @pyroplastic.stream. Infatti con questo record SPF, dichiareremo che le uniche mail genuine provengono o da 176.x.x.99 o da posta.pyroplastic.stream.

Potete aiutarvi a generare il vostro record SPF, tramite il tool gratuito online: https://www.spfwizard.net/

Aggiunta dkim

Abbiamo provato a mandare un messaggio dall’account di Rosa verso Hotmail e Yahoo, ma ancora finisce nello spam. Tuttavia a questo punto mezza configurazione è ok in quanto SPF=pass. Rimane da sistemare dkim. DKIM non è obbligatorio, ma aumenta la probabilità di non avere problemi in caso in cui qualcuno inizi a utilizzare senza il nostro consenso i nostri account (Mail spoofing).

Per creare la configurazione dkim, basta andare sul pannello di controllo di Mail-in-a-Box, sezione System, voce Extenal DNS.

Scorrendo verso il fondo della pagina troveremo i nostri valori da inserire nuovamente nel DNS.

Quindi dobbiamo creare un record mail._domainkey di tipo TXT contenente il valore v=DMIK1; h=sha….

Aggiunta record _dmarc

L’altro record che si può inserire è DMARC, che è l’acronimo di Domain-based Message Authentication, Reporting & Conformance.

Per usare questa tecnologia, va creato un record di tipo TXT chiamato _dmarc, il cui valore contiene questi valori:

v=DMARC1; p=none; rua=mailto:dmarcreport@pyroplastic.stream

Dove dmarcreport@pyroplastic.stream è un indirizzo di posta al quale recapitare eventuali report in cui sono elencate le statistiche di chi ha inviato mail con il proprio dominio. E’ un campo necessario quindi, inseriamo un indirizzo mail creato ad-hoc.

Esempio di report/statistiche inviato da gmail.

Invece il valore p=none serve per dire di non fare nulla in caso arrivino messaggi che non corrispondano alle direttive imposte con dkim o spf.

Attivazione reverse DNS (o record PTR)

Questa funzione permette di assegnare un nome univoco all’indirizzo IP del vostro mail server. Tuttavia non è strettamente necessario, ma migliorare le probabilità di recapito. Il reverse DNS (chiamato anche record PTR o rDNS) solitamente va impostato da chi vi fornisce il server di posta. Come valore va inserito il nome del server mail: nel nostro caso, posta.pyroplastic.stream.

Epilogo

Dopo aver fatto tutte queste modifiche e aspettato circa 24 ore, abbiamo provato nuovamente ad inviare un messaggio di posta. Questa volta l’email è stata recapitata correttamente nell’inbox (posta in arrivo) dell’utente destinatario.

Facciamo un breve riassunto dei controlli da fare quando le mail non vengono recapitate nella casella di posta in arrivo:

  • Verificare la non presenza nelle blacklist dell’IP o host del mail server
  • Creare il record SPF
  • Creare il “record” DKIM (opzionale)
  • Creare il record _dmarc (opzionale)
  • Aggiungere il reverse DNS (opzionale)
  • Attendere 24 ore dopo aver modificato i DNS.

Creare un proprio server di posta elettronica

Google con GMAIL, Microsoft con Hotmail/Outlook forniscono account di posta elettronica gratuita ma le mail vengono analizzate e utilizzate a fini di marketing.
Se desiderassimo mantenere le nostre mail fuori da questi giri, come è possibile fare?
Potremmo optare per una soluzione casalinga o privata.

Non è una cosa comune costruirsi un mail server, ma con un po’ di conoscenze è possibile predisporre un ambiente funzionale per gestire il flusso mail di qualche utente ad un costo contenuto.

Se si disporre di un indirizzo IP fisso per la propria linea Internet, si può ospitare il server di posta a casa, altrimenti con una decina di euro al mese (o anche meno) si possono acquistare dei VPS (virtual private server) sui quali predisporre il nostro server di posta.
Nel nostro caso optiamo per un VPS con Ubuntu 18.04, che offre aggiornamenti di sicurezza per parecchi anni.

Come risorse disponibili è sufficiente 1 GB di RAM e 1 CPU, anche un Raspberry Pi va bene. Invece per lo spazio disco, beh…Questo dipende dalle vostre necessità: calcolando che circa 5 GB di spazio disco sono necessari per il sistema operativo, altri 10 GB sono sufficienti se si usa una politica di svecchiamento delle vecchie mail e degli allegati, in un ambiente con 7-8 account mail attivi.

E’ possibile acquistare una VPS a 11,80 euro l’anno con 1536 MB di RAM e 10 GB di disco su AlexHost.com, scegliendo il piano PROMO KVM VDS 0.99/mo con pagamento annuale. In alternativa con circa 44 euro l’anno, si può avere una VPS su OVH VPS 2018 SSD 1 da 2 GB di RAM e 20 GB di disco.

Acquistata il VPS oppure predisposto il nostro server casalingo, si può installare l’ecosistema posta elettronica con uno script predisposto di mailinabox.email che fa uso di certificati TLS Let’s Encrypt, gratuiti.

Lo script prevede che sul server che andremmo ad usare non ci siano altri software (es. Apache) o servizi installati se non quelli previsti dall’installazione mimimal di Ubuntu 18.04, perchè mailinabox andrà ad installare Nginx e altri componenti come Postfix, Dovecot e Nextcloud.

La prima cosa da fare è assegnare un hostname appropriato al server. Se andremmo a creare un account di posta come @pyroplastic.stream, potremmo decidere di chiamare il nostro server posta.pyroplastic.stream.

Il nome del mail server deve essere risolvibile dai nostri DNS e da quelli su Internet; per assegnare un hostname definitivo e permanente occorre inserire tale nome nel file /etc/HOSTNAME

sudo echo posta.pyroplastic.stream > /etc/hostname

Verifichiamo tramite il comando hostname che il nome del server sia corretto.

hostname
hostname --fqdn

Aggiorniamo il server con gli ultimi pacchetti disponibili:

sudo apt update && sudo apt upgrade

Poi riavviamo il server, in modo che il kernel e altri software possano girare all’ultima versione.

Successivamente si può lanciare lo scaricamento dello script e la conseguente installazione:

wget https://mailinabox.email/setup.sh
sudo bash setup.sh

Lo script ad un certo punto inizierà a mostrare delle schermate in cui vengono chieste alcune informazioni:

Ora è possibile aggiungere il primo account di posta da attivare sul nuovo mail server. Questo account sarà necessario per accedere anche alla console di gestione.

Nella successiva schermata, viene chiesto di inserire l’hostname del proprio server:

Se si è presa una VPS su Internet, può essere che venga chiesto quale è l’indirizzo IP pubblico del server, solitamente il campo è precompilato già in maniera corretta.

Viene chiesto di impostare il fuso orario (time zone), basta scegliere Europe e poi Rome.

Durante l’installazione, è possibile vedere quale indirizzo IP viene assegnato al server. In questo caso, il server è posto in una rete privata (casalinga) con un indirizzo pubblico associato (indirizzo di NAT).

Invece se il server ha già un suo indirizzo pubblico, viene mostrato solo questo:

Viene chiesto di fornire una password per il proprio account, da usare anche per fare login sul pannello di controllo.

Una volta terminata la configurazione è possibile collegarsi alla console di gestione tramite la pagina web https://posta.pyroplastic.stream/admin, dove posta.pyroplastic.stream è il nome del nostro mail server.

Colleghiamaoci al pannello di gestione di Mail-in-a-Box:

Per aggiungere un nuovo account di posta, basta andare nella sezione mail poi users

Aggiungiamo un account, es. rosa:

Aggiunto l’utente, possiamo entrare nella sua webmail (roundcube) su https://posta.pyroplastic.stream/mail/

Oltre alla webmail è possibile configurare l’account anche su un mail client come Thunderbird.

I valori da usare sono questi (ovviamente posta.pyroplastic.stream va cambiato col vostro hostname):

OpzioneValore
ProtocoloIMAP
Mail serverposta.pyroplastic.stream
IMAP Port993
IMAP SecuritySSL or TLS
SMTP Port587
SMTP Security STARTTLS (“always” or “required”, se richiesto)
Username:L’intero indirizzo mail es. rosa@pyroplastic.stream
Password:La password dell’utente

Configurare un certificato TLS

Per configurare un certificato TLS (SSL) si può usare Let’s Encrypt. Basta andare nel meù System, TLS (SSL) Certificates.

Cliccando sul pulsante Provision, sarà possibile attivare il certificato.

Dopo pochi secondi compare una schermata che segnala che il certificato è ok. Il certificato ha una durata di 89 giorni, ma sarà rinnovato automaticamente in futuro.

Accedere a Nextcloud

Mail-in-a-Box, oltre a predisporre un server di posta elettronica, installa anche NextCloud uno software che consente di tenere aggiornati i propri contatti oppure di caricare i file personali sul server come se fosse Dropbox o Owncloud.

Per accedere al proprio NextCloud basta puntare all’indirizzo: https://posta.pyroplastic.stream/cloud/ e fare login con le stesse credenziali dell’account di posta: es. rosa@pyroplastic.stream

Questo server mail è ospitato su AlexHost.com, in particolare abbiamo scelto il PROMO KVM VDS 0.99/mo, che consente di avere una VPS con 1536MB RAM e 10 GB di spazio disco ad un prezzo contenuto.

KernelCare – kernel security patching rebootless

Secondo appuntamento con le soluzioni per l’applicazione delle patch per il kernel Linux senza necessità di reboot.

Dopo Ksplice di Oracle, in questo episodio presenteremo KernelCare, la tecnologia di CloudLinux, disponibile per svariate distribuzioni ad un costo accessibile (molto più economico di Ksplice). Una licenza per un singolo server costa 45 dollari all’anno.

KernelCare, al momento, è disponibile per:

  • Red hat Entreprise Linux/CentOS 6 e 7,
  • Oracle Linux UEK 6 e 7,
  • Debian 8 e 9,
  • Amazon (Linux) 1 e 2,
  • Ubuntu 14.04, 16.04, 18.04.

Mancano per ora la versione 8 di RHEL/CentOS/Oracle Linux e le ultime Debian e Ubuntu.

Per ottenere KernelCare è sufficiente scaricare lo script di installazione di KernelCare e lasciarlo tramite bash:

curl -s https://repo.cloudlinux.com/kernelcare/kernelcare_install.sh | bash

Poi è necessario registrarsi sul sito, tramite il quale è possibile ottenere una chiave temporanea, valida per 30 giorni, con la quale attivare il periodo di prova di KernelCare.
La chiave di attivazione viene inviata via e-mail all’indirizzo di registrazione.

Dopo aver ottenuto la chiave è sufficiente lanciare questo comando, seguito dalla chiave (asteriscata):

kcarectl --register a***************o

Dopo aver registrato la propria licenza del software, si può procedere all’installazione delle patch con il comando:

kcarectl --update

Il risultato del comando dovrebbe essere “Kernel is safe”.

Prima di lanciare l’update delle patch, e dopo.

Per avere informazioni circa il “punto” (level) di patching si può usare il comando:

kcarectl --uname

Questo è necessario perchè il classico uname non restituisce variazioni. Neppure dopo il riavvio del sistema.

Infatti è bene precisare che Kernelcare, rispetto ad altre soluzioni come Kspice, applica le patch di sicurezza (solo sicurezza, no funzionalità) al kernel attivo sul sistema mentre per installare realmente un kernel nuovo è necessario farlo con metodi tradizionali (yum update o apt upgrade); questo significa che se installate solo le patch di Kernelcare al riavvio del sistema vi troverete lo stesso kernel con le patch Kernelcare, non un kernel nuovo.

Kernelcare di default installa automaticamente le patch di sicurezza ogni 4 ore per cui se desiderate disattivare tale funzionalità, potete ricorrere alla modifica del file /etc/sysconfig/kcare/kcare.conf trasformando AUTO_UPDATE=True in AUTO_UPDATE=False

Aggiornamento del kernel senza riavviare con Ksplice

L’avevamo promesso in un precedente articolo: avremmo trattato i diversi sistemi per aggiornare il kernel Linux senza la necessità di fare reboot per attivare le patch. In questo articolo vederemmo la tecnologia Ksplice messa a disposizione di Oracle Enterprise Linux (OEL), Red Hat EL, CentOS, Debian e Ubuntu.

Nella versione desktop, ossia Ksplice Desktop, è gratuito (previa registrazione mail) ed è installabile su Ubuntu 19.10, 19.04, 18.04 e 16.04 e anche su Fedora 29; questo il sito https://ksplice.oracle.com/try/desktop dove scaricare la versione desktop.

In alcuni casi, Ksplice non solo consente l’aggiornamento del kernel del pinguino ma anche di glibc e openssl (queste ultime due solo su Oracle Enterprise Linux 6 e 7, per il momento).

La tecnologia di Oracle Linux, Ksplice (per server) non è gratuita ma è possibile provarla per 30 giorni, registrandosi sul sito di Oracle, accettando il Ksplice Uptrack Subscription Agreement.

Dopo aver accettato l’accordo, viene mostrata una pagina con il codice da usare per l’attivazione di Ksplice.

La cosa è alquanto semplice, basta copiare le prime tre righe di codice sul proprio server Oracle Linux.

wget -N https://www.ksplice.com/uptrack/install-uptrack
sh install-uptrack fbf***********************456

Per installare gli aggiornamenti, è sufficiente usare il comando:

uptrack-upgrade -y

Al termine dell’installazione, avremo una nuova versione del kernel installata.

Il tutto è tremendamente semplice.

Ricordiamo che l’aggiornamento del kernel, non viene riportato dal comando uname, che continuerà a riportare il vecchio kernel come attivo. Utilizzare il comando uptrack-uname per visualizzare la versione effettiva del kernel:

# uptrack-uname -a

Migliorare il riconoscimento virus con ClamAV

ClamAV è l’antivirus open source più popolare. Sebbene per GNU/Linux sia efficace nel relevare malware se lo usiamo su sistemi Windows, è facile imbattersi in parecchi falsi positivi, anche alcuni file di sistema firmati Microsoft vengono rilevati come tali.

Rimuovere un file di sistema lecito, può portare a seri problemi, quindi per migliorare il rilevamento su più piattaforme si possono integrare le normali firme (signature) con quelle messe a disposizione gratuitamente da securiteinfo.com

Non solo Windows ne beneficierà ma e avete un mail server, queste signature possono migliorare la rilevazione di malware trasmesso via posta elettronica.

Integrare le signature con ClamAV oppure ClamWin è semplicissimo, basta andare sul sito https://www.securiteinfo.com/clients/customers/signup e registrarsi.

Una volta ricevuta la password d’accesso al sito, entrare nel pannello di controllo nel menù SETUP e copiare il testo.

Queste righe vanno incollate in fondo al file /etc/clamav/freshclam.conf.

Poi è sufficiente riavviare il deamon freshclam (e clamav se lo si desidera) con il comando:

systemctl restart clamav-freshclam.service
systemctl restart clamav-daemon.service

Se si utilizza la versione gratuita delle signature di securiteinfo.com si può sincronizzare le firme al massimo 24 volte al giorno da un solo indirizzo IP. Per questo motivo è importante assicurarsi che nel file della configurazione freshclam.conf non siano impostati più di 24 aggiornamenti quotidiani.

La riga che va ricercata nel file è Checks e tale riga deve avere un valore uguale o inferiore a 24:

# Check for new database 24 times a day
Checks 24

La versione a pagamento consente di avere, rispetto alla versione free, le firme dei malware per attachi 0-day, la possibilità di scaricare da diversi indirizzi IP e nessun limite circa la velocità massima di download delle firme. Soluzione ideale per chi vuole usare ClamAV a casa o tramite connessioni differenti per cui si ottene un indirizzo IP volatile, prezzo a partire da 29,99 Euro.

Creare un server VPN in 10 minuti

Ci sono diversi motivi per cui possa essere conveniente e utile l’uso di una VPN.
Questi vanno dalla possibilità di mascherare il proprio indirizzo IP di casa alla possibilità di evitare le restrizioni regionali per siti come Netflix e Hulu oppure semplicemente il desiderio di avere un po’ più di privacy sul web.
Le VPN pubbliche non possono sempre essere affidabili e quelle più serie sono costose per questo la creazione del proprio server VPN è l’unico modo per coniugare i benefici di una VPN con una spesa limitata.
La buona notizia è che non è così difficile configurare un server VPN in modo rapido e può essere fatto in pochi semplici passaggi.

La prima cosa da fare è acquistare un server virtuale (VPS) a basso costo con un indirizzo IP o locazione del server in base alle tue esigenze. Ossia se necessiti di avere un indirizzo IP americano, devi comperare una VPS negli Stati Uniti.
Come sistema operativo della VPS va bene sia Debian 9 sia Centos 7. Sono sufficienti 512 MB di RAM. Attenzione alla banda perchè se la VPN verrà usata per vedere video, è facile consumare parecchio traffico.

Alcuni provider richiedono l’attivazione espicita dell’interfaccia TUN/TAP dal pannello di controllo. Quindi occorre collegarsi al pannello di controllo e nelle impostazioni, mettere TUN/TAP On.

Una volta ordinato il tuo VPS, dovrai accedere tramite SSH e quindi eseguire alcuni comandi rapidi. Se non sai come accedere al tuo server, ecco un tutorial per Windows (Come usare PuTTY).

Una volta collegato alla VPS, eseguire il seguente comando:

wget https://git.io/vpn -O install-openvpn.sh 
bash install-openvpn.sh

Verrà presentata la seguente schermata:

Welcome to this OpenVPN “road warrior” installer!
Devo farti alcune domande prima di iniziare l’installazione

In genere puoi lasciare le opzioni predefinite e premere Invio, in modo da accettare le risposte precompilate.

Quale protocollo vuoi per le connessioni OpenVPN?
1) UDP (consigliato)
2) TCP
Protocollo [1-2]: 1

Immettere “1” (se non è già stato inserito) e premere nuovamente “Invio”.

Quale porta vuoi che OpenVPN ascolti?
Porta: 1194

Qui è possibile inserire “1194” (se non è già stato inserito) e premere nuovamente “Invio”.

Quale DNS vuoi usare con la VPN?
1) resolver di sistema attuali
2) 1.1.1.1
3) Google

4) OpenDNS
5) Verisign

Quindi, scegliere “1” e premere “Invio”.
Infine, dimmi il tuo nome per il certificato client

E’ consigliabile inserire un nome composto da una singola parola senza caratteri speciali es. client o il nome dell’hostname.
L’installazione potrebbe richiedere qualche istante, quindi da lì verrà configurato il server VPN.

Durante questa fase è possibile che vengano scaricati dei pacchetti aggiuntivi che mancano. Per esempio nel caso di CentOS 7, viene abilitato il repository epel e scaricato il programma openvpn.

La configurazione da utilizzare per il client è disponibile su /root/srv02.ovpn. Dove srv02 è il nome scelto precedentemente. Lo script infatti può essere utilizzato per un solo PC, per creane un altro lanciare nuovamente install-openvpn.sh

Come configurare un client OpenVPN

Scarichiamo il programma openVPN connect (https://openvpn.net/client-connect-vpn-for-windows/) dal sito di OpenVPN e installiamolo.

Poi Scarichiamo il file /root/srv02.ovpn dal server VPN sul computer, usando un programma come FileZilla o WinSCP (su Windows).

Salvare il file per esempio sul Desktop.

Dal menù vicino all’orologio cliccare col tasto desto sull’icona di OpenVPN.

Apparirà un menù a tendina dove sarà possibile importare un file di configurazione.

Selezionare import from local file.

Dall’elenco selezioniamo l’indirizzo IP del server VPN che abbiamo appena configurato; se non abbiamo mai usato OpenVPN prima ci sarà un solo indirizzo. Poi clicchiamo su Connect.

Potrebbe apparire un messaggio di conferma. Accettare.

Ora è possibile utilizzare la VPN.

Collegandoci ad un sito per vedere il proprio IP, apparirà l’IP del server VPN.

Risoluzione dei problemi

Può essere che ci siano dei problemi a collegarsi o che il tunnel non rimanga in piedi.

Lato Windows è possibile avere maggiori informazioni riguardo i problemi di connessione andando nella cartella dei log del client OpenVPN. La cartella è:

C:\Program Files (x86)\OpenVPN Technologies\OpenVPN Client\etc\log

Lì ci sono dei file di testo che contengono le informazioni per indagare sull’anomalia.