Ich habe verschiedene andere Tutorials und Blog-Beiträge zum Einrichten eines Ubuntu-Computers als Backup- "Server" (ich nenne es einen Server, aber es läuft nur Ubuntu-Desktop) befolgt, auf die ich mit rsync neue Dateien schiebe. Im Moment kann ich mit rsync und ssh mit einem von mir erstellten RSA-Schlüssel und ohne Kennwortabfrage eine Verbindung zum Server von meinem Laptop aus herstellen, wenn mein Laptop mit meinem Heimrouter verbunden ist, mit dem auch der Server verbunden ist. Ich möchte in der Lage sein, Dateien von meinem Laptop zu senden, wenn ich nicht zu Hause bin. Einige der Tutorials, die ich mir angesehen habe, hatten einige kurze Vorschläge zur Sicherheit, aber sie haben sich nicht auf sie konzentriert.
Was muss ich tun, damit mein Laptop Dateien an den Server senden kann, ohne dass es jemand anderem zu leicht fällt, sich in den Server zu hacken?
Folgendes habe ich bisher getan:
Führen Sie ssh-keygen und ssh-copy-id aus, um ein Schlüsselpaar für meinen Laptop und Server zu erstellen.
Erstellt ein Skript auf dem Server, um seine öffentliche IP-Adresse in eine Datei zu schreiben, die Datei zu verschlüsseln und auf einen FTP-Server hochzuladen, auf den ich Zugriff habe (ich weiß, dass ich mich für diesen Teil für ein kostenloses dynamisches DNS-Konto anmelden könnte, aber seit ich Ich habe das FTP-Konto und muss die IP nicht wirklich öffentlich zugänglich machen. Ich dachte, das wäre besser.
Hier sind die Dinge, die ich vorgeschlagen habe:
Portweiterleitung: Ich weiß, dass ich dem Server eine feste IP-Adresse auf dem Router zuweisen und dann den Router anweisen muss, einen oder mehrere Ports an ihn weiterzuleiten. Sollte ich nur Port 22 verwenden oder einen zufälligen Port auswählen und diesen verwenden?
Schalten Sie die Firewall ein (ufw). Wird dies irgendetwas tun oder wird mein Router bereits alles außer dem gewünschten Port blockieren?
Führen Sie fail2ban aus.
Sind all diese Dinge es wert, getan zu werden? Soll ich noch etwas tun? Könnte ich den Server so einrichten, dass nur Verbindungen mit dem RSA-Schlüssel (und nicht mit einem Kennwort) zugelassen werden, oder bietet fail2ban einen ausreichenden Schutz vor böswilligen Verbindungsversuchen? Ist es möglich, die Art der Verbindungen zu begrenzen, die der Server zulässt (z. B. nur ssh)?
Ich hoffe das sind nicht zu viele Fragen. Ich bin ziemlich neu in Ubuntu (aber benutze die Shell- und Bash-Skripte unter OSX). Ich muss nicht die absolut sicherste Einrichtung haben. Ich möchte etwas, das einigermaßen sicher ist, ohne so kompliziert zu sein, dass es leicht auf eine Weise kaputt geht, die für mich schwer zu reparieren wäre.