Zum Inhalt springen

Shellinabox/man: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „http://“ durch „https://“
 
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
== NAME ==
shellinaboxd - publish command line shell through AJAX interface
== SYNOPSIS ==
shellinaboxd [ -b | --background[=pidfile] ] [ -c | --cert=certdir ] [ --cert-fd=fd ] [ --css=filename ] [ --cgi[=portrange] ] [ -d | --debug ] [ -f | --static-file=url:file ]  [ -g | --group=gid ] [ -h | --help ] [ --linkify=[none|normal|aggressive] ] [ --localhost-only ] [ --no-beep ] [ -n | --nu‐meric ] [ --pidfile=pidfile ] [ -p | --port=port ] [ -s | --service=service ] [ -t |  --disable-ssl ]  [ --disable-ssl-menu ]  [ -q |  --quiet ] [ -u | --user=uid ] [ --user-css=styles ] [ -v | --verbose ] [ --version ]
== Beschreibung ==
== Beschreibung ==
Der shellinaboxd-Daemon implementiert einen Webserver, der den angegebenen Port überwacht. Der Webserver veröffentlicht einen oder mehrere Dienste, die in einem VT100-Emulator angezeigt werden, der als AJAX-Webanwendung implementiert ist. Standardmäßig lautet der Port 4200 und die Standard-Dienst-URL http://localhost:4200/.
Der shellinaboxd-Daemon implementiert einen Webserver, der den angegebenen Port überwacht. Der Webserver veröffentlicht einen oder mehrere Dienste, die in einem VT100-Emulator angezeigt werden, der als AJAX-Webanwendung implementiert ist. Standardmäßig lautet der Port 4200 und die Standard-Dienst-URL https://localhost:4200/.


Wenn kein bestimmter Dienst angefordert wurde, startet der Server /bin/login und fragt den Benutzer nach seinem Benutzernamen und Passwort. Anschließend wird die Standard-Anmeldeshell des Benutzers gestartet.
Wenn kein bestimmter Dienst angefordert wurde, startet der Server /bin/login und fragt den Benutzer nach seinem Benutzernamen und Passwort. Anschließend wird die Standard-Anmeldeshell des Benutzers gestartet.
Zeile 20: Zeile 14:
einen Reverse-Proxy-Eintrag für den Hauptwebserver. Für Apache würde dies das Hinzufügen einer Option wie der folgenden erfordern:
einen Reverse-Proxy-Eintrag für den Hauptwebserver. Für Apache würde dies das Hinzufügen einer Option wie der folgenden erfordern:
  <Location /shell>
  <Location /shell>
  ProxyPass http://localhost:4200/
  ProxyPass https://localhost:4200/
  Order allow,deny
  Order allow,deny
  Allow from all
  Allow from all
Zeile 30: Zeile 24:


== DIAGNOSE ==
== DIAGNOSE ==
Der Daemon gibt im Falle eines Fehlers einen von Null verschiedenen Exit-Code zurück. Mit Ausnahme einer kleinen Anzahl häufiger Fehlerfälle, die explizit behandelt werden, führen die meisten Fehler dazu, dass die Meldung „Überprüfung fehlgeschlagen“ ausgegeben wird. Dies deutet in der Regel nicht auf einen Fehler im Programm hin, sondern ist stattdessen die normale Art und Weise, wie Fehler gemeldet werden
Der Daemon gibt im Falle eines Fehlers einen von Null verschiedenen Exit-Code zurück. Mit Ausnahme einer kleinen Anzahl häufiger Fehlerfälle, die explizit behandelt werden, führen die meisten Fehler dazu, dass die Meldung "Überprüfung fehlgeschlagen" ausgegeben wird. Dies deutet in der Regel nicht auf einen Fehler im Programm hin, sondern ist stattdessen die normale Art und Weise, wie Fehler gemeldet werden


Häufige Fehlerbedingungen sind die Wiederverwendung eines bereits verwendeten Ports, unzureichende Berechtigungen zum Ausführen eines Dienstes, das Nichtauffinden von SSL/TLS-Zertifikaten und das Nichtschreiben neu generierter Zertifikate in das Zertifizierungsverzeichnis.
Häufige Fehlerbedingungen sind die Wiederverwendung eines bereits verwendeten Ports, unzureichende Berechtigungen zum Ausführen eines Dienstes, das Nichtauffinden von SSL/TLS-Zertifikaten und das Nichtschreiben neu generierter Zertifikate in das Zertifizierungsverzeichnis.
Zeile 57: Zeile 51:


Es gibt Berichte, dass das VLC-Plugin auf Linux/x86_64 Firefox zum Absturz bringt, wenn die Browserseite neu geladen wird. Durch das Festlegen der Option --no-beep werden alle Verweise auf VLC eliminiert, wodurch dieser Absturz anscheinend umgangen wird.
Es gibt Berichte, dass das VLC-Plugin auf Linux/x86_64 Firefox zum Absturz bringt, wenn die Browserseite neu geladen wird. Durch das Festlegen der Option --no-beep werden alle Verweise auf VLC eliminiert, wodurch dieser Absturz anscheinend umgangen wird.
[[Kategorie:Shellinabox]]

Aktuelle Version vom 7. April 2025, 14:41 Uhr

Beschreibung

Der shellinaboxd-Daemon implementiert einen Webserver, der den angegebenen Port überwacht. Der Webserver veröffentlicht einen oder mehrere Dienste, die in einem VT100-Emulator angezeigt werden, der als AJAX-Webanwendung implementiert ist. Standardmäßig lautet der Port 4200 und die Standard-Dienst-URL https://localhost:4200/.

