Blocco tentativi accessi SSH!

Forse la soluzione definitiva!

0
42
SSH argomento principale dell'articolo

Salve a tutti, dopo tanto tempo torno a scrivere qualche breve guida.
Oggi andremo a parlare di un problema che recentemente mi è sorto e che ho personalmente provveduto a risolvere nella speranza di sistemare una volta per tutte la questione ossia il blocco di tentativi di accessi SSH alla mia macchina.

Il problema:

Troviamo una soluzione al problema

Oggi giorno può capitare di voler far affacciare su Internet servizi che riteniamo essere utili fuori casa e che vogliamo che siano hostati presso casa nostra, magari tramite l’uso di un raspberry.
Si pensi ad un server FTP per scambiare file con qualche device presso casa propria.
Un server SSH per controllare qualche device, oppure una TorrentBox o “muletto” per scaricare qualche torrent oppure un pannello di gestione di device di domotica.

Uno dei principali problemi risulta essere il crescente aumento di attacchi ad infrastrutture come modem o router non correttamente configurati o protetti.
Un possibile risoluzione momentanea del problema è il continuo cambio di IP del modem.
Ad ogni riavvio infatti l’IP del moedem sarà differente per la maggior parte di voi lettori. Perciò risulta difficile ritrovarci in Internet, ma il problema non è risolto.
Ho cosi pensato, dato che ho parecchi dei servizi nominati precedentemente, di sistemare il tutto tramite l’autorizzazione di un singolo IP ad accedere a casa mia, ma come fare dato che accedo da uno smartphone che cambia continuamente IP e casa mia cambia continuamente IP?
Vediamo un pò..

Procediamo!

  1. creare un ddns, consiglio no-ip, presso di esso ho creato ben 2 DDNS, uno per casa e uno per lo smartphone.
  2. Consiglio la seguente app, molto minimale e più che sufficente per fare ciò che ci serve.
  3. Inserire, nell’app, l’host precedentemente creato su no-ip con le rispettive credenziali d’accesso all’account no-ip, ricordate di mettere sempre una buona password!
  4. Inserire le seguenti stringhe di codice in uno script bash, renderlo eseguibile, per chi non ricordasse “chmod +x nomefile”.

!/bin/bash
MyIP="$(getent hosts DDNSCREATO | awk '{ print $1 }')"
echo -e "sshd : localhost : allow\nsshd : 192.168.1. : allow\nsshd : $MyIP : allow\nsshd : ALL : deny\n" > /etc/hosts.allow
exit 1

P.S cambiare l’192.168.1. con la propria sottorete casalinga, altrimenti non si sarà in grado di accedere in SSH sul proprio dispositivo in LAN.

Altro piccolo passaggio è il seguente.
Entrare nella crontab (sudo crontab -e) e creare un esecuzione automatica del precedente script ogni quanti minuti si vuole, cosiglio max 5.
Inoltre, vi suggerisco questo generatore di crontab in caso non sappiate mettere le mani su quest’ultima.

Cosa accade:

Ogni qual volta che si vuole entrare a casa da smartphone, si effettua la sincronizzazione del proprio IP con il ddns tramite app, si aspetta il tempo inserito poche righe più su affichè il dispositivo di casa interroghi il ddns creato, ottenga l’ip appena sincronizzato e lo aggiunga come unico permesso alla connessione, ciò è cosa accade.

Perciò abbiamo realizzato il blocco tentativi accessi SSH alla propria infrastruttura.

Eventuali chiarimenti sulla sicurezza:

Sicrezza della propria rete.

Cosa accade se sono sotto una WiFi pubblica? Sincronizzi l’ip della WiFi.


Ma quindi chiunque potrebbe tentare l’accesso a casa mia? Si vero…ma hai pur sempre il key pair a difesa di casa tua.

Ma quindi… Si, è inutile avere Fail2Ban o applicazioni simili, in quanto non c’è nessun IP da bannare che può tentare la connessione, tutte le combinazioni ad eccetto di localhost, LAN e un ip, quello dello smartphone, sono già bandite ogni X tempo in automatico.

Come ottengo l’IP di casa mia? Bhe per quello ho usato un DDNS collegato al modem, cosi invece che connettermi ad aaa.bbb.ccc.ddd ,mi connetto a mioddns.myddns.me, non devo ricordare una sequenza numerica.
Con ciò ho esplicitato anche qualche chiarimento sulla sicurezza.

Bene, per oggi è tutto,

LASCIA UN COMMENTO

Please enter your comment!
Please enter your name here