Parlando con amici spesso mi sento dire che hanno problemi con il proprio Raspberry, usualmente riavvi improvvisi o blocchi del sistema operativo che costringono ad un riavvio forzato con lo scollegamento dall’alimentazione. Personalmente uso il Raspberry dal 2012 quando hanno presentato il primo modello, ricordo ancora che mi svegliai alle 5 del mattino per riuscire ad acquistarne un pezzo al Day One! Peggio di un Apple Fan 😅. Complessivamente non ho mai avuto grossi problemi, ma anzi grazie al Raspberry ho imparato ad ottimizzare alcuni miei software in Python ottenendo un consumo di risorse inferiori. Tanto per darvi un idea per circa 6mesi ho usato una Raspi3 per lanciare circa 2mila sessioni al giorno di PhantomJS in maniera automatizzata, uno Scriptable Headless Browser non certo leggero.

Usualmente i problemi ad un Raspberry Pi nascono da tre fattori:

  • Alimentazione insufficiente;
  • Memory Card di scarsa qualità;
  • Temperature di utilizzo troppo elevate (in particolare per il Raspi3).

Risolvere questi tre inconvenienti è veramente facile, per quanto riguarda l’alimentazione vi consiglio di sfruttare un alimentatore con una erogazione di corrente superiore ai 2Ampere. Personalmente uso un alimentatore di Anker con 2,4A di uscita. Per le Memory Card sfrutto almeno delle microSDHC UHS-I 300x, facendo attenzione a non incappare in prodotti contraffatti, e personalmente da anni mi oriento sul marchio Lexar. Infine per evitare il raggiungimento di alte temperature esistono dei piccoli dissipatori da installare sulla motherboard del Raspberry.
Se volete andare sul sicuro esiste lo Starter Kit che contiene MicroSD e Alimentatore già adeguati, oltre al case, cavo HDMI e cavo LAN.

Aggiornare il Firmware del Raspberry Pi

Un aspetto fondamentale che in tanti ignorano, ma fondalmente per risolvere i principali problemi di stabilità, è l’aggiornamento del Firmware del Raspberry. Usualmente il firmware viene scritto in un componente hardware della motherboard ma sul Raspi viene invece scritto nella prima partizione della scheda MicroSD. Il firmware è quindi fondamentale per il boot del sistema, per la gestione della GPU e contiene binari precompilati del kernel e dei moduli del Raspberry. Capite pertanto che è un tassello chiave per il funzionamento corretto la nostra schedina.

Se sfruttate Raspibian il firmware si aggiorna automaticamente tramite i due pacchetti raspberrypi-kernel e raspberrypi-bootloader distribuiti tramite i repository ufficiali. Tramite il comando rpi-update é invece possibile installare l’ultimo firmware in fase beta, per alcune situazioni in cui avete problemi di stabilitá della vostra Raspibian potete provare a installare la versione in beta testing.

sudo rpi-update è il comando necessario a installare l’ultimo firmware in versione beta, potete trovare l’ultima versione del firmware anche su GitHub così da poter conoscere eventuali changelog.

RPI Update è installato di default su tutte le Raspibian ma altri OS potrebbero non averlo installato basta lanciare un sudo apt install rpi-update per ritrovarsi il software installato.

Se avete installato l’ultimo firmware in versione beta e preferite tornare alla versione stabile pubblicata sui repository vi basterà digitare questo comando: sudo apt-get install --reinstall raspberrypi-bootloader raspberrypi-kernel

[AGGIORNATO] Articolo aggiornato il 25 Novembre, ringrazio Matteo per avermi avvisato che rpi-update viene ad oggi usato per diffondere solamente le versioni beta del firmware.


Sicuramente conoscete già il mio forte sostengo al progetto Pi-hole, ne ho ampiamente parlato sul mio blog e su Twitter, assieme a Gabry credo proprio di essere uno dei primi utilizzatori Italiani.

