Zum Inhalt springen

Shellinabox/Sicherheit: Unterschied zwischen den Versionen

Aus Foxwiki
Zeile 6: Zeile 6:
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.
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.


= Shellinabox Security =
== Shellinabox/Sicherheit ==
[https://code.google.com/p/shellinabox/ Shell-In-A-Box] a web based AJAX terminal emulator to remotely control you Linux Server. Recently, I explained [https://www.smarthomebeginner.com/install-shellinabox-on-ubuntu/ how to install Shellinabox on Ubuntu] and [https://www.smarthomebeginner.com/install-ssh-server-on-ubuntu-1204/ how to install SSH server on Ubuntu]. This post explains, how to increase '''Shellinabox security''' on Apache webservers. Shellinabox allows users to login using their username and password and grants access to their login shell, exactly like SSH remote access. While Shellinabox offers great convenience to system administrators, it can offer an easy entry point for hackers if it is not secured properly. Without further delay, let us look at some of the ways you can increase Shellinabox security.
[https://code.google.com/p/shellinabox/ Shell-In-A-Box] ist ein webbasierter AJAX-Terminalemulator zur Fernsteuerung Ihres Linux-Servers
* Vor kurzem habe ich erklärt, [https://www.smarthomebeginner.com/install-shellinabox-on-ubuntu/ wie man Shellinabox auf Ubuntu installiert] und [https://www.smarthomebeginner.com/install-ssh-server-on-ubuntu-1204/ wie man den SSH-Server auf Ubuntu installiert]
* In diesem Beitrag wird erklärt, wie man die „Shellinabox-Sicherheit“ auf Apache-Webservern erhöht
* Shellinabox ermöglicht es Benutzern, sich mit ihrem Benutzernamen und Passwort anzumelden und gewährt ihnen Zugriff auf ihre Anmelde-Shell, genau wie beim SSH-Fernzugriff
* Während Shellinabox für Systemadministratoren sehr praktisch ist, kann es für Hacker einen einfachen Einstiegspunkt bieten, wenn es nicht ordnungsgemäß gesichert ist
* Sehen wir uns ohne weitere Verzögerung einige Möglichkeiten an, wie Sie die Sicherheit von Shellinabox erhöhen können


; Easy Steps to Increase Shellinabox Security
== Einfache Schritte zur Erhöhung der Shellinabox-Sicherheit ==
There are multiple ways to secure your Shellinabox installation. Described below are 5 easy things you can do to increase your ''Shellinabox security''. Before we begin, it is good to know how to start, stop, and restart Shellinabox and Apache. Use the following commands to restart Shellinabox and Apache:
Es gibt mehrere Möglichkeiten, Ihre Shellinabox-Installation zu sichern
* Im Folgenden werden fünf einfache Maßnahmen beschrieben, mit denen Sie die „Shellinabox-Sicherheit“ erhöhen können
* Bevor wir beginnen, sollten Sie wissen, wie Shellinabox und Apache gestartet, gestoppt und neu gestartet werden
* Verwenden Sie die folgenden Befehle, um Shellinabox und Apache neu zu starten


{| style="border-spacing:0;width:8.156cm;"
<tt>sudo service shellinabox reload</tt>
|-
|| 1
 
2
|| <tt>sudo service shellinabox reload</tt>


<tt>sudo service apache2 reload</tt>
<tt>sudo service apache2 reload</tt>
|-
|}


Um zu erfahren, wie Shellinabox mithilfe einfacher und praktischer Aliase gestartet, gestoppt und neu gestartet werden kann, [https://www.smarthomebeginner.com/create-shortcut-to-commands-using-bashaliases-in-ubuntu/ siehe diesen Beitrag]


To find out how to start, stop, and restart Shellinabox using simple and convenient aliases, [https://www.smarthomebeginner.com/create-shortcut-to-commands-using-bashaliases-in-ubuntu/ refer to this post].
== 1. Ändern des Standard-Überwachungsports ==
Shellinabox lauscht standardmäßig auf Port 4200
* Sie können Shellinabox über <tt>http://localhost:4200</tt> aufrufen
* Das Problem ist, dass auch Hacker dies wissen
* Wenn sie also Ihre IP-Adresse kennen, können sie auf Ihre Shellinabox zugreifen, indem sie <tt>http://XXX.XXX.XXX.XXX:4200</tt> aufrufen, wobei XXX.XXX.XXX.XXX für Ihre IP-Adresse steht
* Wenn Sie den Standard-Überwachungsport in einen zufälligen Port ändern, ist es für Hacker schwieriger, auf Ihre Shellinabox zuzugreifen


=== Change Port ===
Um dies unter Linux/Ubuntu zu tun, müssen Sie <tt>/etc/default/shellinabox</tt> bearbeiten
Shellinabox by default listens on port 4200. You would access Shellinabox by going to <tt>http://localhost:4200</tt>. The problem is hackers know this as well. So if they know your IP address they could access your Shellinabox by going to <tt>http://XXX.XXX.XXX.XXX:4200</tt>, where the XXX.XXX.XXX.XXX represents your IP address. Therefore changing the default listening port to a random port makes it difficult for hackers to reach your Shellinabox.
sudo nano /etc/default/shellinabox


To do this on Linux/Ubuntu you will have to edit <tt>/etc/default/shellinabox</tt>:
Suchen Sie nach den folgenden Zeilen und ändern Sie die Portnummer von der Standardnummer 4200 in einen anderen zufälligen Port (z.&nbsp;B.&nbsp;6125)
{| style="border-spacing:0;width:8.918cm;"
# TCP port that shellinboxd's webserver listens on
|-
SHELLINABOX_PORT=6125
|| 1
|| <tt>sudo nano /etc/default/shellinabox</tt>
|-
|}


Find the lines below and change the port number from the default 4200 to another random port (eg. 6125):
Speichern und beenden
{| style="border-spacing:0;width:12.982cm;"
* Starten Sie Shellinabox wie oben beschrieben neu
|-
* Ihre Shellinabox sollte nun unter <tt>http://localhost:6125</tt> verfügbar sein
|| 1
* Wenn Sie [https://www.smarthomebeginner.com/setup-port-forwarding-on-router/ Portweiterleitung einrichten] auf Ihrem Router/DHCP-Server haben, können Sie auf Ihre Shellinabox über <tt>http://XXX.XXX.XXX.XXX:6125</tt> zugreifen, wobei XXX.XXX.XXX.XXX Ihre externe IP-Adresse ist
* Wenn Sie einen Domainnamen eingerichtet haben, der auf Ihre IP-Adresse verweist, können Sie Ihre Shellinabox über <tt>http://domain.com:6125</tt> erreichen


2
== 2. SSL aktivieren ==
|| <tt><nowiki># TCP port that shellinboxd's webserver listens on</nowiki></tt>
Beim Zugriff auf die Shellinabox über <tt>http</tt> werden alle Informationen als unverschlüsselte Daten gesendet
* Dies kann gefährlich sein, wenn Sie über das Internet auf Ihre Shellinabox zugreifen
* Die Lösung besteht darin, die Daten während der Übertragung zu verschlüsseln, wodurch das Ausspähen durch Hacker erschwert wird


<tt>SHELLINABOX_PORT=6125</tt>
Um den HTTPS-Zugriff auf Linux-Servern mit Apache zu aktivieren und durchzusetzen, installieren Sie die folgenden Laufzeitbibliotheken
|-
sudo apt-get install libssl0.9.8 libpam0g openssl
|}


Save and exit.  
Starten Sie Ihre Shellinabox und den Apache-Server neu
* Sie sollten nun nur noch über <tt>https://localhost:6125</tt> darauf zugreifen können
* Beachten Sie, dass Sie möglicherweise ein SSL-Zertifikat generieren lassen müssen
* Wenn Sie Ihr eigenes Zertifikat generieren möchten, finden Sie weitere Informationen unter [http://httpd.apache.org/docs/2.2/ssl/ssl_faq.html Apache-Dokumentation]
* Standardmäßig installiert das System selbstsignierte Zertifikate für Sie
* Diese Zertifikate lösen wahrscheinlich Warnungen aus, wenn Sie Ihren Browser auf die Website richten


Restart Shellinabox as described above. Your Shellinabox should now be available at <tt>http://localhost:6125</tt>. If you have [https://www.smarthomebeginner.com/setup-port-forwarding-on-router/ setup port forwarding] on your router/DHCP server, you can access your Shellinabox using <tt>http://XXX.XXX.XXX.XXX:6125</tt>, where XXX.XXX.XXX.XXX is your external IP address. If you have a domain name setup that refers to your IP address, then you can reach your Shellinabox using <tt>http://domain.com:6125</tt>
; Empfohlene Leitfäden Secure Shell/SSH
 
* [https://www.amazon.com/SSH-Mastery-OpenSSH-PuTTY-Tunnels/dp/1642350028/?tag=shbeg-20 SSH-Beherrschung: OpenSSH, PuTTY, Tunnels und Schlüssel]
=== 2. Enable SSL ===
 
Accessing Shellinabox through <tt>http</tt> sends all information as unencrypted data. This could be dangerous if you are working on your Shellinabox remotely from the internet. The solution is to encrypt the data during transfer, which makes sniffing by hackers harder. To enable and enforce HTTPS access on Linux servers with Apache, install the following run-time libraries:
 
 
{| style="border-spacing:0;width:12.728cm;"
|-
|| 1
|| <tt>sudo apt-get install libssl0.9.8 libpam0g openssl</tt>
|-
|}
 
 
Restart your Shellinabox and Apache server. It should now be accessible only through <tt>https://localhost:6125</tt>. Note that you may have to have a SSL certificate generated. Refer to [http://httpd.apache.org/docs/2.2/ssl/ssl_faq.html Apache documentation] if you want to generate your own certificate. By default, the system will install self-signed certificates for you. These certificates are likely to raise warnings when you point your browser to the site.
 
====== Recommended Guides Secure Shell/SSH: ======
 
* [https://www.amazon.com/SSH-Mastery-OpenSSH-PuTTY-Tunnels/dp/1642350028/?tag=shbeg-20 SSH Mastery: OpenSSH, PuTTY, Tunnels and Keys]
* [https://www.amazon.com/SSH-Secure-Shell-Definitive-Guide/dp/0596008953/?tag=shbeg-20 SSH, The Secure Shell: The Definitive Guide]
* [https://www.amazon.com/SSH-Secure-Shell-Definitive-Guide/dp/0596008953/?tag=shbeg-20 SSH, The Secure Shell: The Definitive Guide]
* [https://www.amazon.com/dp/1593279523/?tag=shbeg-20 The Linux Command Line, 2nd Edition]
* [https://www.amazon.com/dp/1593279523/?tag=shbeg-20 The Linux Command Line, 2nd Edition]




== 3. Beschränken Sie Shellinabox auf Localhost ==
Sie können den Zugriff auf Shellinabox auf Localhost beschränken
* Mit anderen Worten: Sie können nur von dem System aus auf Shellinabox zugreifen, auf dem es ausgeführt wird


=== 3. Restrict Shellinabox to Localhost Only ===
Um dies unter Linux/Ubuntu zu tun, müssen Sie <tt>/etc/default/shellinabox</tt> wie unten gezeigt bearbeiten
sudo editor /etc/default/shellinabox


You can restrict access to Shellinabox from Localhost only. In other words you can access Shellinabox only from the system on which it is running. To do this on Linux/Ubuntu you will have to edit <tt>/etc/default/shellinabox</tt> as shown below:
Suchen Sie die folgende Zeile und fügen Sie <tt>--localhost-only</tt> am Ende hinzu (wie unten dargestellt)
SHELLINABOX_ARGS="--no-beep --localhost-only"


Speichern Sie die Zeile und starten Sie Shellinabox neu
* Dadurch kann zwar die Sicherheit von Shellinabox erhöht werden, allerdings wird der Zugriff auf Ihre Shellinabox von anderen Systemen und der Fernzugriff über das Internet verhindert
* Dies kann sehr lästig sein
* Sie können diesen Nachteil beheben, indem Sie den Apache-Reverse-Proxy einrichten, wie in Schritt 4 beschrieben


{| style="border-spacing:0;width:8.918cm;"
== 4. Einrichten des Shellinabox-Apache-Reverse-Proxys ==
|-
Um die Sicherheit Ihrer Shellinabox noch weiter zu erhöhen, können Sie einen Apache Reverse Proxy einrichten
|| 1
|| <tt>sudo nano /etc/default/shellinabox</tt>
|-
|}


Dazu müssen Sie zunächst <tt>mod_proxy</tt> auf Apache aktivieren
sudo a2enmod proxy


Find the line below and add <tt>--localhost-only</tt> at the end (as shown below):
Erstellen Sie dann eine Sicherungskopie von <tt>/etc/apache2/mods-available/proxy.conf
sudo cp -a /etc/apache2/mods-available/proxy.conf /etc/apache2/mods-available/proxy.conf.backup


Bearbeiten Sie als Nächstes <tt>/etc/apache2/mods-available/proxy.conf</tt> und stellen Sie sicher, dass sie wie unten dargestellt aussieht
* Fügen Sie bei Bedarf vorhandene Zeilen hinzu und bearbeiten Sie sie


{| style="border-spacing:0;width:11.712cm;"
[[Image:Bild2.png|top|alt=„Shellinabox Reverse Proxy“]]
|-
|| 1
|| <tt>SHELLINABOX_ARGS="--no-beep --localhost-only"</tt>
|-
|}


Speichern und beenden
* Starten Sie Shellinabox und Apache neu
* Nun können Sie über <tt>https://localhost/shell</tt> oder <tt>https://XXX.XXX.XXX.XXX/shell</tt> auf Ihre Shellinabox zugreifen (über das Internet unter Verwendung Ihrer IP-Adresse – erfordert [https://www.smarthomebeginner.com/setup-port-forwarding-on-router/ Portweiterleitung])
* Die letzte Zeile im obigen Code ermöglicht Ihnen den Zugriff auf Shellinabox über <tt>https://domain.com/shell</tt>
* Ignorieren Sie sie, wenn Sie keinen Domainnamen haben, der auf Ihre IP-Adresse verweist


Save and restart Shellinabox. While this can increase Shellinabox security, it will prevent access to your Shellinabox from others systems and remote access through the internet. This can be a great inconvenience. You can overcome this drawback by setting up Apache reverse proxy as described in Step 4.
Dadurch wird die Sicherheit von Shellinabox erhöht, da der Shellinabox-Port nicht nach außen offengelegt wird


=== 4. Setup Shellinabox Apache Reverse Proxy ===
; Empfohlene Leitfäden Sichere Shell/SSH
 
* [https://www.amazon.com/SSH-Mastery-OpenSSH-PuTTY-Tunnels/dp/1642350028/?tag=shbeg-20 SSH-Beherrschung: OpenSSH, PuTTY, Tunnels und Schlüssel]
To add a layer of convenience to your Shellinabox security, you can setup Apache reverse proxy. To do this, you will have to first enable <tt>mod_proxy</tt> on Apache:
 
 
{| style="border-spacing:0;width:4.854cm;"
|-
|| 1
|| <tt>sudo a2enmod proxy</tt>
|-
|}
 
 
Then, make a backup of <tt>/etc/apache2/mods-available/proxy.conf</tt>:
 
 
{| style="border-spacing:0;width:17cm;"
|-
|| 1
|| <tt>sudo cp -a /etc/apache2/mods-available/proxy.conf /etc/apache2/mods-available/proxy.conf.backup</tt>
|-
|}
 
 
Next, edit <tt>/etc/apache2/mods-available/proxy.conf</tt> and make sure it looks like what is shown below. Add and edit any existing lines as necessary.
 
 
[[Image:Bild2.png|top|alt="Shellinabox Reverse Proxy"]]
 
 
Save and exit. Restart Shellinabox and Apache. Now you can access your Shellinabox through <tt>https://localhost/shell</tt> or <tt>https://XXX.XXX.XXX.XXX/shell</tt> (from internet using your IP address - requires [https://www.smarthomebeginner.com/setup-port-forwarding-on-router/ port forwarding]). The last line in the code above allows you to access Shellinabox through <tt>https://domain.com/shell</tt>. Ignore it if you do not have a domain name that refers to your IP address.
 
What this does is to increase Shellinabox security by not revealing the Shellinabox port to the outside world.
 
====== Recommended Guides Secure Shell/SSH: ======
 
* [https://www.amazon.com/SSH-Mastery-OpenSSH-PuTTY-Tunnels/dp/1642350028/?tag=shbeg-20 SSH Mastery: OpenSSH, PuTTY, Tunnels and Keys]
* [https://www.amazon.com/SSH-Secure-Shell-Definitive-Guide/dp/0596008953/?tag=shbeg-20 SSH, The Secure Shell: The Definitive Guide]
* [https://www.amazon.com/SSH-Secure-Shell-Definitive-Guide/dp/0596008953/?tag=shbeg-20 SSH, The Secure Shell: The Definitive Guide]
* [https://www.amazon.com/dp/1593279523/?tag=shbeg-20 The Linux Command Line, 2nd Edition]
* [https://www.amazon.com/dp/1593279523/?tag=shbeg-20 The Linux Command Line, 2nd Edition]


== Apache-Authentifizierung ==
Zu guter Letzt aktivieren Sie die Authentifizierung
* Jedes Mal, wenn Sie auf Shellinabox zugreifen, werden Sie nach einem Benutzernamen und einem Passwort gefragt, wie in der folgenden Abbildung dargestellt


[[Image:Bild3.png|top|alt=„Shellinabox Security“]]


=== Apache Authentication ===
Dazu müssen Sie zunächst eine <tt>.htpasswd</tt>-Datei erstellen
 
* Weitere Informationen finden Sie in der [http://httpd.apache.org/docs/2.2/programs/htpasswd.html Apache-Dokumentation]
Last but not the lease, enable Authentication. Every time you access Shellinabox, you will be asked for a username and password as shown in the picture below:
* Am einfachsten ist es jedoch, einen der online verfügbaren htpasswd-Generatoren zu verwenden
 
[[Image:Bild3.png|top|alt="Shellinabox Security"]]
 
To do this you will, first have to create a <tt>.htpasswd</tt> file. More information is available in [http://httpd.apache.org/docs/2.2/programs/htpasswd.html Apache documentation]. But the easiest way to achieve this is to use one of the htpasswd generators available online.
 
After you enter the username and password two code blocks will be generated. Copy the contents of the <tt>.htpasswd</tt> code block and save it to <tt>/etc/apache2/.htpasswd_siab</tt>. Next, copy the contents of the <tt>.htaccess</tt> code block and add it to <tt>/etc/apache2/mods-available/proxy.conf</tt> as shown below
 
 
[[Image:Bild4.png|top|alt="Shellinabox Reverse Proxy"]]
 
 
Save and exit. Restart Shellinabox and Apache. You should be prompted for a password everytime you try to access Shellinabox.


After you are done with all the configuration/editing, run the following command to ensure that your new Shellinabox defaults are updated:
Nach Eingabe von Benutzername und Passwort werden zwei Codeblöcke generiert
* Kopieren Sie den Inhalt des <tt>.htpasswd</tt>-Codeblocks und speichern Sie ihn unter <tt>/etc/apache2/.htpasswd_siab</tt>
* Kopieren Sie anschließend den Inhalt des <tt>.htaccess</tt>-Codeblocks und fügen Sie ihn wie unten dargestellt zu <tt>/etc/apache2/mods-available/proxy.conf</tt> hinzu


[[Image:Bild4.png|top|alt=„Shellinabox Reverse Proxy“]]


{| style="border-spacing:0;width:9.68cm;"
Speichern und beenden
|-
* Starten Sie Shellinabox und Apache neu
|| 1
* Sie sollten jedes Mal, wenn Sie versuchen, auf Shellinabox zuzugreifen, zur Eingabe eines Kennworts aufgefordert werden
|| <tt>sudo update-rc.d shellinabox defaults</tt>
|-
|}


Nachdem Sie alle Konfigurationen/Bearbeitungen abgeschlossen haben, führen Sie den folgenden Befehl aus, um sicherzustellen, dass Ihre neuen Shellinabox-Standardwerte aktualisiert werden
sudo update-rc.d shellinabox defaults


Restart your Apache and Shellinabox one last time. Each step adds one additional layer of security. Together they increase your Shellinabox security and make it nearly impervious.
Starten Sie Ihren Apache und Shellinabox ein letztes Mal neu
* Jeder Schritt fügt eine zusätzliche Sicherheitsebene hinzu
* Zusammen erhöhen sie die Sicherheit Ihrer Shellinabox und machen sie nahezu undurchdringlich


There you go. [https://www.smarthomebeginner.com/install-shellinabox-on-ubuntu/ Install Shellinabox] and follow the above steps to increase Shellinabox Security. Enjoy the convenience of web based terminal emulator.
Das war's. [https://www.smarthomebeginner.com/install-shellinabox-on-ubuntu/ Install Shellinabox] und befolgen Sie die oben genannten Schritte, um die Sicherheit von Shellinabox zu erhöhen
* Genießen Sie die Bequemlichkeit des webbasierten Terminalemulators

Version vom 17. November 2024, 11:57 Uhr

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.

Shellinabox/Sicherheit

Shell-In-A-Box ist ein webbasierter AJAX-Terminalemulator zur Fernsteuerung Ihres Linux-Servers

  • Vor kurzem habe ich erklärt, wie man Shellinabox auf Ubuntu installiert und wie man den SSH-Server auf Ubuntu installiert
  • In diesem Beitrag wird erklärt, wie man die „Shellinabox-Sicherheit“ auf Apache-Webservern erhöht
  • Shellinabox ermöglicht es Benutzern, sich mit ihrem Benutzernamen und Passwort anzumelden und gewährt ihnen Zugriff auf ihre Anmelde-Shell, genau wie beim SSH-Fernzugriff
  • Während Shellinabox für Systemadministratoren sehr praktisch ist, kann es für Hacker einen einfachen Einstiegspunkt bieten, wenn es nicht ordnungsgemäß gesichert ist
  • Sehen wir uns ohne weitere Verzögerung einige Möglichkeiten an, wie Sie die Sicherheit von Shellinabox erhöhen können

Einfache Schritte zur Erhöhung der Shellinabox-Sicherheit

Es gibt mehrere Möglichkeiten, Ihre Shellinabox-Installation zu sichern

  • Im Folgenden werden fünf einfache Maßnahmen beschrieben, mit denen Sie die „Shellinabox-Sicherheit“ erhöhen können
  • Bevor wir beginnen, sollten Sie wissen, wie Shellinabox und Apache gestartet, gestoppt und neu gestartet werden
  • Verwenden Sie die folgenden Befehle, um Shellinabox und Apache neu zu starten

sudo service shellinabox reload

sudo service apache2 reload

Um zu erfahren, wie Shellinabox mithilfe einfacher und praktischer Aliase gestartet, gestoppt und neu gestartet werden kann, siehe diesen Beitrag

1. Ändern des Standard-Überwachungsports

Shellinabox lauscht standardmäßig auf Port 4200

  • Sie können Shellinabox über http://localhost:4200 aufrufen
  • Das Problem ist, dass auch Hacker dies wissen
  • Wenn sie also Ihre IP-Adresse kennen, können sie auf Ihre Shellinabox zugreifen, indem sie http://XXX.XXX.XXX.XXX:4200 aufrufen, wobei XXX.XXX.XXX.XXX für Ihre IP-Adresse steht
  • Wenn Sie den Standard-Überwachungsport in einen zufälligen Port ändern, ist es für Hacker schwieriger, auf Ihre Shellinabox zuzugreifen

Um dies unter Linux/Ubuntu zu tun, müssen Sie /etc/default/shellinabox bearbeiten

sudo nano /etc/default/shellinabox

Suchen Sie nach den folgenden Zeilen und ändern Sie die Portnummer von der Standardnummer 4200 in einen anderen zufälligen Port (z. B. 6125)

# TCP port that shellinboxd's webserver listens on
SHELLINABOX_PORT=6125

Speichern und beenden

2. SSL aktivieren

Beim Zugriff auf die Shellinabox über http werden alle Informationen als unverschlüsselte Daten gesendet

  • Dies kann gefährlich sein, wenn Sie über das Internet auf Ihre Shellinabox zugreifen
  • Die Lösung besteht darin, die Daten während der Übertragung zu verschlüsseln, wodurch das Ausspähen durch Hacker erschwert wird

Um den HTTPS-Zugriff auf Linux-Servern mit Apache zu aktivieren und durchzusetzen, installieren Sie die folgenden Laufzeitbibliotheken

sudo apt-get install libssl0.9.8 libpam0g openssl

Starten Sie Ihre Shellinabox und den Apache-Server neu

  • Sie sollten nun nur noch über https://localhost:6125 darauf zugreifen können
  • Beachten Sie, dass Sie möglicherweise ein SSL-Zertifikat generieren lassen müssen
  • Wenn Sie Ihr eigenes Zertifikat generieren möchten, finden Sie weitere Informationen unter Apache-Dokumentation
  • Standardmäßig installiert das System selbstsignierte Zertifikate für Sie
  • Diese Zertifikate lösen wahrscheinlich Warnungen aus, wenn Sie Ihren Browser auf die Website richten
Empfohlene Leitfäden Secure Shell/SSH


3. Beschränken Sie Shellinabox auf Localhost

Sie können den Zugriff auf Shellinabox auf Localhost beschränken

  • Mit anderen Worten: Sie können nur von dem System aus auf Shellinabox zugreifen, auf dem es ausgeführt wird

Um dies unter Linux/Ubuntu zu tun, müssen Sie /etc/default/shellinabox wie unten gezeigt bearbeiten

sudo editor /etc/default/shellinabox

Suchen Sie die folgende Zeile und fügen Sie --localhost-only am Ende hinzu (wie unten dargestellt)

SHELLINABOX_ARGS="--no-beep --localhost-only"

Speichern Sie die Zeile und starten Sie Shellinabox neu

  • Dadurch kann zwar die Sicherheit von Shellinabox erhöht werden, allerdings wird der Zugriff auf Ihre Shellinabox von anderen Systemen und der Fernzugriff über das Internet verhindert
  • Dies kann sehr lästig sein
  • Sie können diesen Nachteil beheben, indem Sie den Apache-Reverse-Proxy einrichten, wie in Schritt 4 beschrieben

4. Einrichten des Shellinabox-Apache-Reverse-Proxys

Um die Sicherheit Ihrer Shellinabox noch weiter zu erhöhen, können Sie einen Apache Reverse Proxy einrichten

Dazu müssen Sie zunächst mod_proxy auf Apache aktivieren

sudo a2enmod proxy

Erstellen Sie dann eine Sicherungskopie von /etc/apache2/mods-available/proxy.conf

sudo cp -a /etc/apache2/mods-available/proxy.conf /etc/apache2/mods-available/proxy.conf.backup

Bearbeiten Sie als Nächstes /etc/apache2/mods-available/proxy.conf und stellen Sie sicher, dass sie wie unten dargestellt aussieht

  • Fügen Sie bei Bedarf vorhandene Zeilen hinzu und bearbeiten Sie sie

„Shellinabox Reverse Proxy“

Speichern und beenden

Dadurch wird die Sicherheit von Shellinabox erhöht, da der Shellinabox-Port nicht nach außen offengelegt wird

Empfohlene Leitfäden Sichere Shell/SSH

Apache-Authentifizierung

Zu guter Letzt aktivieren Sie die Authentifizierung

  • Jedes Mal, wenn Sie auf Shellinabox zugreifen, werden Sie nach einem Benutzernamen und einem Passwort gefragt, wie in der folgenden Abbildung dargestellt

„Shellinabox Security“

Dazu müssen Sie zunächst eine .htpasswd-Datei erstellen

  • Weitere Informationen finden Sie in der Apache-Dokumentation
  • Am einfachsten ist es jedoch, einen der online verfügbaren htpasswd-Generatoren zu verwenden

Nach Eingabe von Benutzername und Passwort werden zwei Codeblöcke generiert

  • Kopieren Sie den Inhalt des .htpasswd-Codeblocks und speichern Sie ihn unter /etc/apache2/.htpasswd_siab
  • Kopieren Sie anschließend den Inhalt des .htaccess-Codeblocks und fügen Sie ihn wie unten dargestellt zu /etc/apache2/mods-available/proxy.conf hinzu

„Shellinabox Reverse Proxy“

Speichern und beenden

  • Starten Sie Shellinabox und Apache neu
  • Sie sollten jedes Mal, wenn Sie versuchen, auf Shellinabox zuzugreifen, zur Eingabe eines Kennworts aufgefordert werden

Nachdem Sie alle Konfigurationen/Bearbeitungen abgeschlossen haben, führen Sie den folgenden Befehl aus, um sicherzustellen, dass Ihre neuen Shellinabox-Standardwerte aktualisiert werden

sudo update-rc.d shellinabox defaults

Starten Sie Ihren Apache und Shellinabox ein letztes Mal neu

  • Jeder Schritt fügt eine zusätzliche Sicherheitsebene hinzu
  • Zusammen erhöhen sie die Sicherheit Ihrer Shellinabox und machen sie nahezu undurchdringlich

Das war's. Install Shellinabox und befolgen Sie die oben genannten Schritte, um die Sicherheit von Shellinabox zu erhöhen

  • Genießen Sie die Bequemlichkeit des webbasierten Terminalemulators