Come creare e firmare il proprio certificato SSL

Non sto a raccontarvi cos’è SSL o HTTPS perché se siete qua probabilmente già sapete di cosa sto parlando.

Andiamo dritti al sodo. Se volete autocertificarvi e quindi generare un certificato SSL per uso locale o di sperimentazione (dico questo perché ogni volta da browser dovrete confermare e accettare che volete installare il certificato, cliccando qualcosa come 3 volte conferma) aprite subito il terminale ed eseguite (vi chiederà una password, segnatevela ovviamente):

openssl genrsa -des3 -out myCA.key 2048

Ora generate un root certificate eseguendo:

openssl req -x509 -new -nodes -key myCA.key -sha256 -days 1825 -out myCA.pem

Inserite tutti i dettagli e… voilà, già fatto!

Quanto consuma un Raspberry Pi sempre acceso

Dipende. Com’è ovvio che sia, dipende da quello che gli fate fare 24 ore su 24.

I conti che potete farvi hanno un margine d’errore enorme ma comunque può farvi capire quanto sia interessante avere un piccolo tutto fare sempre acceso “che fa cose”.

Prima di tutto dipende dal modello di Raspberry Pi, dal tipo di alimentatore e se proprio vogliamo: anche dalla lunghezza del cavo (online si trovano personaggi discutibili che considerano anche quello come resistenza, ma direi che è un calcolo non troppo educativo).

Ti piace? Puoi acquistarlo sui 35-40 euro da qui

Il modello 3 e 3+ hanno bisogno di un alimentatore da 2.5A (ma anche 2.1 sembra andar bene) controllate qua https://www.raspberrypi.org/help/faqs/#powerReqs le richieste in base al vostro Pi. In ogni caso, a occhio e croce con un costo della corrente al kWh di circa 20 centesimi, se un Raspberry Pi in idle consuma dai 3W ai 5W la divisione è semplice:

3W circa 2 kW al mese, quindi 40 centesimi
5W circa 3.6 kW al mese, cioè 72 centesimi

Ovviamente più cose gli fate fare (può raggiungere picchi più alti ma conta in media come si comporta), più periferiche avete attaccato alla porta otg/usb, più il Raspberry consumerà, ma comunque è di molto lontano da un consumo di un computer con alimentatori sulle 50-100 volte più potenti (in termini di consumi).

Vi ricordo che il consumo in W viene calcolato dal voltaggio moltiplicato per l’amperaggio, quindi 1A*5V = 5W. E il consumo in kWh significa 1kW=1.000W ogni ora, quindi se una cosa consuma 10W e sta accesa per 1 ora intera, per fare 1 kWh dovrà star acceso 1.000Wh/10W=100 ore.

Come cancellare tutti i post di revisione WordPress

Se state cercando un modo per alleggerire il vostro database in cui avete WordPress, che sia per motivi di spazio fisico o per ordine anche solo mentale, che ne dite di cancellare tutti i post di revisione?

Ovviamente questa cancellazione comporterà la perdita di tutti i post di revisione (detti anche inherit).

Solo 249.599 (1/4 di milione) righe risparmiate

Quindi prima di eseguire quella bellissima query, fate un backup al vostro db per evitare perdite non volute.

DELETE FROM wordpress WHERE wp_posts.post_status = "inherit"

Cosa fare se il backup su Time Machine fallisce

Niente. So che potreste pensare che fare il backup su Time Machine sia affidabile, utile e comodo. Ma fidatevi, non fate un solo backup ai vostri computer e hard disk o SSD (questa è una regola generale e non riferita solo a questo evento in particolare)..

Potrebbe capitarvi una schermata del genere (a me è apparsa giusto qualche mese fa):

To improve reliability, Time Machine must create a new backup for you

L’unica è cercare di spulciare file per file per trovare quello che vi serve ma comunque il vostro backup è da buttare e non ci sarà modo di ripararlo (l’indice a quanto pare si è sfalsato e dovrete ricrearlo). Anche se è magari un anno che andate avanti con lo stesso backup, non c’è storia, dovrete ripartire da zero.

