HowtoSicurezza Informatica

Socks 5 e Raspberry Pi – Navigare sicuri su reti pubbliche

Navigare in sicurezza anche utilizzando  Hotspot gratuiti.

Come utilizzare internet in modo sicuro usando Socks_5 da luoghi non sicuri.

Questa tematica ( utilizzo del socks tunneling via ssh – Socks 5) è rivolta a quanti si ritrovano a dover utilizzare punti di accesso ad internet mediante HotSpot non sicuri come Wi-Fi alberghi , aereoporti e da locali pubblici che offrono connessioni alla Rete.

Mi sono ritrovato più di una volta ad avere a disposizione un punto di accesso alla rete ( sia mediante WiFi che cablato ) e ho preferito non utilizzarlo perchè non avevo nessuna garanzia se vi era “qualcuno” in ascolto !.

Di cosa parleremo

 Socks Vx

“– Un server SOCKS è un particolare tipo di proxy che permette di effettuare connessioni TCP dirette (e, dalla versione 5, di veicolare traffico UDP oltre che TCP) tra computer su due reti IP differenti nei casi in cui un instradamento diretto (routing) non sia disponibile. È l’abbreviazione di “SOCKetS”. –“

Raspberry Pi

 “– Il Raspberry Pi è un single-board computer (un calcolatore implementato su una sola scheda elettronica) sviluppato nel Regno Unito dalla Raspberry Pi Foundation. Il suo lancio al pubblico è avvenuto il 29 febbraio 2012[1]. Finora, ne sono state prodotte otto versioni (Modelli: A, B, A+, B+, 2, Zero, 3, Zero W) con prezzi da 5 a 35 dollari statunitensi.

L’idea di base è la realizzazione di un dispositivo economico, concepito per stimolare l’insegnamento di base dell’informatica e della programmazione nelle scuole.

Il progetto ruota attorno a un System-on-a-chip (SoC) Broadcom (BCM2835[2], oppure BCM2836 per il Raspberry Pi 2, o BCM2837 per Raspberry Pi 3), che incorpora un processore ARM, una GPU VideoCore IV, e 256 o 512 Megabyte o 1 Gigabyte di memoria. Il progetto non prevede né hard disk né una unità a stato solido, affidandosi invece a una scheda SD per il boot e per la memoria non volatile.

La scheda è stata progettata per ospitare sistemi operativi basati sul kernel Linux o RISC OS. — ”

Come può un hacker ottenere i nostri dati ?

Uno dei problemi  con le reti pubbliche è la mancanza di autenticazione. Per entrare in una rete gratuita, in genere devi cliccare sull’icona desiderata, inserire alcune credenziali come il tuo numero di cellulare in una finestra del browser , inserire il codice che ti hanno consegnato o è semplicemente libera.

Non è richiesta alcuna autenticazione certa per usufruire della connessione come si farebbe normalmente a casa o in reti private. Ciò significa che chiunque può unirsi alla rete e iniziare a sfruttare la rete e le relative informazioni che vi circolano con estrema facilità. E in questo scenario, il tipo più comune di attacco,  è  il  man-in-the-middle. Qui, l’hacker è in grado di sfruttare un difetto di sicurezza nella rete per posizionarsi tra le nostre periferiche  e il punto di accesso  e  in specialmodo i dispositivi Wi-Fi rendono molto facile perpetrare tali attacchi. In questo modo, tutte le informazioni che passano tra noi e Internet vengono prima intercettate dall’hacker.

Come possiamo tentare di proteggerci ?

Se vogliamo utilizzare un punto di accesso  Wi-Fi Free o  la connessione in rame in ambito HotSpot, la miglior soluzione è quella di instaurare una connessione criptata e sicura dalla nostra periferica (portatile , smartphone etc.) che possa attraversare l’AP, il firewall (se ne esista uno) e il router dell’azienda che ci concede la connessione gratuita sino ad un punto “sicuro” esterno e di li navigare in rete così da attuare un Dinamic Port Forwarding.

dynamic port forwarding
dynamic port forwarding

In questo modo , si dovrebbe risolvere la possibilità  di effettuare sia sniffing che ridirezione all’interno della struttura che ci offre il servizio di collegamento. Si, uso il condizionale dato che sarebbe ancora possibile un determinato tipo di attacco che dovrebbe essere attuato da persone altamente specializzate e che abbiano “te” come unico bersaglio. Quindi se non siamo uno 007 in missione o una figura di spicco di una multinazionale non ci dovrebbero essere problemi.

Come farlo ?

Ci sono 2 metodi principali. A pagamento e quasi del tutto gratuito.

A pagamento

Vi sono aziende che vendono, come servizio la possibilità, di far instaurare da una periferica (pc , tablet , smartphone) e i loro server una connessione protetta e anonima installando un piccolo programma o App. Basta ricercare su google “VPN italia”

Quasi del tutto a gratis

Utilizzando un piccolo server , davvero piccolo in casa o in ufficio e utilizzare la nostra linea internet. Si davvero piccolo se decidiamo di utilizzare la Raspberry PI.

Cira 40 euro per una Raspberry PI 3 Model B Scheda madre CPU 1.2 GHz Quad Core, 1 GB RAM,  ma se trovate le “vecchiette” … vanno più che bene tipo la “PI 1 model B” su cui installare RASPBIAN STRETCH LITE  Minimal image based on Debian Stretch . Se poi aquistate la PI 3 potreste installare RASPBIAN STRETCH WITH DESKTOP Image with desktop based on Debian Stretch.

raspberry pi per il Socks 5 e Ssh
raspberry pi per il socks 5

Ora vediamo come far funzionare il tutto.

