È persino ragionevole avere un server a casa che ottiene periodicamente backup di tutti i siti Web dei miei clienti?
Sì, a condizione che segua alcune precauzioni
Esiste una minaccia alla sicurezza per i miei computer collegati sulla stessa rete / router del server che avrà accesso FTP?
Sì, se non segui alcune precauzioni
- Cosa succede se il mio server cloud viene compromesso? Quindi è probabile che anche il mio PC di backup basato su casa venga compromesso perché il server cloud può connettersi ad esso.
- Cosa succede se il mio PC di backup da casa è compromesso? A cosa ha accesso?
Quindi, in pratica, si desidera ridurre il rischio di compromissione di entrambi i sistemi, limitando al contempo l'accesso che un utente malintenzionato avrebbe nel caso in cui riuscisse a compromettere entrambi.
Precauzioni
- Non utilizzare FTP poiché le credenziali possono essere trasmesse non crittografate, eseguire un server SSH su un box Linux e connettersi / trasferire file utilizzando
scp
. Alternativa: trova un server di tipo SFTP o SCP che gira su Linux, Mac o Windows.
- Utilizzare un account SSH limitato che disponga solo dell'accesso scp alla directory di backup e dell'accesso sufficiente per inviare il backup.
- Utilizzare una chiave privata per l'autenticazione
- Con i passaggi precedenti, se il tuo server cloud remoto viene suddiviso e la chiave privata viene rubata, un utente malintenzionato avrà accesso solo a un backup di un server a cui hanno già accesso!
- Esegui un firewall con NAT / port forwarding e funzionalità DMZ (potrebbe anche essere il router WiFi del tuo ISP se ha un firmware aggiornato senza vulnerabilità conosciute - ricontrolla questo - alcuni router ISP più vecchi sono pieni di bug)
- Inserisci il tuo computer di backup da casa in una DMZ. In questo modo non ottiene facilmente l'accesso a nessun altro computer e quindi riduce drasticamente la minaccia se viene compromessa. È possibile inoltrare la porta 22 dalla propria rete domestica interna alla DMZ e accedere con privilegi più elevati per scopi amministrativi / scp.
- Utilizza il port forwarding NAT / per inoltrare una porta TCP alta casuale (ad es. 55134) dal tuo IP pubblico al tuo servizio SSH - questo renderà il servizio meno facilmente reperibile
- Limitare l'accesso al firewall in modo che la porta inoltrata sia visibile solo al server cloud remoto
- Non inserire dati riservati, chiavi private SSH, password, ecc. Ecc. Sul computer di backup. In questo modo, se viene compromesso, riduci ulteriormente ciò a cui un attaccante ha accesso.
- Mantieni aggiornati tutti i sistemi / servizi, in particolare sul server cloud e sul PC di backup. Le vulnerabilità vengono sempre scoperte e spesso possono essere facilmente sfruttate dagli aggressori, ad esempio per trasformare l'accesso di base in accesso a livello di root. (ad es. https://dirtycow.ninja/ )
Questo elenco è lo scenario ideale e dovrebbe aiutarti a pensare ai rischi. Se il tuo router ISP non ha una funzionalità DMZ e non vuoi investire nella configurazione di un firewall alternativo, allora potresti essere soddisfatto di un compromesso (io personalmente non sarei contento) - in tal caso garantirebbe che i firewall basati su host siano attivi su tutti i PC della rete interna e che password complesse richiedano l'autenticazione per tutte le condivisioni / servizi ecc.
Un'alternativa, come suggerito da un altro utente (ecco un po 'più in dettaglio) sarebbe lo script del tuo server cloud per produrre i backup e renderli disponibili e lo script del tuo PC di backup per connettersi tramite SFTP o SCP (SSH) per estrarre i backup .
Questo potrebbe funzionare bene, ma blocca la porta SSH / SFTP in modo che solo il tuo PC di backup possa accedervi, utilizzare un account di accesso limitato e pensare ad alcune delle stesse precauzioni. Ad esempio, se il tuo PC di backup è compromesso? Quindi anche il tuo server cloud è compromesso, ecc.