Linux Debian Server einrichten

Linux Server einrichten

Um euch eine vollständige Anleitung zur Einrichten eines Linux Debian Servers, mit kopierbaren Befehlen bieten zu können, habe ich mir einen Test-Server eingerichtet, den ich als VirtualBox-VM laufen habe.

Für diese Anleitung gehe ich davon aus, dass ihr euch irgendwo einen Server gehostet habt und falls nicht, ihr die Linux-Grundinstallation schon durchgeführt habt und euch im Besitz des root-Passwortes befindet!

Download

Auf debian.org kann ein aktuells Image heruntergeladen werden.

Einstieg – Erste Anmeldung auf dem Linux Server

Wenn ihr einen Server gehostet habt, werdet ihr euch das aller erste mal mit dem root Benutzer über SSH mittels PuTTY anmelden.

Das ist eine riesige Sicherheitslücke und deshalb solltet ihr direkt nach dem Update auf die neueste Version, einen SSH-User anlegen und mit Private-/Public-Key-Verfahren authentifizieren und den Zugang per SSH für root sperren. Grundsätzlich ist es vorteilhaft für jede Anwendung einen eigenen Benutzer zu haben, der alleine das Recht besitzt die Anwendung zu administrieren.

Auf die neueste Version updaten

Zu aller erst sollte man die Linux-Distribution auf den neuesten Stand bringen, bevor man die Programme installiert und einrichtet! Es gibt mehrere Möglichkeiten, dies zu tun. Hier könnt ihr euch das noch genauer ansehen, ich habe mich für folgendes entschieden:

apt-get update
apt-get dist-upgrade

mit cat /etc/issue und cat /etc/debian_version bekommt ihr raus, welche Version grade installiert ist.

VIM installieren

Bevor ihr irgendwelche Konfigurationen vornehmt, solltet ihr das meiner Meinung nach wichtigste Programm auf einem Linux-System installieren, den besten Texteditor:

apt-get install vim

Eine Liste mit den Befehlen für vim findet hier hier.

SSH Zugang einrichten und absichern

Der SSH Installation und Absicherung habe ich mich bereits ausführlich in diesem Artikel gewidmet und eine Anleitung mit kopierbaren Befehlen erstellt.

Dort werden folgende Themen genauestens erklärt:

  • Der SSH Service wird installiert
  • Dem Benutzer root wird der Zugang gesperrt
  • Der Standard-Port 22 wird verändert
  • Ein neuer SSH-User wird angelegt
    • Dieser User bekommt eine Private-/Public-Key-Authentifizierung
  • Die Einstellungen und erste Anmeldung mit PuTTY wird beschrieben

Offene Ports schließen

Damit euer Linux Server nicht offen ist wie das sprichwörtliche Scheunentor, überprüfen wir nun welche Ports nach außen hin offen sind und ob wir diese Programme wirklich brauchen. Wenn nicht dann schließen wir sie. Alles was ich bei mir nach außen hin offen haben möchte, ist der SSH-Port und der HTTP-Port. Alles andere sollte nach außen hin geschlossen sein.

Mit folgendem Befehl könnt ihr euch anzeigen lassen was alles unter welchem Port läuft:

netstat -plt

Alle Einträge mit *:Portnummer unter der Spalte Local Address sind nach außen hin zugänglich.

An dieser Stelle möchte ich noch einmal ausdrücklich darauf hinweisen, dass ihr euch vorher informiert was für Programme bei euch laufen und ob ihr sie nicht doch braucht. Wenn ihr wie ich ein jungfräuliches System aufsetzt, wird wahrscheinlich nichts schlimmes passieren.

Mit dem Befehl service Servicename status könnt ihr feststellen ob es ein Service ist, oder ein Daemon. Einen Service stoppt ihr mit service Servicename stop und einen Daemon stoppt ihr mit kill pid (pid = Prozess-ID).

Ich habe bei meinem Server ein Service mit dem Namen rpcbind und einen Daemon mit Namen rpc.statd, dieser hat die pid 396. Zuerst beende ich die beiden Programme:

systemctl stop rpcbind.service
kill 396

Ich kann mich nochmals über den Befehl netstat -plt vergewissern, dass die Programme nicht mehr laufen. Jetzt wollen wir natürlich nicht, dass sie sich beim nächsten Neustart wieder starten, also entfernen wir sie aus dem Autostart:

update-rc.d -f rpcbind remove
update-rc.d -f rpc.statd remove

Nach einem Neustart des Servers mit reboot können wir erneut mit netstat -plt überprüfen, ob die Programme nicht mehr laufen und nur noch das aktiv ist, was wir auch bereit stellen wollen.

So damit habt ihr erst einmal eine gute Grundvoraussetzung für ein stabiles, sicheres Linux Server System, das nicht so einfach zu hacken ist. Ich bin zwar kein Sicherheitsexperte was Linux Server anbelangt und ihr seid jetzt auf keinen Fall unverwundbar, aber jetzt muss schon einiger Aufwand betrieben werden um in euer System rein zu kommen und der lohnt sich erst dann, wenn es bei euch was zu holen gibt. D.H. solltet ihr irgendwann groß oder wichtig genug werden, so dass ihr als Ziel interessant werden, solltet ihr die Investition in einen Sicherheits-Experten erwägen. Für alles andere seid ihr jetzt gut ausgerüstet und könnt euch auf eure Anwendung konzentrieren, die ihr anbieten wollt.