Bando alle ciance, da sempre ho sostenuto che per un utilizzo standard le Block List predefinite erano perfette. Però sono arrivati i primi problemi nella navigazione su Facebook, Instagram, La Stampa e saltuariamente su Twitter. Nel primo caso il mancato caricamento di alcune risorse portava Firefox a bloccarsi oppure i video andavano a scatti, per Instagram e La Stampa non sempre i video venivano caricati mentre per Twitter alcune immagini non venivano caricate. Tutto si risolveva quando mi scollegavo dai DNS di Pi-hole ed usavo quelli di terze parti.

Così ho finalmente voluto provare a mettere mano alle Block List perché ero ormai certo che il problema nascesse da lì, ed effettivamente così è stato.

Le Block List predefinite di Pi-hole sono:

https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
https://mirror1.malwaredomains.com/files/justdomains
https://zeustracker.abuse.ch/blocklist.php?download=domainblocklist
https://s3.amazonaws.com/lists.disconnect.me/simple_tracking.txt
https://s3.amazonaws.com/lists.disconnect.me/simple_ad.txt
https://hosts-file.net/ad_servers.txt
http://sysctl.org/cameleon/hosts

Se le analizziamo singolarmente troviamo già qualche dettaglio interessante:

  1. Hosts: è un progetto di Steven Black che raggruppa diverse Block List (Awdware, Malware, Fraud, Scam, Spam, Tracking e Cryptomining) eliminando falsi positivi e costantemente aggiornate. Eventualmente offre anche Block List integrative come Social, Porn, Fake News e Gambling;
  2. Malwaredomains: aggiornate giornalmente con i principali dominii sfruttanti per diffondere malware;
  3. Zeustracker: gestite da Abuse.ch e aggiornate giornalmente con i principali dominii sfruttati nella botnet Zeus;
  4. Lists.disconnect.me: L’ultimo aggiornamento risale al 2016 e non è noto chi le gestisca;
  5. Hosts-file: Lista aggiornata costantemente ma i falsi positivi sono all’ordine del giorno probabilmente non vi è alcuna verifica dei dominii riportati, molto spesso inoltre contiene duplicati della lista di Steven Black;
  6. Sysctl.org: Aggiornate a marzo 2018 e anche in questo caso i dati riportati risultano spesso analoghi alla lista di Steven Black.

Così ho deciso di eliminare le ultime tre liste per i motivi sopra esposti, lasciando solo le prime tre citate. La situazione è migliorata decisamente, non notavo più problemi e tutto sembrava risolto.

Però la curiosità è bastarda 😄 e ho iniziato a cercare altre Block List online, sono incappato in una discussione su Reddit in cui vengono messe in evidenza alcune Block List con relativi commenti.

Inizialmente ho provato il progetto Tspprs, caricando le liste base (Main, Ads, Malware, Fraud, Scam, Spam, Tracking e Crypto) ho avuto un colpo al cuore quando il Raspberry Pi dopo 120gg di uptime è andato in blocco costringendomi ad un reboot forzato. Al riavvio ho scoperto che la lista dei dominii bloccati era passata da circa 130mila a 3milioni! 😮 La cosa mi puzzava tremendamente, dopo 10 minuti di navigazione il risultato è stato il seguente:

  • gstatic.com era contenuto nella lista dei Malware più volte (oltre ovviamente ad essere nella corretta lista Ads);
  • *.amazonaws.com era contenuto nella lista dei Malware;
  • Tutti gli shorturl (bit.ly, bit.do, ecc) erano bloccati;
  • ecc, ecc.

Praticamente non riuscivo più ad usare Internet, non ho proseguito la navigazione e sono tornato alle precedenti Block List. Ho capito che il progetto conta a fare dei numeri ma con pochissima qualità.

Successivamente ho scoperto il progetto Firebog, ovvero un fantastico raccoglitore di Block List gratuite. Bene ma ora sono a punto e capo, se le carico tutte rischio di fare la fine di Tspprs, ovvero ottenere una Block List enorme che esponenzialmente mi andrà a creare dei falsi positivi.

Ho quindi deciso di fare un test con Firefox Lightbeam e le Block List di Steven, Malwaredomains e Abuse.ch. Ho aperto alcuni siti internet Italiani notoriamente pieni di pubblicità e tracker (Beppone in pole position) e ho guardato quali dominii avevano in comune finché non ho notato la presenza di un dominio altamente sospetto che non risultava bloccato: advertiser.wbtrk.net. Tutto il resto era corretto.

