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.

With great power comes great responsibility!

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

Tags