Come configurare un backup rsync su Ubuntu in modo sicuro?

7

Ho seguito vari altri tutorial e post sul blog sulla configurazione di una macchina Ubuntu come "server" di backup (che chiamerò server, ma è solo su desktop Ubuntu) con cui spingo i nuovi file con rsync. In questo momento, sono in grado di connettermi al server dal mio portatile usando rsync e ssh con una chiave RSA che ho creato e nessuna richiesta di password quando il mio laptop è collegato al mio router di casa a cui è collegato anche il server. Mi piacerebbe poter inviare file dal mio portatile quando sono lontano da casa. Alcuni dei tutorial che ho esaminato hanno alcuni brevi suggerimenti sulla sicurezza, ma non si sono concentrati su di essi.

Che cosa devo fare per consentire al mio laptop di inviare file al server senza rendere troppo facile l'accesso di hacker al server da parte di qualcun altro?

Ecco cosa ho fatto finora:

  • Ho usato ssh-keygen e ssh-copy-id per creare una coppia di chiavi per il mio laptop e server.

  • Creato uno script sul server per scrivere il suo indirizzo IP pubblico su un file, crittografarlo e caricarlo su un server ftp a cui ho accesso (so che posso registrarmi per un account DNS dinamico gratuito per questa parte, ma visto che ho l'account ftp e non ho davvero bisogno di rendere l'ip pubblicamente accessibile ho pensato che potrebbe essere meglio).

Ecco le cose che ho visto suggerite:

  • Port forwarding: so che è necessario assegnare al server un indirizzo IP fisso sul router e quindi dire al router di inoltrare una porta o le porte ad esso. Dovrei semplicemente usare la porta 22 o scegliere una porta casuale e usarla?

  • Accendi il firewall (ufw). Questo farà qualcosa, o il mio router già bloccherà tutto tranne la porta che voglio?

  • Esegui fail2ban.

Vale la pena fare tutte queste cose? Dovrei fare qualcos'altro? Posso configurare il server per consentire solo le connessioni con la chiave RSA (e non con una password), oppure fail2ban fornirà una protezione sufficiente contro i tentativi di connessione malevole? È possibile limitare i tipi di connessioni che il server consente (ad esempio solo ssh)?

Spero che non siano troppe domande. Sono abbastanza nuovo per Ubuntu (ma uso gli script shell e bash su OSX). Non ho bisogno di avere la configurazione più sicura in assoluto. Mi piacerebbe qualcosa che sia ragionevolmente sicuro senza essere così complicato da poter facilmente infrangere in un modo che sarebbe difficile per me risolvere.

    
posta ws_e_c421 17.12.2012 - 16:08

1 risposta

6

Ok, penso che tu stia cercando un architetto un po '. SSH è uno dei protocolli di trasferimento file più sicuri e se già stai eseguendo una rsyncing su SSH, allora il tuo 90%. Il router funge da firewall di base quindi non è necessario attivare iptables per un server di backup personale.

Attacca con la porta 22. Renderà la vita molto più facile.

fail2ban è un simpatico script per server pubblici, specialmente dove sono abilitati gli accessi basati su password. Sul tuo server farà più problemi, quindi verrà risolto. Non raccomanderei di eseguirlo. Ecco i miei suggerimenti:

  • Vai avanti e ottieni l'IP dinamico, lo renderà più semplice e, più o meno quando viaggi, il tuo script ftp fallirà per qualche motivo davvero strano. Fondamentalmente KISS.
  • Disattiva login di password per ssh. In / etc / sshd_config cambia PasswordAuthentication yes in PasswordAuthentication no e assicurati che challengeresponse sia impostato su no . Ciò bloccherà chiunque senza che la tua chiave privata effettui il login.

Altri poi che sono praticamente coperti per impostazione predefinita. ssh crittografa il traffico e verifica l'host / client. Non ne è rimasto molto dopo.

    
risposta data coteyr 17.12.2012 - 16:35

Leggi altre domande sui tag