Ist es sicherer, ein Chroot-Gefängnis, eine Gefängnishülle oder eine Kombination zu verwenden?


9

Eine Freundin von mir hat ein Xandros-basiertes Acer-Netbook und hat versucht, Fernverwaltung und Hilfe von mir zu erhalten, während sie um die Welt reist.
Ich habe ein Konto in ihrem Netbook eingerichtet, in das ich ssh einbinden kann, und ein Skript eingerichtet, um den ssh-Tunnel von ihrem Netbook zu meinem Server umzukehren. Auf diese Weise kann ich die Probleme mit Firewalls usw. in verschiedenen Hostels und Hotels umgehen. Sobald sie auf meinem Server ist, kann ich zu ihrem Netbook gehen.

Ich habe ein Bash-Skript, das als Shell ausgeführt wird, wenn sie sich auf meinem Server befindet, wodurch sie nur einen Bildschirm mit der Aufschrift "Bitte warten" erhält. Die einzige Möglichkeit besteht darin, das Skript zu verlassen und daher gebootet zu werden vom Server.

Der Benutzer, den ich für sie auf meinem Server erstellt habe, hat niedrige Rechte, aber es muss einen Exploit geben, der bedeuten würde, dass sie SSH-Zugriff auf meinen Server haben würde.

Ich denke darüber nach, auch ein Chroot-Gefängnis zu benutzen. Wenn sie also entkommt, hat sie nur Zugriff auf ihr Home-Verzeichnis.
Ist dies eine gute Idee, und gibt es weitere Sicherheitstipps, die ich möglicherweise verpasst habe, um meinen Server sicher zu halten, während ich trotzdem remote auf ihr Netbook zugreifen kann?

Zur Verdeutlichung glaube ich nicht, dass sie versuchen wird, aus dem Gefängnis oder der Chroot zu fliehen, aber ich würde gerne wissen, wie ich dies für alle Fälle verhindern könnte.

Update:
Und haben Sie weitere Vorschläge, wie ich auf das Netbook oder andere Ebenen zugreifen kann, die ich zwischen dem Benutzer und meiner Hardware platzieren könnte?

Antworten:


3

Haben Sie darüber nachgedacht, VNC oder eine andere Fernsteuerungs-App an einem Port einzurichten, der normalerweise nicht von einer Firewall nach Regeln gefiltert wird?

In einer Beispielkonfiguration hierfür wäre VNC (oder eine ähnliche App) auf das Notebook geladen. Lassen Sie dann Ihr Notebook-seitiges Skript ausführen, um Ihren Server an einem bestimmten Port zu erreichen, der nicht von der Firewall gefiltert wird, um Ihren Rückweg zum System herzustellen. 443 ist wahrscheinlich der beste Port dafür, aber auch andere sind geeignet. Dann stellen Sie von Ihrem System aus entweder direkt eine Verbindung zu VNC her oder replizieren einen Port auf Ihrem Server auf eine andere Portnummer und stellen einfach eine Verbindung zur Schnittstelle am lokalen Port her. Die Portumleitung führt Sie dann zum anderen System auf der Remote-Seite.

Hoffe das hilft.


Danke für den Vorschlag. Ich hatte das nicht in Betracht gezogen, weil ich unter Linux nicht wirklich viele vnc-Clients gesehen habe, die die umgekehrte Verbindung unter Linux offensichtlich machen. Kennen Sie welche?
Andy

Eine Möglichkeit besteht darin, ein TCP / IP-Programm zu verwenden, mit dem der Port in eine Richtung eingerichtet werden kann. Die Automatisierung mit einer Verbindung im Telnet-Stil über ein Shell-Skript wäre gut. Bei den meisten Telnet-Implementierungen können Sie den Port angeben, zu dem Sie eine Verbindung herstellen möchten.
Axxmasterr

2

Das Chroot-Gefängnis wird helfen, aber mit einem Exploit, der jemanden in eine Shell lässt, kann er immer noch die Prozesstabelle und dergleichen sehen und Programme ausführen, möglicherweise weitere Exploits. Wenn Sie wirklich aggressiv sein möchten, um den externen Benutzer zu isolieren, verwenden Sie eine Haubitze auf einer Ameise, aber Sie können einen virtuellen privaten Server für den gesamten SSH-Tunnelmechanismus einrichten. Dann ist das Schlimmste, was sie tun können, den VPS in den Müll zu werfen, außer die Möglichkeit, aus einem auszubrechen, was eine ziemlich hohe Messlatte ist.


Ich mag die Idee, aber ja, Dampfwalze, um eine Walnuss zu knacken :) Andererseits, wenn ich etwas wirklich Kleines wie ein Nur-Terminal-Welpen-Linux als Server laufen lasse, wäre es keine so große Dampfwalze.
Andy

2

Ich bin ein Fan einer guten Verteidigungsstrategie , wenn es um die Sicherung eines Computersystems geht. Daher würde ich empfehlen, dass Sie ein Konto mit geringen Berechtigungen in einem Chroot-Dateisystem verwenden, und selbst dann ist dies keine Garantie. Schauen Sie sich einfach das iPhone an. es macht beides und es hilft immer noch nicht.


2

Eine andere Möglichkeit, dieses Tier jetzt, wo ich darüber nachdenke, zu häuten, besteht darin, den x-Sitzungsverkehr in einem SSH-Tunnel als Alternative zur Verwendung von VNC zu tunneln. Sie sind jetzt mit Ihrem aktuellen Setup bereits auf halbem Weg.

Richten Sie die X-Funktion an einem bestimmten Port lokal auf diesem Computer ein, leiten Sie diesen Port über den Tunnel an sich selbst weiter und replizieren Sie ihn an einen Port auf Ihrer Seite, damit Sie eine Verbindung zur Sitzung am lokalen Port Ihres Servers herstellen können.

Eine andere Sache, die ich gefunden habe und die für solche Dinge völlig praktisch ist, ist dynamisches DNS. Auf diese Weise können Sie einen auflösbaren vollqualifizierten Domänennamen festlegen, den Sie bei Bedarf abfragen können. DyDns wird als kompakter Dienst auf dem System ausgeführt, auf dem Sie es installiert haben, und aktualisiert den Datensatz jedes Mal, wenn sich die IP-Adressinformationen ändern.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.