Ancora un’altra volta: fate i backup!

E se volete creare la vostra Time Machine con un semplice Raspberry Pi, beh, seguite questo tutorial.

Come installare Homebridge

Installare Homebridge è semplicissimo, vi basterà prima di tutto installare qualche dipendenza. Iniziamo con Node:

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo aptinstall nodejs -y

Poi nel caso non li abbiate installati, installate anche:

sudo aptinstall libavahi-compat-libdnssd-dev

E ora finalmente installiamo Homebridge con:

sudo npm install -g --unsafe-perm homebridge

Progetto di Homebridge su GitHub

Ora create un file .config con:

sudo nano ~/.homebridge/config.json

E incollate qualcosa tipo:

{
"bridge": {
        "name": "Homebridge",
        "username": "AB:12:CD:34:EA:12",
        "port": 1234,
        "pin": "123-12-123"
},

"description": "This is an example configuration file with one fake accessory and one fake platform.",

"platforms": [{
"platform": "eDomoticz",
"name": "eDomoticz",
"server": "127.0.0.1",
"port": "8080",
"ssl": 0,
"roomid": 0,
"mqtt": {

"host": "127.0.0.1",
"port": 1883,
"topic": "domoticz/out",
"username": "user",
"password": "pass"

}}]}

Che è la configurazione nel caso abbiate il plugin per Domoticz. Lo installate semplicemente eseguendo:

sudo npm install -g homebridge-edomoticz

Ora esrguite Homebridge eseguendo (nel caso usate sudo davanti):

homebridge

Se volete eseguire Homebridge come fosse un servizio seguite questa guida.
Mentre nel caso non vi appaia nell’app Casa (Home se avete l’iPhone o l’iPad in inglese) seguite questa.

Come fare hotspot Wi-Fi da Pi Zero

Dopo aver visto come configurare il Pi Zero come accessorio e come condividergli internet tramite la porta OTG, vediamo come creare un hostpot Wi-Fi dal Pi Zero. Quindi con la possibilità di connettervi come fosse un router Wi-Fi.

Come potete vedere dalla foto qua sotto, avendo due antenne Wi-Fi (ne ha una integrata il Pi Zero W) posso connetterlo sia al router principale che fargli generare un hotspot Wi-Fi.

Raspberry Pi con due antenne Wi-Fi: una integrata e una esterna

Partiamo facendo gli aggiornamenti:

sudo apt update
sudo apt upgrade

Poi installiamo:

sudo apt install dnsmasq hostapd

E stoppiamo i servizi:

sudo service dnsmasq stop
sudo service hostapd stop

Assicuratevi d’aver l’interfaccia wlan0 configurata nell’interfaces (e che quindi sia utilizzabile).

Ora aggiungete al fondo di questo file:

sudo nano /etc/dhcpcd.conf

Queste due righe:

interface wlan0
static ip_address=192.168.4.1/24

Riavviate il servizio:

sudo service dhcpcd restart

E andiamo a modificare dnsmasq (che sta volta useremo per il Wi-Fi):

sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
sudo nano /etc/dnsmasq.conf

Aggiungete queste due righe:

interface=wlan0
dhcp-range=192.168.4.2,192.168.4.20,255.255.255.0,24h

E create la configurazione per il Wi-Fi:

sudo nano /etc/hostapd/hostapd.conf

Incollate (modificando il nome che preferite):

interface=wlan0
driver=nl80211
ssid=Pi
hw_mode=g
channel=7
wmm_enabled=0
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=password
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

Ora modificate questo file:

sudo nano /etc/default/hostapd

Con questa riga così:

DAEMON_CONF="/etc/hostapd/hostapd.conf"

Ora attiviamo tutto:

sudo service hostapd start
sudo service dnsmasq start

E siete finalmente pronti per connettervi con il vostro smartphone o con il vostro computer.

Fonte https://www.raspberrypi.org/documentation/configuration/wireless/access-point.md

Come condividere la connessione internet ai Pi Zero via OTG

So che dal titolo potrebbe non comprendersi molto ma l’obiettivo è collegare i Pi Zero a internet, non tramite Wi-Fi ma bensì via USB, tramite un altro Raspberry che fa da router.

