Selbst Server bedürfen regelmäßiger Wartungen. Um diesen nachkommen zu können, hat sich das SSH-Protokoll etabliert. Mit dessen Hilfe kann der Administrator auf die entfernten Maschinen zugreifen.
Dieser Zugriff erlaubt aber nicht nur die Wartung oder Reparaturen. Traurig aber wahr: Die destruktive Kraft im Internet ist sehr hoch, da sich der Irrglaube standhaft hält, man sei anonym. Das heißt, dass es viele Menschen gibt, die nichts weiter mit ihrem Leben anzufangen wissen,als die Arbeit anderer zu zerstören. Es ist klar, dass eine solche Zugriffsmöglichkeit, für jeden kranken Freak, die Krönung seines bedauerlichen Daseins ist.
Aus diesem Grund sollte man einige Vorsichtsmaßnahmen ergreifen, um den Zugriff nur denen zu gestatten, die mit diesem auch verantwortungsbewusst umgehen können.
Die wichtigste Vorkehrung ist, wie so häufig, die, bei der es um ein sicheres Kennwort geht. Auch hier kommt es durchaus auf die Länge an.
Auch ist die Komplexität nicht zu unterschätzen. Wer sich “Kennwörter” aussucht, die in jedem Wörterbuch stehen, wird nur wenig Freude haben. Es bringt auch wenig, einfach mal eine Zahl dahinter zu setzen. Diese “Passwörter” bieten Schutz; aber keine Sicherheit.
Es wäre auch schlau, einen Benutzer einzurichten, über den man sich auf die Maschine aufschaltet. Das heißt, dass die meisten Angriffe mit dem Systembenutzer ‘root’ versucht werden. Heißt der Benutzer z.B. Oma, sinkt die Wahrscheinlichkeit immens. Ähnlich wie bei dem Kennwort, kann man auch hier Pluspunkte sammeln, wenn man einfach etwas kreativ wird. Kryptische Benutzernamen können nicht schaden. ![]()
Benutzer und Kennwort…Es gibt da noch etwas besseres! Es ist die sogenannte ‘Autorisierung per Schlüssel’. Bei diesem Schlüssel gibt es einen Privaten und einen Öffentlichen. Der Öffentliche befindet sich auf der Zielmaschine (Server) und der private natürlich ausschließlich auf dem privaten System. Mit ssh-keygen (ssh-keygen -b 2048) wird dieses Schlüsselpaar erstellt und mit ssh-copy-id (ssh-copy-id -i id_dsa Benutzer@server.net) sehr bequem auf der Zielmaschine installiert. Nun muss man nur noch dem Server “beibringen” diese, alternative Anmeldung zu akzeptieren.
SSH ‘horcht’ normalerweise auf Port 22. Das ist, wenn man so will, die Tür zu dem Server. Würde man nun den Port auf einen anderen setzen, so kann man sicher sein, dass die meisten Attacken schon mal ins Leere laufen. Hierbei sollte man nur drei Dinge bedenken:
1. der Port muss ‘real’ sein (zwischen 0 und 65536)
2. der Port darf sich nicht mit andren, benutzen Ports überschneiden
3. ein engagierter Hacker findet auch diesen problemlos
Ich empfehle einen Port zwischen 1025 und 32000, da unter 1024 die Ports zumeist durch das Betriebssystem reserviert sind und über 32000 Ports für variable Verbindungen genutzt werden.
Um es kurz zu machen:
Ich habe hier exemplarisch eine SSH-Konfiguration.
vi /etc/ssh/sshd_config
Port 1234
PermitRootLogin without-password
StrictModes yes
MaxAuthTries 3
LogLevel INFO
UsePrivilegeSeparation yes
RSAAuthentication no
PubkeyAuthentication yes
PermitEmptyPasswords no
ChallengeResponseAuthentication no
PasswordAuthentication no
UsePAM no
AllowUsers Benutzer
Nun kann der SSH-Server neu gestartet werden.
/etc/init.d/sshd reload
Das Tolle an diesem System ist, dass die bereits geöffneten Verbindung weiterhin bestehen. Das heißt, dass man gut daran tun, diese Verbindungen auch vorerst offen zu lassen und mit einer anderen Shell nun ‘versucht’ sich zu verbinden.
ssh -p 1234 Benutzer@server.net
Funktioniert dieses und kann ‘Benutzer’ auch ‘root’ werden (su -), dann kann davon ausgegangen werden, dass die Umstellung funktionierte. Wenn nicht, dann hoffe ich, dass du auf meinen Rat hörtest und die Verbindung offen gelassen hast.
(Es kann vorkommen, dass ‘reload’ zu einem Fehler führt. Ein ‘/etc/init.d/sshd restart‘ funktioniert auch.)
Nun, was hat die Konfiguration angestellt. Vor allem hat sie den aktiven Port verändert und verhindert in der Zukunft, dass sich andere Benutzer über SSH anmelden als ‘Benutzer’. Das Hauptaugenmerk sollte aber auf der Tatsache liegen, dass sich von nun an nur noch mit Hilfe des Schlüssels angemeldet werden kann. Sollte der Schlüssel verloren gehen, verabschiedet euch von der Idee ‘es dennoch irgendwie hinzubekommen’. Ihr habt euch nun ausgesperrt und die Möglichkeit sich trotzdem anmelden zu können, würde die ganze Aktion grundsätzlich in Frage stellen.
Ein kleiner Tipp:
Sollte dein privater Schlüssel wegkommen, ist das schon mal sehr schlecht. Also muss/sollte diese Datei gesichert werden. Nicht viel besser ist es jedoch, wenn dieser Schlüssel in die Hände derer fällt, die für gewöhnlich (immer) die Kennwörter erraten haben. Daher ist es schlau, die Aufforderung nach einer ‘Passphrase’ mit eben einer entsprechenden Eingabe zu bestätigen. Schlussendlich ist es nichts weiter als ein Passwort für den Schlüssel. Fällt der Schlüssel nun in die falschen Hände, so geht von diesen erstmal keine Gefahr aus. …so lange nur das Schlüssel-Kennwort nicht zu leicht zu erraten ist und man den Schlüssel bei Zeiten ändert.
Für alle, die nun verzweifelt nach Lösungen suchen:
Schlau ist der, der bevor er tätig wird, diesen Text bis zum Ende verfolgt hat. Denn wenn nicht, dann gehe ich davon aus, dass du dich nun ausgesperrt hast und nun nach hilfreichen Tricks suchst, wie du es wieder rückgängig machen kannst. Wenn du einen Zugang über eine Remote-Console oder gar physischen Zugang zur Maschine hast, dann ist alles gut. Wenn du dich auch in diesem Punkt vom Glück verlassen siehst, dann kann ich dir sagen, dass der Tag nicht besser für dich wird. (Ein Neustart des Servers bringt übrigens gar nichts.) Dies ist nun ein klassischer Grund, um einen Tobsuchtsanfall zu bekommen oder einer ausgedehnten Alkoholsucht zu beginnen.
Postskriptum:
Fühlst du dich nun ‘erleuchtet’ und willst das neu erworbene Wissen gleich mal an diesem Server ausprobieren, so seist du gewarnt.
Zum Einen wirst du keinen SSH-Port finden. Nicht, weil ich mir einen ganz Tollen ausgedacht hätte. - Nein! Es gibt einfach keinen!
Zum Anderen sei an dieser Stelle gesagt, dass ‘Hacking’ in Deutschland eine Straftat ist und man sehr wohl erkennen kann, wer sich da gerade am Server zu schaffen macht. Es sind nur die wenigsten Hacker wirklich Helden, auf die, nach vollbrachter Tat, ein großartiger Job wartet. - Die meisten enden beim Tütenkleben.
Schlagworte: Linux, Sicherheit, Unix