Shellinabox/Konfiguration
Konfiguration
By default, shellinaboxd listens on TCP port 4200 on localhost
- For security reasons, I change this default port to a random (i.e. 6175) to make it difficult for anyone to reach your SSH box
Also, during installation, a new self-signed SSL certificate is automatically created under “/var/lib/shellinabox” to use HTTPS protocol
sudo editor /etc/default/shellinabox
Make the configuration changes as shown below
# Should shellinaboxd start automatically
SHELLINABOX_DAEMON_START=1
# TCP port that shellinboxd's webserver listens on
SHELLINABOX_PORT=6175
# Parameters that are managed by the system and usually should not need
# changing
# SHELLINABOX_DATADIR=/var/lib/shellinabox
# SHELLINABOX_USER=shellinabox
# SHELLINABOX_GROUP=shellinabox
# Any optional arguments (e.g.extra service definitions). Make sure
# that that argument is quoted
#
# Beeps are disabled because of reports of the VLC plugin crashing
# Firefox on Linux/x86_64
SHELLINABOX_ARGS="--no-beep"
# specify the IP address of an SSH server
OPTS="-s /:SSH:192.168.0.140"
# if you want to restrict access to shellinaboxd from localhost only
OPTS="-s /:SSH:192.168.0.140 --localhost-only"
Once you’ve done with the configuration, you can restart and verify the shellinabox service by issuing the following commands
sudo systemctl restart shellinabox
sudo systemctl status shellinabox
Now let’s verify whether Shellinabox is running on port 6175 using the netstat command
sudo netstat -nap | grep shellinabox
Make sure you secure your shellinabox on the firewall and open the 6175 port for a specific IP Address to access your Linux shell remotely
sudo ufw allow 6175/tcp
sudo ufw allow from 192.168.0.103 to any port 6175
Dateien
Bei Verwendung der im letzten Abschnitt beschriebenen SysV-Init-Skripte befindet sich die Konfiguration in der Datei `/etc/default/shellinabox` sowie im eigentlichen Init-Skript `/etc/init.d/shellinabox`
- Die Funktion der einzelnen Variablen sollte dank der Kommentare selbsterklärend sein
SSL-Verschlüsselung
- Warnung
Das Abschalten der SSL-Verschlüsselung führt dazu, dass alle Ein- und Ausgaben (einschließlich Passwörter) unverschlüsselt zwischen Server und Client übertragen werden
- Es sollte nur erfolgen, wenn andere Mittel zur Absicherung eingesetzt werden
Shellinabox ist so programmiert, dass es immer versucht, eine verschlüsselte Verbindung aufzubauen, wenn dies nicht explizit über die Option `--disable-ssl` ausgeschaltet wird
- Das dabei selbst generierte Zertifikat führt in der Regel zu Warnungen in Webbrowsern, die nicht überall erwünscht sind
- Um diese Warnungen zur vermeiden, kann ein gültiges Zertifikat bereitgelegt werden (in der Standardkonfiguration als Datei `certificate.pem` im Verzeichnis `/var/lib/shellinabox`)
Mehr Informationen zur Beschaffung von SSL-Zertifikaten bieten die Wikiseiten zu CA:Zertifizierungsstellen und TLS-Zertifikate:TLS-Zertifikaten
- Darüber hinaus bietet auch die Manpage zu shellinabox-Option `--cert` weitere Details zur Einbindung der Zertifikatsdateien
Reverse Proxy
Ein Anwendungsfall, der es erlaubt, die SSL-Verschlüsselung in shellinabox selbst auszuschalten, ist die Verwendung eines auf demselben Host installieren [:Serverdienste/#Webserver:Webservers] mit Unterstützung für [wikipedia:Reverse_Proxy:Reverse Proxying] (z.B. [:Apache:]), der die Absicherung der Verbindung übernehmen kann
- Weitere Informationen hierzu finden sich im unten verlinkten Artikel "5 Easy steps to Increase Shellinabox Security"