ToDo: Kontrolle

Fernsteuerung des Hamsters

Allgemeine Grundlagen und Installation

Syntax des Remote-Control-Servers

Allgemeine Grundlagen und Installation

Zum Zwecke der Fernsteuerung über TCP/IP-Netze besitzt der Hamster einen Remote-Control-Server, kurz ReCo-Server. Dieser ReCo-Server basiert auf dem Telnet-Protokoll und verwendet den TCP-Port 23. Es kann jeder Telnet-Client für den Verbindungsaufbau mittels Telnet verwendet werden. Jedoch sind Telnet-Clienten, welche ausschließlich das Zeichen CR für den Zeilenumbruch verwenden, ungeeignet, da der ReCo-Server des Hamsters für den Zeilenumbruch nur CRLF verwendet. Der ReCo-Server erzeugt kein selbständiges Echo, weshalb man ein eventuell beim Telnet-Clienten vorhandenes lokales Echo einschalten sollte.

Um den ReCo-Server nutzen zu können, muss er aktiviert und für die Nutzer freigeschaltet werden. Dazu sind vier Dinge erforderlich:

  1. ReCo-Server im Menü „Lokale Server“ starten („Start/Stop Telnet-Server“).
  2. Die Bindung des ReCo-Servers an das gewünschte Netzwerkinterface im Menü „Einstellungen“ → „Lokale Server“ → „Allgemeines“ → „IP-Access.hst bearbeiten“ festlegen. (Wenn weder „Allgemeines“ noch „Fernzugriff“ zu sehen sind, muss zuvor bei „Temp. erweiterte Einstellungen“ ein Haken gesetzt werden.)
  3. Die gewünschte IP-Adresse für den Zugriff auf den ReCo-Server im Menü „Einstellungen“ → „Lokale Server“ → „Fernzugriff“ bei „An folgende IP binden“ einstellen.
  4. Der gewünschte Benutzer muss im Menü „Einstellungen“ → „Benutzerverwaltung & Passworte“ für die Benutzung des ReCo-Servers freigeschaltet werden.
Bitte beachten Sie, dass ein potentieller Angreifer bei einem erfolgreichen Einbruch in den Remote-Control-Server vollen Zugriff auf den Hamster und je nach vorhandenen Skripten eventuell auch auf Ihren Rechner bzw. Ihr Rechnernetz haben könnte.

Stellen Sie daher die Zugriffsberechtigungen für den ReCo-Server so restriktiv wie möglich ein. Benutzen Sie nach Möglichkeit eine gesicherte Übertragung des Passwortes mittels der SASL-Mechanismen DIGEST-MD5, CRAM-MD5 oder CRAM-SHA1. Betreiben Sie Verbindungen mit dem ReCo-Server über das Internet nur bei Verwendung eines sicheren SSL-Tunnels.

Syntax des Remote-Control-Servers

AUTH ([-SIMPLE] Username Password) | (-SASL Mechanism [InitialParameters])

AUTH [-SIMPLE] Username Password

Einfache Authentifizierung des Benutzers. Das Passwort wird hierbei als Klartext über die Leitung gesendet. Diese Form der Authentifizierung ist nur in kleinen privaten Netzen geeignet, da sie keinerlei Schutz des Passwortes gegen das Protokollieren der Verbindung bietet.

AUTH -SASL Mechanism [InitialParameters]

Verbessertes SASL-Authentifizierungsverfahren nach RFC 2222

Dieses Authentifizierungsverfahren unterstützt mehrere einzelne Mechanismen. Die Sicherheit dieser Mechanismen ist unterschiedlich. Folgende Mechanismen werden unterstützt:

CRAM-SHA1 (RFC 2104, 2195, 2202, 3174)

Dieser kryptografisch sichere Mechanismus bietet den besten Schutz des Passwortes bei der Übertragung vom Clienten zum Server. Er ist beweisbar sicher gegen kryptografische Angriffe. Brute-Force-Angriffe liegen weit außerhalb des technisch Machbaren.

CRAM-MD5 (RFC 1321, 2104 2195, 2202)

Dieser Mechanismus bietet einen sehr guten Schutz des Passwortes bei der Übertragung vom Clienten zum Server. Es sind zwar theoretische Angriffe gegen MD5 bekannt, diese liegen aber dennoch weit außerhalb des praktisch Machbaren.

DIGEST-MD5 (RFC 1321, 2104 2195, 2202)

Dieser Mechanismus bietet einen sehr guten Schutz des Passwortes bei der Übertragung vom Clienten zum Server. Es sind zwar theoretische Angriffe gegen MD5 bekannt, diese liegen aber dennoch weit außerhalb des praktisch Machbaren. Dieser Mechanismus ist CRAM-MD5 überlegen, da er den Server ebenfalls gegenüber dem User authentifiziert.

