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.
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.
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)
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 !
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.
Cliccare su category – SSH
Abilitare Dynamic, in Souce port inserire un numero da 1025 a 64000 e premere ADD .
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.
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
e buona navigazione sicura !
Come configurare OpenVPN client su Ubuntu. Semplice con un .ovpn!