SSH Tunnel Logging?

13

Ich besitze einen Computer mit SSH, auf den ich meinen Freunden Zugriff gewähren möchte, möchte jedoch nicht, dass sie meine Internetverbindung über SSH-Tunnel nutzen (obwohl ich dies gerne selbst tun würde). Gibt es eine Möglichkeit, ein Protokoll darüber zu führen, wann SSH-Tunnel erstellt werden und von welchen (lokalen) Benutzern oder, falls dies nicht möglich ist, nur einigen Benutzern dies zu ermöglichen?

Frxstrem
quelle
Möchten Sie allen Benutzern den Internetzugriff verweigern oder nur die Portweiterleitung?
10.
1
Ich möchte nur Portweiterleitung und SOCKS-Proxys über SSH nicht zulassen.
Frxstrem

Antworten:

10

Wenn Ihre Freunde in der Lage sind, SSH auf Ihren Computer zu übertragen, belegen sie einen Teil Ihrer Bandbreite und können den Zugriff auf Ihre Internetverbindung daher nicht vollständig blockieren.

Abgesehen davon besteht eine Lösung darin, zu begrenzen, was Ihre Freunde mit Ihrer Verbindung tun können. Sie könnten eine Firewall einrichten, die die IPs Ihres Freundes auflistet und alles andere auf die schwarze Liste setzt. Auf diese Weise könnten Ihre Freunde SSH auf Ihren Computer übertragen, aber von dort aus könnten sie keine andere IP als ihre eigene erreichen.

Ich habe nie eine benutzerspezifische Setup Firewall selbst, aber ich glaube , dass es möglich ist , mit erreichen IPTables . Denken Sie auch daran, dass Ihre Benutzer immer noch viel Bandbreite verbrauchen können, indem Sie große Dateien auf Ihren Server hochladen. Wenn Sie dies ausdrücklich verhindern möchten, müssen Sie die Bandbreite pro Benutzer begrenzen .

Olivier Lalonde
quelle
9

Sie möchten sicherstellen, dass / etc / ssh / sshd_config enthält

AllowTcpForwarding no

und dann am Ende der Datei setzen

Match User yourusername
    AllowTcpForwarding yes

Auf diese Weise können Sie und nur Sie nach Herzenslust weiterleiten, aber wie João sagte, können Sie nicht verhindern, dass sie ihre eigenen Programme ausführen, es sei denn, Sie deaktivieren auch den Shell-Zugriff.


quelle
8

Beachten Sie, dass Sie zwar die TCP-Weiterleitung per sshd deaktivieren können, aber noch viel weiter gehen müssen, um die ausgehenden Aktivitäten Ihrer Benutzer einzuschränken. Ihnen eine Muschel zu geben bedeutet, ihnen viel Kraft zu geben.

Wenn sie beispielsweise Dateien auf dem Server scpen und Dateien in / home ausführen können, können sie einfach eine pppd-Binärdatei hochladen und damit PPP über SSH ausführen. Wenn Sie eingehende Verbindungen zulassen, können sie /usr/sbin/sshd -p 9999 -f special_sshd_configIhren Server einfach über diese SSHD ausführen und verwenden.

Möglicherweise möchten Sie sich mit dem Eigentümer-Modul von iptables (man iptables, suche nach Eigentümer) und den Chroot-Gefängnissen befassen, aber dies ist wirklich schwer zu lösen, ohne die Shell-Erfahrung zu beeinträchtigen.

SpamapS
quelle
1

Ich habe nur die Möglichkeit, das Tunneln auf Systemebene zu deaktivieren.

Bearbeiten Sie / etc / ssh / sshd_config und ändern Sie / add

AllowTcpForwarding no

Beachten Sie, dass Benutzer beim Shell-Zugriff nicht daran gehindert werden können, ihre eigenen Binärdateien zum Weiterleiten von Verbindungen zu verwenden.

João Pinto
quelle
1
Dies ist keine akzeptable Lösung, da ich selbst SSH-Tunneling verwenden muss (wie in meiner Frage angegeben).
Frxstrem
Das heißt, es wird auf Anwendungsebene deaktiviert.
Chiggsy
0

Erste Iteration:

Deaktivieren Sie die ssh-Weiterleitung für sie. in ssh

Sie aktivieren IPSec für sich und VPN für Ihren Server. IPSec befindet sich auf Netzwerkebene und wird daher von den SSH-Anwendungseinstellungen nicht beeinflusst.

chiggsy
quelle