Wenn man sich einen neuen VServer geleistet hat, muss man ein paar Sachen beachten und absichern.
Das sollte man gewissenhaft machen, da sonst der VServer gekapert werden kann.
Bei mir war es zumindest schon mal „halb“ passiert. Nicht der VServer wurde mir gestohlen, sondern jemand hat sich an meinem Mail Server zu schaffen gemacht. Beziehungsweise wurde mein Mail Server als Mail Bombe benutzt. Das heißt, es wurden die ganze Zeit Spamnachrichten über meinen Server verschickt. So kann man übrigens verdammt schnell auf die Blacklisten aller Mailanbieter kommen. Also wenn ihr das mal ausprobieren wollt – ich kann das nicht empfehlen.
Meine VServer laufen bis jetzt immer auf Ubuntu. Daher wird das Tutorial auch hier darauf aufbauen. Man kann aber vieles auch für andere Betriebssysteme adaptieren.
Root Login initial benutzen und neuen Benutzer Account anlegen
Jeder VServer Anbieter teilt euch beim Kauf mit, wie die IP zum Server heißt und wie das Passwort des ROOT Accounts ist. Ab diesen Zeitpunkt habt ihr also die wichtigsten Elemente bekommen. Mit der IP und mit dem Passwort könnt ihr euch nun initial einloggen:
ssh root@ip-addr
Der ROOT Account ist der mächtigste Account auf eurem VServer. Er sollte dringend deaktiviert werden und der Login sollte nur dieses eine Mal benutzt werden.