Occorrente: 1 Raspberry Pi  (io uso il vecchietto, il modello 1 e riesco a navigare a 40 Mb), 1 Scheda Sd da almeno 4 GB, un account per un DNS dinamico come DynDns Noip etc, 1 Client Linux o Schifosoft, 30 Minuti di tempo.

Scarichiamo RASPBIAN STRETCH LITE  Minimal image based on Debian Stretch  su questa pagina

Trasferiamo il S.O. sulla schedina SD:

Scarica Etcher e installalo.
Collegare un lettore di schede SD con la scheda SD all’interno.
Apri Etcher e seleziona dal tuo disco rigido il file Raspberry Pi .img o .zip che desideri scrivere sulla scheda SD.
Seleziona la scheda SD in cui desideri scrivere l’immagine.
Controlla le tue selezioni e fai clic su “Flash!” per iniziare a scrivere i dati sulla scheda SD.

Inseriamo la scheda SD nella nostra Raspberry Pi e Power-On

Configurazione

Configuriamo Indirizzo Ip Statico ( ci servirà per esporre il servizio SSH)

andiamo in shell

logghiamoci con  pi / raspberry

andiamo in etc ed editiamo

sudo nano dhcpcd.conf

scendiamo sino a Example static Ip Configuration e per una configurazione minimale ma perfettamente funzionante rimuoviamo # dalle seguenti quattro istruzioni

1-interface etho
2-static ip_address= (mettiano indirizzo scelto)
3-static routers = (indirizzo del ns router)
4-static domain_server = (mettiamo indirizzo del ns router e dns google cone 8.8.8.8)

configura ip raspberry
configura ip statico Raspberry

Salviamo e usciamo .

facciamo ripartire la nostra Raspberry Pi con sudo init 6

rilogghiamoci e dopo aver connesso l’interfaccia ethernet al ns router tentiamo un ping su 8.8.8.8 per vedere se è tutto ok.

Cambiamo la password di pi mediante interfaccia grafica

da shell sudo raspi-config

poi opzione 1 e cambiamo password. (mi raccomando una password di almeno 12 caratteri con lettere maiuscole, minuscole e numeri)

Ora attiviamo il servizio ssh

sempre dall’interfaccia grafica sudo raspi-config scegliamo opzione 5 (Interfacing Option) , poi P2 (enable/disable SSH) e abilitiamo il servizio. Controlliamo se tutto ok facendo un telnet sulla porta 22 (con schifosoft) o un ssh per vedere se tutto ok.

Esponiamo il servizio su Internet

Non ci rimane altro che configurare il Port Forwarding  sulla nostra Raspberry (in alcuni router definito Virtual Server ) e sempre sul router attivare il DNS dinamico in modo da poter puntare ad un nome logico quando ci troviamo fuori casa.

( se non sapete come fare .. scrivetemi ….)

Ah manca ancora una cosa ! Dobbiamo proteggerci ! Se noi esponiamo il servizio SSH senza adeguata protezione dopo circa 15 minuti inizierebbe l’orda infernale di tentativi di accesso da parte di Hacker ( non hanno un cavolo da fare) che non farebbe altro che rallantare la nostra connessione Internet.

A venirci in aiuto è fail2ban che dopo 5 tentativi di accesso andati a vuoto bannerà l’indirizzo ip dell’attaccante per 10 minuti ( cosi’ da scoraggiare nuovi tentativi)

Installare quasta potente utility è molto facile.

da shell classico comando ..

sudo apt-get update

e poi

sudo apt-get install fail2ban

Fail2ban di base attiva la protezione del servizio SSH quindi non dobbiamo fare altro che riavviare la nostra Raspberri Pi sempre con sudo init 6 e tentare di accedere da un altra periferica (sbagliando credenziali) piu volte per vedere se ci banna.

Comunque per vedere se il servizio fail2ban e’ in esecuzione

sudo fail2ban-client status

e per vedere se ha bannato qualcuno e quanti accessi errati sono stati tentati

sudo fail2ban-client status sshd

Vi consiglio di lanciare questo comando almeno dopo una mezzoretta di esposizione della nostra Raspberry su internet e ne vedrete delle belle !

fail2ban su raspberry
fail2ban su raspberry

Abbiamo finito con Raspberri Pi ! Ora come lo utilizzo ?

Iniziamo con Schifosoft.

Utilizzo con Microsoft

Scenario : albergo, aereoporto , etc etc

Materiale occorrente Putty  da scaricare e lanciare.

Scegliamo connessione SSH e inseriamo l’indirizzo pubblico del nostro server Raspberry.

putty ssh socks 5
putty ssh socks 5

Cliccare su category – SSH

Abilitare Dynamic, in Souce port inserire un numero da 1025 a 64000 e premere ADD .

putty ssh socks 5
putty ssh socks 5

e a questo punto, cliccare su open.

Verrà chiesto username e password , accreditatevi.

Aprite un browser, io prendo Firefox , e settate un proxy socks 5 in questo modo.

firefox socks 5
firefox socks 5

Confermate su ok e buona Navigazione  !!!!!!!

Utilizzo con Linux

Scenario : albergo, aereoporto , etc etc

Occorrente : Linux ( eheheh)

da shell

ssh -D 8888 pi@mioindirizzo.xxxx .net

inseriamo quindi la password e accettiamo la connessione . ( username è nella stringa di connessione pi@mioindiri…..)

Configuriamo il proxy socks 5

firefox socks 5
firefox socks 5

e buona navigazione sicura !

Installare OpenVPN server su Ubuntu, Debian , Fedora e…

 

Come configurare OpenVPN client su Ubuntu. Semplice con un .ovpn!