I Raspberry Pi Zero a differenza delle altre versioni (mi riferisco al 2 e al 3) è possibile configurarli come accessori quindi il loro funzionamento resta inalterato ma in più, il dispositivo a cui lo collegate, potrà riconoscerlo come un hub USB o come un adattatore ethernet.

Una volta configurato il Pi Zero da poter funzionare direttamente dalla porta OTG, collegatelo a un Pi 2 o 3 come nella foto:

Due Pi Zero e un Raspberry Pi: dove comprarli

Il Pi Zero non configurate nulla, farà tutto automaticamente. Mentre nel Raspberry 2 o 3, che sarà quello che gli offrirà la connessione a internet (quindi a lato pratico sarà come un router in quanto gli assegnerà un IP e creerà una connessione apposta per ogni Pi Zero collegato), dovrete installare dnsmasq:

sudo apt install dnsmasq

Ora configuriamolo modificando il file di configurazione:

sudo nano /etc/dnsmasq.conf

Se ad esempio volete collegarne due di Pi Zero, create due interfacce (cambiate i parametri che più preferite) usb0 e usb1:

interface=usb0
interface=usb1
listen-address=127.0.0.1
bind-interfaces
server=8.8.8.8
domain-needed
bogus-priv

dhcp-range=usb0,192.168.2.2,192.168.2.100,infinite
dhcp-range=usb1,192.168.3.2,192.168.3.100,infinite

Adesso attivate il forward dei pacchetti:

sudo nano /etc/sysctl.conf

E modificate la riga:

net.ipv4.ip_forward=1

Ora modificate il file:

sudo nano /etc/network/interfaces

E incollate (modificando i parametri che preferite e la x nell’IP del vostro Raspberry principale):

source-directory /etc/network/interfaces.d

auto lo
iface lo inet loopback

allow-hotplug eth0
iface eth0 inet static
    address 192.168.1.x
    netmask 255.255.255.0
    network 192.168.1.0
    broadcast 192.168.1.255
    gateway 192.168.1.1

allow-hotplug usb0
iface usb0 inet static
    address 192.168.2.1
    netmask 255.255.255.0
    network 192.168.2.0
    broadcast 192.168.2.255
    gateway 192.168.2.1

allow-hotplug usb1
iface usb1 inet static
    address 192.168.3.1
    netmask 255.255.255.0
    network 192.168.3.0
    broadcast 192.168.2.255
    gateway 192.168.3.1

Voilà, ora riavviate il servizio (immaginando che voi abbiate già attaccato il o i Pi Zero alle USB del vostro Raspberry) con:

sudo service dnsmasq restart

E il gioco è fatto, il vostro Raspberry che fa da router assegnerà gli IP e reindirizzerà i pacchetti ai Pi Zero.

Come usare il Raspberry Pi Zero come accessorio

Il Pi Zero è possibile utilizzarlo come un accessorio e non solo come un computer vero e proprio (ha la porta USB, HDMI ecc). Il tutto utilizzando la porta OTG, cioè quella accanto a quella di alimentazione.

Prima di tutto installate Raspbian, poi spegnete e collegate la microSD al vostro computer. Aprite la partizione boot e modificate questi due file:

config.txt

Aggiungete una riga e incollate:

dtoverlay=dwc2

Poi aprite il file:

cmdline.txt

E dopo rootwait aggiungete:

modules-load=dwc2,g_ether

Ora potete collegarlo al vostro computer (o un altro Raspberry volendo) e gli potete condividere internet (oppure diciamo… riceverlo) con un solo cavo. Invece di usare la porta di alimentazione, solo da quella accanto, come vedete in foto:

Pi Zero usato come accessorio tramite la porta OTG

Fonte di tutto questo:

https://gist.github.com/gbaman/50b6cca61dd1c3f88f41
https://gist.github.com/gbaman/975e2db164b3ca2b51ae11e45e8fd40a

Come controllare che le mail di PHP siano attive

