Erste Schritte mit dem VPS von Contabo – bald weg von Strato
Nach meinem Ärger mit Strato und vielen hilfreichen Hinweisen, habe ich mich für einen VPS oder vServer bei Contabo entschieden. Das Preis-Leistungs-Verhältnis ist Klasse. Ich habe den VPS bestellt und gleich via PayPal bezahlt, denn erst müssen die Moneten eintreffen, dann wird bearbeitet. Das ging in meinem Fall mit PayPal am schnellsten.
Das ging schnell mit dem VPS
Schnell ging es dann wirklich. Es hat gerade zirka zehn Minuten gedauert und der Server war einsatzbereit. Zunächst habe ich die Logindaten in mein KeePassX eingetragen und dann war ich natürlich neugierig und habe mich sofort eingeloggt. Allerdings zuerst beim Web-Frontend. Ich wollte wissen, welche Optionen mir zur Verfügung stehen. Genau gesagt hat mich der Bereich Ihre Dienste interessiert nd erwartungsgemäß gibt es da nicht viel. Aber es reicht aus:
- Harter Neustart (Strom)
- Neuinstallation eines Abbildes oder Images (alle Daten weg!)
- Rettungssystem – damit wird Dein Storage in ein Rettungssystem eingebunden und Du kannst versuchen, die Daten zu retten
- Servername – erklärt sich von selbst
- Kündigung – will ich gerade nicht – ich hab Dich ja erst ein paar Minuten!
Weiter unten ist dann noch eine explizite VPS-Steuerung, worüber ich noch einen Snapshot erstellen kann. In meinem Paket ist maximal einer zulässig, der mir aber reicht.
Via SSH und root anmelden
Natürlich konnte ich mich gleich via SSH und root am Server anmelden und habe zunächst ein bisschen gestöbert. Ich habe mir Ubuntu 16.04 LTS installieren lassen, weil das daheim auf dem Server ebenfalls läuft. Viel zu sehen gab es nicht, denn erwartungsgemäß war das Ding ziemlich leer. Das ist auch in Ordnung so, denn ich installiere lieber nach als aufräumen zu müssen.
Den erfahrenen Linux-Anwendern und Security-affinen Leuten muss es gerade kalt den Rücken runter gelaufen sein. Hat der da gerade SSH via root geschrieben? Ja, hat er – weil das per Standard so ist. Meine erste Aktion auf dem Server war dann tatsächlich einen weiteren Nutzer anzulegen, diesem SSH erlauben und sudo-Rechte geben und dann das root-Login sperren. Das geht so (selbstverständlich ein sicheres Passwort vergeben!):
adduser <anwendername> usermod -aG sudo <anwendername>
Nun editieren wir die Datei /etc/ssh/sshd_config und fügen die Zeile
AllowUsers <anwendername>
ein. Danach laden wir die SSH-Konfiguration neu:
service ssh reload
Nun testest Du erst einmal, ob Du Dich mit diesem Anwender via SSH anmelden und root-Rechte erlangen kannst. Ist das nicht der Fall und Du sperrst root, dann ist das doof – gut in diesem Status könnte man schnell ein neues Image aufspielen. Wenn das funktioniert, geht es zurück zur Datei /etc/ssh/sshd_config und Du änderst die Zeile
PermitRootLogin yes
in
PermitRootLogin no
Im Anschluss ist noch mal ein
service ssh reload
fällig und Du bist fertig. Bei mir sieht der relevante Bereich so aus:
Nun muss ein potenzieller Angreifer sowohl Deinen Anwendernamen als auch Dein Passwort erraten. Machen wir es den bösen Buben und Bots noch ein bisschen schwerer und installieren gleich noch fail2ban nach. Das kann nie schaden:
apt install fail2ban
Interessant: der Server ist noch keinen Tag alt und die Bots haben ihn schon gefunden. Hier aus dem fail2ban-Log
Nun ist der Server erst einmal abgesichert.
Unattended Upgrades – automatische Upgrades
Das ist bei einem Server ein heikles Thema. Auf der einen Seite möchte man die Software auf dem neuesten Stand halten und Security-Lücken so schnell wie möglich stopfen. Auf der anderen Seite will man so wenig Arbeit wie möglich mit dem Server haben.
Ubuntu stellt die Möglichkeit der Unattended Upgrades zur Verfügung und das Paket ist bereits vorinstalliert. Ist das nicht der Fall:
sudo apt-get install unattended-upgrades
Auf jeden Fall ist es eine Überlegung wert, die Komponente noch einmal neu zu konfigurieren:
sudo dpkg-reconfigure -plow unattended-upgrades
Per Standard werden die automatischen Upgrades so konfiguriert, dass Security Updates eingespielt werden. Das ist wohl ein guter Kompromiss zwischen immer Alles aktualisieren und auf jeden Fall Security-Lücken stopfen.
Auf jeden Fall sind die beiden Dateien /etc/apt/apt.conf.d/20auto-upgrades und /etc/apt/apt.conf.d/50unattended-upgrades für die automatischen Upgrades zuständig. Damit kannst Du das Ausmaß der automatischen Upgrades bestimmen.
Was habe ich gemacht? Ich gehe den Weg des Kompromisses und lasse Security Updates automatisch einspielen. Sollte es dann größere Upgrades geben, kann ich diese manuell durchführen und vorher meine Snapshot-Funktion nutzen. So kann ich notfalls schnell wieder eine Rolle rückwärts tätigen.
Es gibt übrigens seit einiger Zeit den Canonical Livepatch Service für bis zu drei Rechnern gratis – für Personal Use. Das wäre ein zusätzlicher Schutz vor bösen Security Lücken im Kernel.
Terminal auf Deutsch umstellen
Eine Sache hat mich auch noch gestört, dass Locales auf US eingestellt war. Das zeigt die Umlaute hässlich an und so weiter. Das lässt sich aber ebenfalls schnell beheben. Rufe dazu diesen Befehl auf:
dpkg-reconfigure locales
Dort wählst Du de_DE ISO-8859-1, de_DE.UTF-8 UTF-8 und de_DE@euro ISO-8859-15 aus und in der nächsten Maske als Standorteinstellung de_DE.UTF-8. im Anschluss startest Du den Server einfach neu:
shutdown -r now
Meldest Du Dich nun via SSH wieder an, kannst Du mit dem Befehl
locale
überprüfen, ob die Kommandozeile umgestellt ist.
screen und mosh dürfen auch nicht fehlen
Ein Tool installiere ich auch immer sofort und das nennt sich screen.
apt install screen
Das ist ein Fenstermanager, denn Du im Hintergrund weiterlaufen lassen kannst. Soll der Server mit etwas beschäftigt werden, das länger dauert und Du willst das lokale Remote-Fenster schließen, dann ist screen ideal. Du rufst das Tool einfach über die Kommandozeile mit screen auf.
Nun kannst Du alles machen, was Dir die Konsole so bietet. Läuft eine Aufgabe nun länger, darfst Du das screen-Fenster entkoppeln (detach). Das geht so: Strg+A danach D. Eine Hilfe mit den möglichen Tastaturkürzeln gibt es mit: Strg+A danach ?
Hast Du nur eine Screen-Sitzung am Laufen und möchtest Dich später mit ihr wieder verbinden, dann gibt einfach screen -r ein. Bei mehreren Sessions gibt mithilfe von screen -ls eine Liste und mit screen -r Sessionname kannst Du Dich zu einer bestimmten wieder verbinden.
Außerdem habe ich im Laufe der Zeit mosh für sehr nützlich befunden. Vor allen Dingen bei langsamen Verbindungen oder Roaming ist das sinnvoll.
Im nächsten Schritt werde ich dann Apache und MariaDB installieren und konfigurieren. Mithilfe einer inaktiven Domain kann ich dann experimentieren und den Umstieg simulieren und angemessen planen. Das kann aber ein paar Tage dauern – ich hab dummerweise im Moment eigentlich gar keine Zeit für das … 🙁 … muss aber irgendwie jeden Tag ein bisschen …
Ein grobes Backup-Konzept steht auch schon. Ich habe noch eine kleine Online-Festplatte mit 20 GByte, die nichts tut. Mein Webauftritt ist derzeit zirka drei GByte groß. Die Online-Festplatte kann ich mit rsync ansprechen und damit sollte es dann vorerst funktionieren. Also das funktioniert bereits – rsync via SSH ohne Anmeldung ist bereits eingerichtet. Ich muss später dann nur noch bestimmen, welche Ordner und Dateien ich sichern will.
Na dann viel Erfolg Jürgen. Du wirst es mit Sicherheit nicht bereuen und nach und nach komplett umziehen. Falls doch mal die Domain dran ist, kann ich https://www.inwx.de/ empfehlen. Der Registrar ist gut und günstig. Eine DynDNS bekommst du pro Account dazu. Diese habe ich auf meinen Pi geschalten. Was will man mehr?
intux
Vielen Dank für den Informativen Beitrag.
Strato?
Ich wusste gar nicht, dass es die noch gibt. Ich hab da mal ~2000 für zwei Jahre meine Homepage gehosted aber wirklich toll war das nicht... Der Schockwellenreiter bezeichnet Strato immer als "seinen Spielzeugprovider". 😀
> Nun muss ein potenzieller Angreifer sowohl Deinen Anwendernamen als auch Dein Passwort erraten.
Warum Passwort-Login? Ich würde den deaktivieren und nur Login per key erlauben, damit machst du es den bösen Buben noch etwas schwerer.
Ist witzig, ich teste grade Contabo. Bist du aktuell nun zu Contabo ganz gewechselt ? Vor kurzen ist der WinServer einer guten Freundin gehackt worden, mit diesen Ramsoftware oder wie das heisst. Jedenfalls wollte er Geld haben, damit die sachen wieder entschlüsselt werden. Meine Freundin war ziemlich am Boden zerstört, da sie ein paar Wochen davor schon mit einem HardwareProblem zu kämpfen hatte.
Sie hat nicht gezahlt und soweit es geht, den Trojaner vom System entfernen können. Die verschlüsselten Daten waren wohl soweit futscht, aber die wirklich wichtigen hat er nicht anrühren können.
Contabo sieht soweit von Bedienung nicht schlecht aus, mal sehen ob ich dabei bleibe ;D
Mein Auftritt und meine Nextcloud laufen auf dem gleichen Contabo Server, ja.
Gehackt zu werden ist ja nicht zwingend das Problem des Providers. Ich muss mich auch selbst um Updates und Security kümmern und versuche das eben so gut wie möglich zu machen.
Das beste Mittel gegen Ransomware ist eine gute Backup-Strategie.
Lassen sich die Contabo VPS auch via VPN ins heimische Netzwerk integrieren?
Du meinst mit OpenVPN oder wie? Also ich benutze meinen Server auch teilweise mit sshuttle als VPN ...