Il cloud meno nuvoloso in casa propria

Cloud qui, cloud lì, nuvole ovunque, oggi si parla di cloud come anni fa qualunque ciarlatano parlava di web, come recentemente scrissi qui c’è da leggere con molta cura i termini di servizio dei vari provider.

Alla fine ho deciso semplicemente che non voglio dare i miei file a nessuno, sopratutto perché avendo un NAS in casa non ha alcun senso lasciare dati “fuori casa”.

Nel mio caso ho un NAS Synology e per iniziare a crearci la nuvoletta casalinga basta aprire il Control Panel e selezionare ezCloud (che altro non è che un servizio DDNS offerto da Synology stessa):

Secondo step, registrate un hostname a scelta, username, password (mi raccomando affidatevi ad un password generator!!!)

Passo successivo, è necessario impostare il port forwarding (Wikipedia) sul proprio router a casa.

Ovviamente nel campo “IP Address” va inserito l’indirizzo IP del NAS al quale andranno inoltrate tutte le richieste che arriveranno al router sulle porte indicate.

Sicurezza

Una volta che si sceglie di erogare un servizio in casa è bene stare molto attenti, ma veramente attenti, ma proprio attenti alla sicurezza. Un interessantissimo report di Verizon ci indica che il 71% degli attacchi nel 2011 riguarda servizi web, ma il dato più interessante è che ben l’83% degli attacchi è di tipo “opportunistic”, ovvero lo smaliziato di turno decide di prendervi come bersaglio semplicemente perché ha individuato il sistema e trovato magari un servizio con una falla conosciuta, o perché ha imbroccato al volo l’utenza “admin” con password “password” o semplicemente la password predefinita del router.

Per prima cosa applicate delle password sicure, ma proprio sicure, ma veramente sicure. Ve l’ho detto che devono essere sicure? Affidatevi ad un password generator, lo so che sono brutte e difficili da ricordare ma anche qui la soluzione si trova. In rete si trovano tantissimi password manager, gratuiti, a pagamento, per tablet, per cellulari, per Mac, Windows, Linux e forse persino per C64, scegliete quello che fa al caso vostro così dovrete ricordare una sola password. Io uso eWallet, a pagamento ma multipiattaforma e fa quel che deve fare.

Sistemato il capitolo password si potrebbe anche pensare di cambiare nome all’utente predefinito (nel caso di Synology è admin) per evitare che qualcuno si metta a cercare di indovinare le password. Io non sono arrivato a tanto perché preferisco utilizzare la funzione IP Block:

Non abbiate paura di impostarlo in modo “cattivo”, così passa la voglia al cretino di turno, il tutto è accuratamente tracciato in modo automatico così che se diventa insistente si può sempre preparare una bella email al suo provider:

Ecco un esempio di log:

E’ una buona idea attivare il servizio di notifiche che molti NAS offrono, semplicemente mandano un’email quando accade qualcosa, come ad esempio un shutdown improvviso per mancanza di corrente, quando ci sono aggiornamenti, quando si blocca un IP per troppi accessi falliti e via dicendo, di solito si tratta di configurare un server SMTP in uscita (potete tranquillamente usare un account di GMail).

Se poi vi dovrete collegare verso casa solo da certi sistemi a IP fisso (tipo dall’azienda) si può anche pensare di impostare il firewall del NAS in modo che accetti le richieste solo in caso arrivino dalla LAN e dall’IP della vostra azienda, questo però vi bloccherà la possibilità di accedere ai servizi quando siete in giro con il cellulare piuttosto che con un tablet ed un abbonamento dati o da una wi-fi pubblica, comunque ecco come si può fare:

Infine, consiglio caldamente di crearvi (o comprare) un certificato SSL, quasi tutti i produttori di NAS supportano la possibilità di importare un certificato, in questo modo eviterete la noiosa schermata di avvertimento di tutti i browser quando ci si collega via HTTPS ad un sito con un certificato non valido.

Evitate in tutti i modi di collegarvi via Telnet, HTTP o FTP senza crittazione, i vostri migliori amici saranno SSH, HTTPS e FTP-SSL, all’interno della vostra LAN fate come vi pare ma dal bar sotto casa l’ultima cosa che vorrei è far viaggiare le password in chiaro per la rete, ci vuole veramente poco ad intercettarle, siete avvisati.

Ora avete il vostro cloud casalingo, con svariati gigabyte di spazio ma sopratutto senza dover rispondere a nessun contratto di licenza assurdo.Synology offre una serie di applicazioni gratuite, sia per iOS che Android:

  • DS File: gestione file in remoto
  • DS Finder: gestione NAS da remoto
  • DS Video: streaming video, purtroppo però tutti i video devono essere in MP4 con H264
  • DS Audio: streaming audio
  • DS Photo+: si collega a Photo Station e permette di visualizzare e gestire la libreria fotografica
  • DS Cam: gestione del servizio telecamere

Non resta che stare a contare gli IP dinamici bloccati, vi garantisco che ne accumulerete alcuni ma se avete protetto tutto in modo decente non ci sarà nulla da temere. 🙂

UPDATE:

A riprova del fatto che un NAS esposto sul web riceve attenzioni, ecco l’elenco degli IP che hanno tentato (e fallito) un accesso negli ultimi giorni:

  • Aug 27: 91.205.189.15
  • Aug 27: 67.110.250.166
  • Aug 28: 124.165.213.190
  • Aug 28: 202.32.129.133
  • Aug 30: 210.187.17.227
  • Aug 30: 67.213.65.166
  • Aug 30: 182.16.140.125
  • Aug 30: 80.86.84.68

Tutti tentativi di login via SSH per cui si torna al solito consiglio: password sicure!

Update:

Ho notato, con grande stupore, che l’installazione predefinita permette all’utente root di loggarsi via ssh, grave mancanza da parte di synology, non va MAI, ma proprio MAI permesso a root di sfruttare servizi da remoto. La prima cosa da fare è installare sudo, per cui:

# ipkg update
# ipkg install sudoers

Qui va aggiunta la riga:

$VOSTRO_USERNAME ALL=(ALL) ALL

Ora blocchiamo root da accessi via SSH:

# vi /etc/ssh/sshd_config

Vanno modificate le righe:

Protocol 2
PermitRootLogin no

A questo punto non resta che riavviare SSH e abbiamo escluso root da tentativi di accesso via SSH, una volta loggati da utente ci rimane sudo.

Leave a Reply

Your email address will not be published. Required fields are marked *