Basta andare sul sito ufficiale di Webtrekk per capire immediatamente che quel dominio nell’ottica di Pi-hole doveva essere bloccato, ora avevo solo un obiettivo: trovare una Block list che contenesse quel host e che quindi venga ipoteticamente aggiornata molto frequentemente e con attenzione. Riguardando l’elenco pubblicato su Firebog ho fatto tombola.

Squidblacklist è un società che offre Block List gratuite (Ads, Facebook e Malicious) e a pagamento (Clickbait, Porn, Proxies, Tor, ecc ecc) ma che mi sembrano veramente ben realizzate, addirittura in diversi formati (Standard, compatibili con Squid o RouterOS).

Pertanto aggiungendo anche le due block list gratuite di Squid ho raggiunto i 160mila dominii bloccati e attualmente Beppone non mi traccia. 🤘🤘

Per concludere ho aggiunto la mia blocklist sul Phishing che viene aggiornata quotidianamente: phishing.army

Successivamente ho aggiunto la blocklist creata da Hosh per evitare WebMiner e la blocklist creata da Daniel per bloccare ulteriori Ads & Tracking.

Quindi ad oggi sfrutto le seguenti Blocklist (aggiornate al 16 Marzo 2019):

https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
https://mirror1.malwaredomains.com/files/justdomains
https://zeustracker.abuse.ch/blocklist.php?download=domainblocklist
https://www.squidblacklist.org/downloads/dg-ads.acl
https://www.squidblacklist.org/downloads/dg-malicious.acl
https://phishing.army/download/phishing_army_blocklist_extended.txt
https://raw.githubusercontent.com/lightswitch05/hosts/master/ads-and-tracking.txt
https://raw.githubusercontent.com/hoshsadiq/adblock-nocoin-list/master/hosts.txt

White List

Voglio inoltre segnalarvi un interessante progetto di Anudeep che permette di aggiungere a PiHole una White List (di default è possibile solo l’inserimento manuale uno ad uno) tramite una lista da lui prestabilita e in costante aggiornamento.

Il suo progetto è disponibile su GitHub dove trovate anche le informazioni per l’installazione.

Porn

Se volete bloccare i siti porno potete usare la Block List estesa di Steven Black oppure quella di Chad Mayfield.

Donate e Tricks Interessanti

Ci tengo a ricordarvi di sostenere il progetto perché se iniziate ad usarlo difficilmente ne farete a meno e quindi una donazione agli sviluppatori è d’obbligo.

Infine per chi è alla ricerca di qualche progetto più corposo da fare con Pi-hole vi segnalo due articoli:

[AGGIORNAMENTO] Articolo aggiornato il 27 Dicembre 2018
Articolo aggiornato il 16 Marzo 2019

HackInBo Winter Edition si è concluso da una settimana e questo splendido evento riserva sempre grandi emozioni ma soprattutto sorprese! Mario ha annunciato una grande novità per l’edizione primaverile del 2019; HackInBoat il primo evento di Sicurezza Informatica in crociera grazie alla collaborazione di Costa Crocere.

Ma veniamo a noi, per l’edizione appena passata ho nuovamente creato una CTF Mobile con l’intento di far partecipare tutto il pubblico presente in sala evitando quindi di escludere chi viaggiava leggero senza computer. Il tema di questo CTF era la logica ad eccezione dell’ultimo step.

La CTF è iniziata circa alle 13, durante la mattina ero impegnato come relatore al Linux Day e appena arrivato a FICO ho avviato il Fake AP per far giocare il pubblico, la rete WiFi a cui collegarsi per giocare aveva SSID HackInBo_FreeBeer.

Alle 18 quando l’evento andava a concludersi purtroppo nessuno aveva concluso il CTF, così con Mario si è deciso di rilanciare la CTF assegnando anche un bellissimo premio. La CTF è quindi stata pubblicata online nella giornata di Domenica 28 Ottobre e il primo che la concludeva vinceva un biglietto per HackInBoat!

Classifica