Wenn kein bestimmter Dienst angefordert wurde, startet der Server /bin/login und fragt den Benutzer nach seinem Benutzernamen und Passwort. Anschließend wird die Standard-Anmeldeshell des Benutzers gestartet.

Jeder moderne JavaScript- und CSS-fähige Browser kann auf den veröffentlichten Dienst zugreifen, ohne dass zusätzliche Plugins erforderlich sind.

KONFIGURATION

Es gibt keine Konfigurationsdateien oder permanenten Einstellungen für shellinaboxd

Eine kleine Anzahl von Laufzeit-Konfigurationsoptionen ist über ein Kontextmenü verfügbar, das durch Klicken mit der rechten Maustaste aufgerufen wird. Diese Optionen werden in einem Browser-Cookie gespeichert.

Auf vielen Websites läuft bereits ein Webserver und sie möchten shellinaboxd in ihre bestehende Website integrieren. Dies geschieht in der Regel über einen Reverse-Proxy-Eintrag für den Hauptwebserver. Für Apache würde dies das Hinzufügen einer Option wie der folgenden erfordern:

<Location /shell>
ProxyPass https://localhost:4200/
Order allow,deny
Allow from all
</Location>

Wenn Sie einen anderen Webserver verwenden, lesen Sie in der Dokumentation dieses Servers nach, wie Reverse-Proxy-Vorgänge konfiguriert werden.

Bei Verwendung eines Reverse-Proxys wird normalerweise auch die Option --localhost-only aktiviert. Darüber hinaus kann auch die Option --disable-ssl in Betracht gezogen werden, je nach den genauen Konfigurationsdetails des Reverse-Proxys.

DIAGNOSE

Der Daemon gibt im Falle eines Fehlers einen von Null verschiedenen Exit-Code zurück. Mit Ausnahme einer kleinen Anzahl häufiger Fehlerfälle, die explizit behandelt werden, führen die meisten Fehler dazu, dass die Meldung "Überprüfung fehlgeschlagen" ausgegeben wird. Dies deutet in der Regel nicht auf einen Fehler im Programm hin, sondern ist stattdessen die normale Art und Weise, wie Fehler gemeldet werden

Häufige Fehlerbedingungen sind die Wiederverwendung eines bereits verwendeten Ports, unzureichende Berechtigungen zum Ausführen eines Dienstes, das Nichtauffinden von SSL/TLS-Zertifikaten und das Nichtschreiben neu generierter Zertifikate in das Zertifizierungsverzeichnis.

SICHERHEIT

Der Daemon verwendet Techniken zur Privilegientrennung, um Privilegien frühzeitig zu löschen. Er erkennt setuid-Flags und schränkt einige Vorgänge ein, wenn er als setuid-Anwendung gestartet wird.

Trotz dieser Sicherheitsfunktionen könnte ein Fehler dazu führen, dass ein entschlossener Angreifer erweiterte Berechtigungen erhält. Es wird daher dringend davon abgeraten, das setuid-Flag für die Binärdatei zu setzen.

Die erwartete Bereitstellung erfolgt über ein System-rc-Skript, das von /sbin/init gestartet wird. Für zusätzliche Sicherheit sollten die Optionen --group und --user verwendet werden, um zu einem dedizierten Benutzer zu wechseln.

FEHLER

Aufgrund von Einschränkungen des Browsers stehen einige Funktionen möglicherweise nicht für alle Browser zur Verfügung.

Konqueror erlaubt kein zuverlässiges Abfangen von STRG-Tasten. Wenn Sie eine Taste zusammen mit der STRG-Taste drücken, wird weiterhin das vordefinierte Verhalten des Browsers für diese bestimmte Tastenkombination ausgeführt. In den meisten Fällen wird auch nicht die richtige Taste an den Terminalemulator gemeldet. Als Behelfslösung funktioniert manchmal das gleichzeitige Drücken der STRG- und der WINDOWS-Taste.

Einige Browser, insbesondere der Internet Explorer unter Windows, erlauben kein Abfangen der ALT-Taste und interpretieren diese Tasten immer als Menübeschleuniger. Als Workaround erlauben viele UNIX-Anwendungen das Drücken von ESC anstelle von ALT.

Bei Verwendung von Tastaturlayouts, die nicht aus den USA stammen, können einige Browser die gedrückte ALT-Taste nicht zuverlässig erkennen. Bitte melden Sie diese Fälle, wenn sie sich als Problem herausstellen, da möglicherweise Workarounds möglich sind.

Der Zugriff auf die systemeigene Zwischenablage ist normalerweise nicht möglich. Stattdessen wird eine interne Zwischenablage verwendet, die über das Kontextmenü der rechten Maustaste aufgerufen werden kann, außer im Internet Explorer

Einige Browser beschränken die Anzahl gleichzeitiger Verbindungen zu einem Server. Dadurch wird die Anzahl gleichzeitig geöffneter AJAX-Terminals beschränkt. Wenn dies zu einem Problem wird, können Benutzer ihren Browser in der Regel neu konfigurieren, um die Grenze zu erhöhen.

Es gibt Berichte, dass das VLC-Plugin auf Linux/x86_64 Firefox zum Absturz bringt, wenn die Browserseite neu geladen wird. Durch das Festlegen der Option --no-beep werden alle Verweise auf VLC eliminiert, wodurch dieser Absturz anscheinend umgangen wird.