LOGIN

Dieser Algorithmus verschleiert das Passwort nur gering. Der Klartext des Passwortes kann an Hand von Tabellen sehr schnell ermittelt werden. Das Passwort wird hierbei als base64-kodierter Klartext über die Leitung gesendet. Diese Form der Authentifizierung ist nur in kleinen privaten Netzen geeignet, da sie keinerlei Schutz des Passwortes gegen das Protokollieren der Verbindung bietet.

PLAIN (RFC 2487)

Dieser Algorithmus verschlüsselt das Passwort nicht, er ist ausschließlich für eine Passwort-Übertragung in einem sicheren Kanal vorgesehen, zum Beispiel in einem SSL-Tunnel ohne Authentifizierung.

Der Vollständigkeit halber sei noch folgender Mechanismus erwähnt, der zur Zeit nicht durch den Remote-Control-Server unterstützt wird:

EXTERNAL (RFC 2487)

Authentifizierung durch externe Software, z. B. SSL in Verbindung mit TLS-Handshake.

HELP [Command]

Listet die Befehlssyntax allgemein oder zu einem speziellen Befehl auf.

LOG (LIST [-S Size] [-P Pattern]) | ROTATE

LOG LIST [-S Size] [-P Pattern]

Listet die Log-Datei des Hamsters auf. Mit der Option -S kann die Anzeige der Datei auf eine bestimmte Anzahl von Kibibytes begrenzt werden. Der Standardwert ist 16. Die Option -P begrenzt die Anzeige der Log-Datei auf die Zeilen, welche dem Regulären Ausdruck Pattern entsprechen (siehe auch die FAQ „Hamster und Reguläre Ausdrücke“).

LOG ROTATE

Schließt die aktuelle Log-Datei und eröffnet eine neue Log-Datei. Dabei rotiert der Dateiname der Log-Datei entsprechend dem in den Grundeinstellungen angegebenen Wert.

NEWS (ADD|DEL GROUP Groupname) |
     (ADD|DEL PULL Groupname Servername ) |
     (LIST GROUP|PULL [-P Pattern])

NEWS ADD GROUP Groupname
NEWS DEL GROUP Groupname

ADD fügt eine Newsgruppe hinzu, und DEL entfernt eine Newsgruppe.

NEWS ADD PULL Groupname Servername
NEWS DEL PULL Groupname Servername

ADD fügt eine Newsgruppe der Liste der zu pullenden Newsgruppen für einen Server hinzu, DEL entfernt eine Newsgruppe aus der Liste der zu pullenden Newsgruppen.

NEWS LIST GROUP [-P Pattern]
NEWS LIST PULL [-P Pattern]

Listet alle Newsgruppen oder alle Newspull-Einträge auf. Die Auflistung kann durch den Regulären Ausdruck Pattern eingeschränkt werden (siehe auch die FAQ „Hamster und Reguläre Ausdrücke“).

QUIT

Beendet die Verbindung mit dem Remote-Control-Server.

SCRIPT (LIST [-P Pattern]) |
       (START [-W] Scriptname [Scriptparameter]) |
       STOP

SCRIPT LIST [-P Pattern]

Listet alle am Remote-Control-Server verfügbaren Skripte auf. Die Auflistung kann durch den Regulären Ausdruck Pattern eingeschränkt werden (siehe auch die FAQ „Hamster und Reguläre Ausdrücke“).

Das Verzeichnis, aus welchem diese Skripte gelesen werden, kann in der Datei „hamster.ini“ im Abschnitt „[Directories]“ mit dem Schlüssel „ScriptsRC“ eingestellt werden.

SCRIPT START [-W] Scriptname [Scriptparameter]

Startet ein Skript unter optionaler Verwendung von Parametern. Der optionale Parameter -W legt fest, ob der Remote-Control-Server auf das Skript warten soll, bevor er seine Befehlsabarbeitung fortsetzt.

SCRIPT STOP

Stoppt alle Skripte.

SERVER (STATUS|START|STOP|RESTART) (RECO|SMTP|POP3|NNTP)

Startet oder stoppt einen lokalen Server oder liefert dessen momentanen Zustand zurück.

SERVER RESTART RECO>“ lässt den Remote-Control-Server neu starten. Sie müssten sich danach aber wieder authentifizieren.

TASK [-P Pattern]

Liefert eine Liste der aktiven Tasks zurück. Diese Liste kann durch den Regulären Ausdruck Pattern eingeschränkt werden (siehe auch die FAQ „Hamster und Reguläre Ausdrücke“).

TASK STOP ThreadID

Stoppt einen einzelnen Task mit dem Identifier ThreadID.