E con controllare che le mail di PHP siano attive intendo tutti gli script necessari per inviare email con PHP (avete aggiornato almeno alla versione 7 di PHP, sì?). Sia se usate NGINX sia se usate Apache, aprite il terminale ed eseguite:

php -a

E incollate (cambiando ovviamente l’indirizzo di destinazione yourdomain.com):

mail ('you@yourdomain.com', "Test", "Test mail with PHP");

Caso in cui non andasse, installate:

sudo apt-get install mailutils postfix

E configurare postfix seguendo i passaggi. Una volta fatto, riprovate e tecnicamente dovrebbe andare (se avete tutto installato correttamente.

Come verificare che un file scaricato sia veramente quello

Ci sono diversi modi per farlo e quello più comune è quello di calcolare il checksum con shasum (cos’è shasum).

Come potete vedere, ad esempio su VLC (ma gli esempi sono infiniti nel campo della sicurezza informatica), quando andrete a scaricare il loro software vi indicherà la stinga di checksum 256.

Come scaricare VLC

Voi cosa dovete fare per verificare che state realmente scaricando quel file e non avete un man-in-the-middle che vi modifica il flusso dei dati o vi manda un altro file? Potete calcolare il checksum così:

Verifica checksum VLC da terminale

Aprite il terminale e spostatevi nella cartella giusta con il classico comando cd ed eseguite:

shasum -a 256 nomefile.estensione

Aspettate qualche secondo (o minuto, dipende dalla capacità di calcolo del vostro computer) e vedrete il risultato. Se la stringa combacia, siete in una botte di ferro.

Ovviamente la stessa procedura la potete fare anche e sopratutto quando andrete a scaricare software o applicativi importanti in cui avete bisogno che la sicurezza sia elevata, come ad esempio con MEW. Prendete quante più precauzioni possibili, non fanno mai male.

Com’è fatta una chiave pubblica di Electroneum

Non poteva mancare anche la chiave pubblica di Electroenum che a differenza di quella privata è composta da una sola stringa, come potete vedere qua sotto:

Ovviamente come spero abbiate capito, questa vi servirà per ricevere soldi (in questo caso ETN è la sigla di questa coin). Potete pubblicarla ovunque senza problemi, al massimo rischiate che qualcuno per sbaglio vi faccia una donazione… cosa altamente improbabile e che può succedere anche lasciando un portafoglio vuoto per strada.

Come scaricare e usare MyEtherWallet offline

Quando si parla di sicurezza e prevenzione, direi che non è mai abbastanza. Quindi se state per generare un wallet offline per Ethereum, è bene che prendiate le giuste precauzioni.

Scaricate l’ultima release da qui https://github.com/kvhnuke/etherwallet/releases

Aprite l’archivio e avviate MEW (acronimo di MyEtherWallet) aprendo semplicemente con il vostro browser il file index.html (ovviamente se possibile fatelo con internet disattivato e su un computer di cui potete fidarvi).

È davvero fondamentale aprirlo in un browser senza plugin o estensioni che possono leggere quello che viene visualizzato, scritto o inserito.

Una volta aperto, inserite una password e generate un wallet. Scaricate il file JSON offline e salvatevi o stampatevi il PDF.

Mi raccomando a non cascare nel tranello di siti web che possono sembrar MEW, capita più spesso di quanto possiate pensare.

Com’è fatta una chiave pubblica Verge

E dopo quella privata, come oramai spero abbiate capito, c’è sempre una chiave pubblica, necessaria per ricevere pagamenti.

In questo caso parliamo di Verge, la criptovaluta con punto forte la privacy delle transazioni e degli utenti.

Ecco a voi com’è fatta una chiave pubblica Verge (XVG):

D8RzZHsrwzkzM9F9TwSAFrzMHNhZg9AfHf

Come potete vedere dall’immagine, è stata generata da un generatore di wallet offline.

Potrete controllare le transazioni dall’explorer https://verge-blockchain.info e confermare che in questo indirizzo non sono mai passati degli XVG (ovviamente, altrimenti non la pubblicherei assieme alla chiave privata).

Com’è fatta una chiave privata Verge

Dopo aver visto com’è fatta quella di Ethereum e di Bitcoin, vediamo oggi com’è quella di Verge.

6Jg9owMo2czh5neKw65E4ibQcwRUkcasxGHV4hVh7TPGbupw7rk

51 caratteri alfanumerici. E come quelle di ETH e BTC, dovrete tenerla al sicuro senza pubblicarla online (ops) o farvela rubare.

Potrete generare la vostra scaricando un wallet oppure usando quelli online da qui: https://vergecurrency.com/#wallets

Come visualizzare l’immagine profilo Instagram a massima risoluzione

Sì, si può fare anche se il profilo è privato.

Ok ora presupponiamo che abbiate buone intenzioni e che conoscete personalmente la persona interessata. E sopratutto che avete già visto la loro propic in dimensione massima.

Ora, andate da desktop (intendo quindi da computer o comunque da browser e non dall’app) all’indirizzo instagram.com/username.

Cliccate con il tasto destro sull’immagine profilo e copiate il link, sarà un qualcosa di questo tipo:

https://scontent-mxp1-1.cdninstagram.com/vp/blablabla/numeri/t01.2345-67/s320x320/12345678_012345678901234_0123456789012345678_n.jpg

Incollatevelo da qualche parte e modificate l’url togliendo la dimensione, tipo così:

https://scontent-mxp1-1.cdninstagram.com/vp/blablabla/numeri/t01.2345-67/12345678_012345678901234_0123456789012345678_n.jpg

Ora, non so se sia voluto o meno, ma non è normale che sia possibile visualizzare l’immagine profilo a risoluzione originale di caricamento. Idem non sono sicuro che sia normale che sia possibile farlo se il profilo è privato (di solito chi lo mette privato non vuole che le proprie foto siano visibili a tutti.

Quindi: fate attenzione e caricate foto profilo a bassa risoluzione, così che, anche in questo caso, nessuno possa vederla a massima risoluzione.

Come connettersi SSH al Raspberry Pi

Anche questa semplice guida come quella per aggiornarlo potrà sembrar banale per molti, però probabilmente per altrettanti non è così tutto ovvio e nessuno nasce imparato.

Presupponendo che il vostro computer sia connesso alla stessa rete locale (Wi-Fi o ethernet che sia) e che il Raspberry abbia l’SSH server attivo, nel caso attivatelo in questo modo.
E presupponendo anche che non abbiate cambiato hostname (raspberrypi.local) ne username (pi in questo caso) lasciando quelli di default di Raspbian.

Ora dipende tutto dal sistema operativo dal quale vi volete connettere.

Se siete da macOS o da Linux, vi basterà aprire il terminale e digitare:

ssh pi@raspberrypi.local

Inserire la password (che di default sarà raspberry) e voilà, collegati! Ora potrete comandare a distanza il vostro Raspberry senza dover avere una tastiera collegata o un monitor.

Se invece siete da Windows dovrete installare un software per poterlo fare, ad esempio Putty. Seguite i passaggi e nei parametri mettete come sopra, raspberrypi.local come hostname e pi come user.

Mentre se non avete un computer ma uno smartphone, per iOS c’è Terminus mentre per Android JuiceSSH.

Come e perché avere la propria VPN

Ci sono oramai migliaia di servizi di VPN, vi basta una semplice ricerca su Google per capire che il mercato è saturo e sopratutto spesso non ci si può neanche fidare, perché magari spiano quello che fate o rivendono le vostre ricerche online.

Quindi, visto che siamo nel 2018 e avere una VPN personale non è più una cosa complicata, perché no?

Ovviamente dovrete far attenzione a quello che fate, essendo voi padroni della vostra macchina, dovete controllare che non abbia accessi non consentiti, tenere un log di cosa succede, evitare che vi mandino migliaia di richieste o che vi arrivino dei tentativi o saturazioni nella porta che avete scelto, ma tolto queste normali problematiche, avrete solo da guadagnarci.

Quando vi connettete a dei Wi-Fi pubblici, non è rischioso che chi vi offre l’hotspot internet, legga tutto quello che fate? Certo oggi con https hanno più difficoltà, ma posso garantirvi che è davvero semplice capire cosa state facendo (ehmmm, vi ricordo che il dns non è criptato e ne autenticato).

Quindi che aspettate a farvi la vostra VPN personale con un Raspberry Pi?

Come creare una VPN con Raspberry Pi

Oramai creare una VPN personale (cos’è una VPN?) è diventato un gioco da ragazzi, quello che vi servirà è un semplice Raspberry Pi e una connessione a internet (cosa che spero abbiate).

Prima di tutto collegatevi in SSH al vostro piccolo Pi, fate gli aggiornamenti ed eseguite:

curl -L https://marcotini.com/pivpn | bash

Seguite i passaggi (lasciate tutto come vi suggerisce lo script), idem lasciate la porta 1194 e andate nel vostro router a fare il redirect al vostro Pi.

Ora create un nuovo device facendo:

pivpn -a

Dategli il nome e andate nel percorso in cui vi ha salvato il certificato. Recuperatelo e mandatelo al dispositivo con il quale volete connettervi, quindi se è il vostro smartphone, mandatevelo in qualche modo sicuro (e non pubblicatelo da nessuna parte) e apritelo con l’app OpenVPN. Connettetevi e via!

Ecco a voi un tunnel dal vostro smartphone al vostro Raspberry Pi! Ora ovunque sarete, il vostro Pi farà le richieste e vi manderà le risposte in modo criptato. Semplicissimo no?!

Come aggiornare il Raspberry Pi

Molto probabilmente questo articolo sarà banale per tanti, però non fa mai male chiarire alcuni concetti base.

Per fare gli aggiornamenti al vostro Raspberry Pi ci sono diverse alternative. O volete installare i semplici aggiornamenti alle nuove versioni o volete andare più pesanti e aggiornare direttamente la distribuzione, con la possibilità che non vi funzioni più niente (purtroppo, anzi per fortuna spesso capita, ma imparerete a farvene una ragione).

Andiamo diretti alla pratica, aggiorniamo:

sudo apt update
sudo apt upgrade

Confermate con una Y + invio (o nel caso lo abbiate in italiano con la S).

Fatto! Sì, già fatto! È davvero così semplice (ringraziate tutti i programmatori Linux, Debian, Raspberry ecc).

Ora, potrebbe essere che abbiate da fare aggiornamenti più importanti ma come detto sopra… fate attenzione perché potrebbe non funzionare più nulla.

sudo apt dist-upgrade

Controllate che sia tutto ok e fate un backup prima di confermare e… via!


Ultima cosa: se avete installato Raspbian dovreste avere un software di gestione installato (anche questo va aggiornato) che dovrebbe aggiornarsi con la procedura update+upgrade. Nel caso così non fosse, fate anche:

sudo raspi-config

Andate nel punto 8 (dovrebbe essere ancora quello) e fate Update!

Come annullare una transazione Bitcoin

Non si può. Ecco, il titolo è ovviamente fuorviante perché no, non si può annullare una transazione Bitcoin.

Una volta che avete inviato i vostri Bitcoin a qualche indirizzo pubblico, non potrete tornare indietro. Quindi se sbagliate a incollare l’indirizzo oppure li mandate a qualche indirizzo non compatibile con Bitcoin, andranno persi per sempre.

È capitato a tante persone aver inviato Bitcoin in indirizzi di Bitcoin Cash o il contrario e veder perso tutto.

Purtroppo, anzi direi per fortuna, una volta mandata la transazione e registrata nella blockchain, non c’è più modo di tornare indietro o annullare.
Quindi dovete prestare massima attenzione a come conservate la vostra chiave privata per evitare che qualche malintenzionato entri in possesso di quella stringa.

Se qualcuno riesce a scoprirla o ricavarla dai vostri seeds, nessuno potrà tornare indietro e ridarvi i vostri Bitcoin.

Transazione esempio su blockchain.info

Tutto questo discorso vale anche per le altre criptovalute e per i sistemi a blockchain, una volta inserito in blockchain, tutti sanno cos’è successo e non si può tornare indietro a meno di un fork.