Sicherer Remote-Support für Forenuser
Warnung: Bei einer Kombination aus diesem Artikel und mangelndem Grundlagenwissen kann es zu einer erheblichen Sicherheitsbeeinträchtigung des Systems kommen! |
Einleitung
Ab und zu reicht Hilfe in Form von Ratschlägen und Anleitungen nicht mehr aus. Entweder, weil grundlegende Verständigungsprobleme bestehen oder weil sich das fragliche System in einem Zustand befindet, der ohne Hands-On-Support nur sehr schwer zu analysieren ist. (Beispiel).
Natürlich sollte man niemals eine fremde Person an sein System lassen, schon gar nicht mit Superuser-Rechten. Sollte es jedoch einmal keine andere gangbare Lösung geben, hilft ein Vorgehen, bei dem der Helfer niemals selber Rechte auf dem System bekommt und auch keine kritischen Passwörter erfährt.
Grundwissen über Debian ist in jedem Fall notwendig - ohne dieses sollte aber gar kein Serversystem im Internet betrieben werden!
Voraussetzungen
Pakete
Für den Remote-Login und die sichere, gemeinsame Support-Sitzung sind nur zwei Pakete notwendig: openssh-server und screen. openssh-server ermöglicht den Remote-Login auf dem System über SSH, screen, ein so genannter Terminal-Multiplexer, erlaubt den gleichzeitigen Zugriff auf ein virtuelles Terminal für mehrere Benutzer.
root@debian:~# apt-get install openssh-server screen
Benutzer
Der Zugriff auf das System muss über den gleichen Account erfolgen. Deshalb legt man einen - am Besten vollkommen unprivilegierten - Account an:
root@debian:~# useradd -s /bin/bash -d /dev/zero -g nogroup support
Dann setzt man noch ein (sicheres) Passwort auf den Account:
root@debian:~# passwd support
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
An den Helfer gibt man dann - in einer privaten Nachricht - Benutzername, Passwort sowie Adresse des Systems weiter.
Eröffnung der Sitzung
Wenn sich sowohl Helfer als auch Hilfesuchender auf dem System mit dem gleichen Account eingeloggt haben, kann der Hilfesuchende eine screen-Sitzung starten:
user@debian:~$ screen -dmS supportsitzung
Dieser können dann beide Teilnehmer beitreten:
user@debian:~$ screen -x supportsitzung
Sobald beide Teilnehmer in der screen-Sitzung sind, kann der Hilfesuchende zum Superuser-Account wechseln (hierfür wird das root-Passwort benötigt):
user@debian:~$ su -
Beenden der Sitzung
Die Sitzung kann beendet werden, indem einfach mittels exit alle Shells beendet werden. Im Notfall, also wenn der Helfer beispielsweise unerwünschte Kommandos auszuführen droht, kann die screen-Sitzung mit der Tastenfolge Ctrl-A K Y sofort beendet werden.
Gefahren und Hinweise
Ich weise noch einmal daraufhin, dass dieser Weg nur eingeschlagen werden sollte, wenn man die Aktivitäten des Helfers gut einschätzen kann!
Einige Fragen, die der Artikel sicher aufwirft:
- Warum su statt sudo?
Zur Benutzung des sudo-Kommandos müssen dem aufrufenden Account Rechte eingeräumt werden. Normalerweise ist es schöner, wenn ein privilegierter Benutzer ohne Eingabe des tatsächlichen root-Passwortes Superuser-Kommandos ausführen kann. In diesem Fall jedoch soll der Helfer ja nach Beendigung der Sitzung keinerlei Möglichkeit mehr haben, selbstständig an Superuser-Rechte zu kommen (und er hat sie auch während der Sitzung nicht).