Il vincitore è stato Nico di serhack.me che ha battuto il secondo classificato di quasi 15 minuti mentre bisogna attendere un ora per vedere la medaglia di bronzo. Dopo 5 giorni in totale 37 persone hanno concluso la CTF e con grande piacere noto la presenza di 3 ragazze!

La classica parzialmente offuscata comprensiva di orario è la seguente:

2018-10-28 10:56:56am - Nico - [email protected]
2018-10-28 11:11:01am - Elia xxxx - [email protected]
2018-10-28 12:10:18pm - Claudio xxxx - [email protected]
2018-10-28 12:15:30pm - Simone xxxxxx - [email protected]
2018-10-28 12:22:21pm - Luca xxxxx - [email protected]
2018-10-28 12:37:56pm - Massimo xxxxx - [email protected]
2018-10-28 12:41:07pm - Alfonso xxxxx - [email protected]
2018-10-28 12:51:55pm - Fabio xxxxxx - [email protected]
2018-10-28 01:00:42pm - Valentino xxxxx - [email protected]
2018-10-28 01:04:13pm - Francesco xxxxx - [email protected]
2018-10-28 01:04:30pm - Pietro xxxxxx - [email protected]
2018-10-28 01:14:12pm - Alessandro xxxxx - [email protected]
2018-10-28 01:17:18pm - Noemi xxxxxx - [email protected]
2018-10-28 02:20:17pm - Andrea xxxxxx - [email protected]
2018-10-28 02:51:14pm - Antonio Francesco xxxxx - [email protected]
2018-10-28 03:29:22pm - Enrico xxxxx - [email protected]
2018-10-28 03:29:48pm - Ciprian xxxx - [email protected]
2018-10-28 03:47:28pm - Guillaume xxxxx - [email protected]
2018-10-28 03:47:49pm - lucky - [email protected]
2018-10-28 04:04:07pm - Silvia - [email protected]
2018-10-28 04:11:49pm - jbz - [email protected]
2018-10-28 05:27:48pm - Andrea xxxxx - [email protected]
2018-10-28 07:30:20pm - Francesco xxxxxx - [email protected]
2018-10-28 10:42:06pm - Davide xxxxxx - [email protected]
2018-10-29 11:39:05am - Luigi xxxxx - [email protected]
2018-10-29 11:40:26am - massimiliano xxxx - [email protected]
2018-10-29 11:40:38am - Michael xxxxx - [email protected]
2018-10-29 03:11:41pm - Paolo xxxx - [email protected]
2018-10-30 11:36:09am - Alessandro xxxx - [email protected]
2018-10-30 07:29:22pm - Yan xxxxx - [email protected]
2018-10-31 04:00:11pm - andrei - [email protected]
2018-10-31 04:01:45pm - Andrea xxxxx - [email protected]
2018-10-31 04:05:11pm - Edoardo xxxxx - [email protected]
2018-10-31 04:15:29pm - Chiara xxxxx - [email protected]
2018-10-31 04:53:49pm - Alessandro xxxxxx - [email protected]
2018-11-01 09:25:03am - Alessandro xxxxxx - [email protected]
2018-11-01 08:56:24pm - mimmoozz - [email protected]

 

 

Codice Sorgente

La CTF è Open Source ed è disponibile su GitHub, per chi vuole ancora giocare può farlo su http://hackinbo.itserver.me per i prossimi 15 giorni.

Da migliorare…

Sicuramente rispetto alla precedente edizioni non ho fatto il grosso errore di lasciare la directory git esposta, però mi sono reso conto che anche in questa edizione ho fatto qualche errore. In primis il sudoku che lo avevo ricercato con due possibili soluzioni ma realmente durante l’evento un utente mi ha segnalato la presenza di una terza soluzione che non avevo previsto. Chi ha giocato la domenica questo errore non lo ha riscontrato e nel repository trovate già la correzione. Il cruciverba infine ho capito che è stato veramente difficile, in tanti hanno pensato a Star Wars anziché Mr Robot; potevo aggiungere un’ulteriore lettera per facilitare i concorrenti.

Al HackInBoat personalmente non sarò presente, ma probabilmente si ripeterà la CTF in autunno del 2019 se qualcuno ha idee/suggerimenti che ben vengano!