Damit ihr den ROOT Account deaktivieren könnt, braucht ihr natürlich einen anderen Account – euren Account!
adduser spidey
Wenn ihr das eingegeben habt, müsst ihr nun ein paar Fragen beantworten. So könnt ihr hier euer Passwort definieren.
Damit euer neuer Account aber überhaupt etwas machen kann und auch ein wenig „Power“ bekommt, muss er zur „sudo“ Gruppe hinzugefügt werden. Mithilfe von „sudo“ können dann ROOT Befehle ausgeführt werden.
usermod -aG sudo spidey
Public Key Login aktivieren
Nun ist also euer Account angelegt und nun kommt die Sicherheit:
Mithilfe des Public Key Logins müsst ihr nun beim Anmelden kein Passwort mehr benutzen. Zum Anmelden braucht ihr dann euren Private Key. Diesen kennt nur ihr und wird gegen den hinterlegten Public Key auf euren Server authentifiziert. Diese Keys sind sehr lang und bringen daher eine erhöhte Sicherheit!
Am Anfang müsst ihr natürlich auf euren Computer das Schlüsselpaar (private und public) generieren. Der private Key wird auf dem Computer bleiben und der public Key wird auf dem Server hinterlegt. Öffnet hierzu bitte eine neue Konsole.
ssh-keygen
Wenn ihr ein paar Fragen beantwortet habt, wird euch der Speicherort angezeigt. Ihr solltet nun dahin navigieren. Dort sollte sich ein Schlüsselpaar befinden:
- id_rsa (private)
- id_rsa.pub (public)
Nun habt ihr zwei Möglichkeiten diesen public Key auf eurem Server zu hinterlegen:
ssh-copy-id
Mit dem ssh-copy-id Skript/Programm könnt ihr euren public Key auf den Server kopieren lassen. Dazu muss der Account und die IP angegeben werden. Damit der Key auch für den richtigen Account hinterlegt wird, müsst ihr natürlich den neu angelegten Nutzeraccount benutzen.
ssh-copy-id spidey@ip-addr
Wenn ihr diesen Befehl ausgeführt habt, werdet ihr nach euren Passwort gefragt. Später werden wir diese ganzen Passwortabfragen beim Verbinden noch deaktivieren. Dann kann man sich nur noch mithilfe des Schlüsselpaares verbinden. Aber dieses eine Mal werden wir das Passwort noch benutzen. Macht nun eine neue Konsole auf und testet euren private Key.
ssh spidey@ip-addr
Nun solltet ihr gleich verbunden sein und es sollte keine Nachfrage nach einen Passwort kommen.
Manuell den public Key hinterlegen
Als Erstes brauchen wir euren public Key. Der soll ja nun auf dem Server hinterlegt werden.
cat ~/.ssh/id_rsa.pub
Den Inhalt solltet ihr in die Zwischenablage kopieren. Irgendwo solltet ihr noch die Konsole von euren VServer haben. Dort solltet ihr immernoch als ROOT angemeldet sein. Wechselt nun zu euren Benutzeraccount. Der Befehl hierfür heißt „switch user <userName> oder kurz:
su - spidey
Nun solltet ihr euch in euren „Home“ Verzeichnis befinden. Wenn ihr nich wisst wo ihr seid, hilft der Befehl „pwd“. Dieser gibt euch den aktuellen Pfad aus. In euren Homeverzeichnis müssen nun ein paar Ordner angelegt werden. Diese Ordner müssen außerdem mit den richtigen Rechten versehen werden.
mkdir ~/.ssh/ chmod 700 -R ~/.ssh/
Danach muss nun die Datei „authorized_keys“ angelegt werden. Die Datei füllen wir mit dem Inhalt aus der Zwischenablage, bzw. mit dem public Key. Ihr könnt die Datei mit einen Editor eurer Wahl öffnen. Ich benutze meist für sowas den Editor „nano“. Wenn dieser nicht installiert ist, kann man ihn fix nachinstallieren oder den Editor „vi“ benutzen.
nano ~/.ssh/authorized_keys
Den Editor kann man dann mithilfe von „Steuerung+X“ verlassen. Die Nachfrage muss man mit der Taste y bestätigen.
Nun ist der public Key installiert. Macht nun eine neue Konsole auf und testet euren private Key.
ssh spidey@ip-addr
Nun solltet ihr gleich verbunden sein und es sollte keine Nachfrage nach einen Passwort kommen.
Passwort Logins deaktivieren
Fassen wir nochmal kurz zusammen, was bis hier hin geschehen ist:
- Login via ROOT Account
- neuen Benutzer anlegen und Passwort hinterlegen
- Private und public Key generieren
- public Key auf dem Server hinterlegen
- Login mithilfe von Schlüsselpaar erfolgreich durchführen
Nun kommt der Augenblick, wo der Passwort Login deaktiviert wird. Das sollte aber nur gemacht werden, wenn der Login mithilfe des Schlüsselpaares erfolgreich war.
Um den Passwort Login zu deaktivieren müssen wir die SSH Konfiguration anpassen.
Die nächsten Schritte könnt ihr gerne unter euren neuen Account durchführen. Also in diesem Beispiel – spidey.
sudo nano /etc/ssh/sshd_config
Nun müssen wir einige Konfigurationen finden. Bei „nano“ kann man mithilfe von „Steuerung+W“ suchen.
- PasswordAuthentication auf no stellen
- PubkeyAuthentication auf yes stellen (sollte standardmäßig so sein)
- ChallengeResponseAuthentication auf no stellen (sollte bereits so sein)
Diese Einstellungen müssen dann auch wieder mithilfe von „Steuerung+X“ gespeichert werden.
Diese Änderungen müssen natürlich übernommen werden und dafür muss der SSH Dienst neugestartet werden.
sudo systemctl reload sshd
Nun sollte der Passwort Login deaktiviert sein. Bevor ihr euch aber jetzt zu schnell vom Server ausloggt, solltet ihr die neue Konfiguration testen. Macht bitte wieder eine neue Konsole auf und testet den SSH Login mit dem Schlüsselpaar erneut.
ssh spidey@ip-addr
Wenn das auch wieder funktioniert, ist der Großteil geschafft.
Im nächsten Beitrag werde ich euch noch ein paar Feinheiten der Ubuntu Firewall erklären. Damit aber erstmal der Schutz da ist, solltet ihr noch zwei Befehle ausführen.
sudo ufw allow ssh
sudo ufw enable
Diese beiden Befehle sind schnell erklärt. Der erste Befehl fügt den SSH Port (21) als Ausnahme zu der Firewall hinzu. Klar, wie wollt ihr euch zum Server verbinden, wenn der Port 21 nicht freigegeben ist.
Der zweite Befehl aktiviert die Firewall. Ab jetzt kann man von außen also nur noch über den Port 21 auf euren Server zugreifen. Und dieser ist geschützt durch die private/public Key Authentifizierung. Bevor ihr euch aber auch hier wieder abmeldet, solltet ihr einer separaten Konsole euren Login erneut testen. Der sollte hoffentlich noch funktionieren.
ssh spidey@ip-addr
Wenn das geklappt hat, sehen wir uns im nächsten Beitrag wieder. Dort erkläre ich dann ein paar Dinge und Feinheiten zur Firewall und warum jeder eine haben sollte.
Quelle: https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-16-04