Die Absicherung des eigenen Linux-Servers - im Speziellen des
SSH-Zugangs - ist das Thema der neunundachzigsten Episode des
Anwendungsentwickler-Podcasts. TL;DR Ich empfehle dir, deinen
eigenen Server direkt nach dem Start abzusichern, weil
automatisierte Angriffe öffentlich erreichbare Systeme laufend
prüfen. Beginne beim SSH-Zugang: Verlege den Standardport und
sperre die direkte Anmeldung als root. Für den SSH-Login richtest
du anschließend Public-Key-Authentifizierung ein, wobei du deinen
privaten Schlüssel sicher aufbewahrst und mit einem Passwort
schützt. Für deine übrigen Zugänge helfen dir lange,
unterschiedliche Passwörter, die du in einem Passwort-Safe wie
KeePass speichern kannst. Kapitelmarken [00:00:00] Einstieg: Den
eigenen Server absichern [00:01:12] Automatisierte Angriffe und
Verantwortung für deinen Server [00:04:44] Überblick über die
geplanten Schritte [00:07:17] Betriebssystem auswählen und Debian
installieren [00:11:17] Erster SSH-Zugang und PuTTY unter Windows
[00:14:55] SSH als Angriffsziel und die Rechte von root [00:15:48]
SSH-Port verlegen und Security through Obscurity [00:18:20] Den
SSH-Client anpassen und zusätzlicher Aufwand [00:20:04] Direkte
Root-Anmeldung sperren [00:22:38] Administrative Befehle mit sudo
ausführen [00:24:14] SSH-Schlüssel und lange Passwortsätze
[00:28:01] Passwörter mit KeePass verwalten [00:29:41] Symmetrische
und asymmetrische Kryptografie [00:31:02] Öffentlichen Schlüssel
hinterlegen und privaten Schlüssel schützen [00:34:24] Empfohlene
SSH-Einstellungen und weiterführende Anleitungen [00:36:25]
Newsletter und Hinweis auf das Hörbuch Inhalt Betriebssystem
installieren * SSH-Zugang absichern Port umlegen root-Zugang
abschalten Pulic-Key-Authentifizierung einrichten Links Permalink
zu dieser Podcast-Episode RSS-Feed des Podcasts vServer bei 1blu*
Secure Shell – Wikipedia Security through obscurity – Wikipedia
Absicherung eines Debian Servers – Thomas-Krenn-Wiki Root Server
absichern (Ubuntu 14.04) – Rechenkraft (Virtual)Server gegen
Hacking-Attacken schützen Teil 2: Den Server absichern - Pro-Linux
KeePass Password Safe KeeFox :: Add-ons für Firefox Using PuTTYgen
:: WinSCP Remote Desktop Protocol – Wikipedia Zusammenfassung Warum
du deinen Server sofort absichern solltest Sobald dein Server im
Internet erreichbar ist, können automatisierte Skripte nach offenen
Diensten suchen und versuchen, sich anzumelden. Ein übernommener
Server lässt sich etwa in ein Botnetz einbinden, über das
Angreifer:innen weitere Ziele attackieren. Über die IP-Adresse
führen solche Aktivitäten zu deinem Anschluss beziehungsweise
deinem Server zurück. Als Betreiber:in trägst du Verantwortung
dafür, deinen Server abzusichern. Ich beginne dafür beim
SSH-Zugang, über den du deinen Server aus der Ferne verwaltest. Wer
hier Zugriff mit Root-Rechten erhält, kann das gesamte System
verändern oder löschen. Betriebssystem auswählen und installieren
Bei einem V-Server wählst du das Betriebssystem üblicherweise über
die Weboberfläche deines Hosting-Anbieters aus. Für den Einstieg
empfehle ich Debian, mit dem ich seit vielen Jahren auf meinem
eigenen Server arbeite. Es eignet sich für einen schlanken Server,
den du über die Kommandozeile bedienst. Die folgenden Hinweise
beziehen sich auf Debian; grundlegende Konzepte wie Dateirechte
gelten auch bei anderen Linux-Distributionen. Achte beim
Installieren auf die Hinweise im Backend: Wenn du einen vorhandenen
Server neu aufsetzt, können dessen bisherige Inhalte gelöscht
werden. Nach dem Installieren erhältst du die Zugangsdaten,
darunter üblicherweise ein Root-Passwort. Mit SSH auf den Server
zugreifen Über SSH, die Secure Shell, öffnest du eine entfernte
Kommandozeile. Deine eingegebenen Befehle laufen auf dem Server,
während die Ergebnisse auf deinem Rechner erscheinen. SSH
verschlüsselt die übertragenen Daten einschließlich der
Zugangsdaten und arbeitet standardmäßig auf Port 22. Unter Windows
empfehle ich den kostenlosen SSH-Client PuTTY. Darin kannst du
Verbindungsprofile speichern und den verwendeten Port einstellen.
Auf einem Linux-Rechner steht üblicherweise bereits ein SSH-Client
für die Kommandozeile bereit. Für deine Prüfung als
Fachinformatiker:in Anwendungsentwicklung solltest du den
SSH-Standardport kennen. Ebenfalls erwähnt wird RDP auf Port 3389,
über das du eine grafische Sitzung auf einem entfernten
Windows-System öffnen kannst. Den SSH-Port verlegen Viele
automatisierte Angriffe suchen auf Port 22 nach einem SSH-Dienst.
Wenn du SSH auf einen anderen Port legst, laufen diese
Standardversuche ins Leere. Anschließend musst du den neuen Port
auch in PuTTY oder deinem anderen SSH-Client eintragen. Ein
gespeichertes Profil erleichtert dir spätere Verbindungen. Dieses
Vorgehen heißt Security through Obscurity, weil du den Dienst an
einer weniger erwarteten Stelle erreichbar machst. Bei einem
gezielten Angriff kann ein Portscan den verlegten Dienst weiterhin
finden. Deshalb gehört das Verlegen des Ports zu mehreren
Schritten, mit denen du SSH absicherst. Die direkte Root-Anmeldung
sperren Das Linux-Konto root besitzt umfassende Rechte. Richte SSH
deshalb so ein, dass du dich zunächst mit einem normalen
Benutzerkonto anmeldest. Wenn du anschließend Root-Rechte brauchst,
kannst du mit su das Konto wechseln und dafür das separate
Root-Passwort eingeben. Vergib für dein Benutzerkonto und für root
jeweils ein eigenes Passwort. Sollte jemand dein Benutzerpasswort
erbeuten, verfügt diese Person zunächst über die Rechte dieses
Kontos. Dazu kann auch gehören, deine Dateien zu lesen. Für die
tägliche Arbeit empfehle ich ein normales Benutzerkonto. Mit sudo
kannst du gezielt einzelne administrative Befehle mit erhöhten
Rechten ausführen. Welche Benutzerkonten welche Befehle ausführen
dürfen und ob dafür ein Passwort erforderlich ist, lässt sich
konfigurieren. Für die ersten Schritte gehe ich hier vereinfacht
davon aus, dass du administrative Arbeiten als root erledigst. SSH
mit einem Schlüsselpaar einrichten Für deinen SSH-Login empfehle
ich Public-Key-Authentifizierung. Dafür erzeugst du ein
zusammengehöriges Paar aus einem öffentlichen und einem privaten
Schlüssel: Den Public Key hinterlegst du auf dem Server. Diesen
öffentlichen Schlüssel darfst du weitergeben. Den Private Key
behältst du unter deiner Kontrolle und hinterlegst ihn in deinem
SSH-Client, etwa PuTTY. Bewahre die Datei sicher auf und schütze
sie zusätzlich mit einem Passwort. Für den Zugang muss der passende
private Schlüssel vorhanden sein. Der zusätzliche Passwortschutz
schützt die Schlüsseldatei auch dann, wenn beispielsweise der
USB-Stick mit der Datei gestohlen wird. Richte SSH entsprechend für
die Anmeldung per Schlüssel ein und schalte den Passwort-Login ab.
Zum prüfungsrelevanten Hintergrund gehört, dass symmetrische
Verfahren zum Ver- und Entschlüsseln denselben Schlüssel verwenden.
Bei asymmetrischen Verfahren gehören ein öffentlicher und ein
privater Schlüssel zusammen. Was mit dem öffentlichen Schlüssel
verschlüsselt wurde, lässt sich mit dem zugehörigen privaten
Schlüssel entschlüsseln. Für die Prüfung solltest du dich
weitergehend mit diesen Verfahren beschäftigen. Lange und
unterschiedliche Passwörter verwalten Für Passwörter empfehle ich
deutlich mehr als zwölf Zeichen, beispielsweise etwa 20 Zeichen.
Ein selbst gewählter Passwortsatz lässt sich gut merken. Achte
dabei auf Groß- und Kleinschreibung sowie Satzzeichen und darauf,
dass sich der Satz durch Wörterbuchangriffe schwer erraten lässt.
Jeder Zugang braucht ein eigenes Passwort. Wenn ein mehrfach
verwendetes Passwort bekannt wird, sind auch weitere Konten
gefährdet. Ich verwende KeePass, um für jeden Zugang ein langes,
zufällig erzeugtes Passwort zu speichern. Die Passwortdatenbank ist
ihrerseits mit einem sicheren Passwort geschützt, das ich mir
merke. Über ein passendes Browser-Plugin lassen sich die
gespeicherten Zugangsdaten in Login-Felder übertragen. Weitere
angekündigte Schritte Für die weiteren Teile der Reihe habe ich
folgende Themen vorgesehen: Hilfreiche Werkzeuge installieren, die
dir das Arbeiten auf dem Server erleichtern. Das Verzeichnis /etc
versionieren, damit du geänderte Einstellungen nachvollziehen und
frühere Stände wiederherstellen kannst. Überflüssige Programme und
Dienste entfernen, um mögliche Angriffsziele zu reduzieren.
Installierte Pakete aktualisieren und Sicherheitsupdates zeitnah
einspielen. Die Firewall restriktiv einrichten, damit
ausschließlich die vorgesehenen Dienste erreichbar sind. Die Shell
über .bashrc und den Editor passend einstellen. Backups einrichten,
aus denen du deinen Server wiederherstellen kannst. Dabei gehört
der Unterschied zwischen Datensicherheit und Datensicherung auch zu
möglichen Prüfungsfragen. Extern überwachen lassen, ob der Server
erreichbar ist, sofern dein Hosting-Anbieter das anbietet. Bei
einem Ausfall kannst du beispielsweise per E-Mail informiert
werden. Schritt-für-Schritt-Anleitungen zum Verlegen des SSH-Ports
und zum Einrichten der Schlüssel findest du in meinen Shownotes zur
Episode 89. Dort sind auch Hinweise zum Erzeugen des Schlüsselpaars
und zum Einrichten von PuTTY verlinkt. Transkription der gesamten
Episode Automatisch erzeugte Transkription der Episode [0:00]
Herzlich Willkommen zum Anwendungsentwickler-Podcast, dem Podcast
rund um die Ausbildung zum Fachinformatiker [0:09] für
Anwendungsentwicklung. In dieser Episode geht es um die erste
Absicherung deines eigenen [0:15] Webservers. Viel Spaß! [0:16]
Hallo und herzlich Willkommen zur 89. Episode des
Anwendungsentwickler-Podcasts. Mein Name [0:27] ist Stefan Macke
und heute geht es weiter mit einer kleinen Episodenreihe zur
Einrichtung [0:32] deines eigenen Webservers. Ich sage immer
Webserver, aber du kannst mit dem Server natürlich [0:37] auch
irgendwas anderes machen, Mail-Server und wie auch immer. Es geht
mir eigentlich [0:39] um einen Server, der im Internet irgendwo
steht und mit dem du irgendwelche Dinge tun [0:43] kannst....
Kommentare (0)
Melde dich an, um einen Kommentar zu schreiben.