Kann sshd Client-Tunnel-Endpunkte auf localhost beschränken?

7

Normalerweise kann ein SSH-Client die TCP-Weiterleitung über die -LBefehlszeilenoption anfordern . Der Server kann dies mit vollständig deaktivieren AllowTcpForwarding no. Wenn diese Option aktiviert ist, kann der Client anfordern, den Endpunkt über Host in mit einem anderen Remotecomputer als dem SSHD-Server zu verbinden -L port:host:hostport. Gibt es eine Möglichkeit, sshd so zu konfigurieren, dass die Zielweiterleitungsadresse auf localhost(dh den sshd-Servercomputer selbst) beschränkt wird?

Greg Hewgill
quelle

Antworten:

9

Bei einem sicheren Standard für eine OpenSSH-Installation ist GatewayPorts auf no festgelegt . Dies ist genau diese Einschränkung.

bearbeiten

Siehe die PermitOpen- Direktive:

Gibt die Ziele an, an die die TCP-Portweiterleitung zulässig ist. Die Weiterleitungsspezifikation muss eine der folgenden Formen haben:

              PermitOpen host:port
              PermitOpen IPv4_addr:port
              PermitOpen [IPv6_addr]:port

Es können mehrere Weiterleitungen angegeben werden, indem sie durch Leerzeichen getrennt werden. Ein Argument von "any" kann verwendet werden, um alle Einschränkungen aufzuheben und Weiterleitungsanforderungen zuzulassen. Standardmäßig sind alle Portweiterleitungsanforderungen zulässig.

an einer
quelle
Dies GatewayPortsgilt für Ports, die für den Client weitergeleitet werden, dh mit der Client- -ROption. Ich suche nach einer Einschränkung für die Zieladressen bei der Verwendung -L.
Greg Hewgill
Es funktioniert sowohl für -R als auch für -L, aber ich verstehe, was Sie jetzt meinen, Sie möchten den Ursprung einer Weiterleitung auf einen lokalen Host beschränken. Das ist schwieriger. Gatewayports schränkt das Ziel ein .
Ata
Ich habe schon GatewaysPorts noin meinem sshd_config. Ich kann ssh -L 1234:anotherhost:1234 serverdamit einen Tunnel einrichten anotherhost. Was ich will, ist zu erlauben, ssh -L 1234:localhost:1234 serveraber nicht zu erlauben ssh -L 1234:anotherhost:1234 server.
Greg Hewgill
Vielen Dank, PermitOpenist die Option, die ich gesucht habe! Ich bin mir nicht sicher, wie ich das auf der Manpage verpasst habe.
Greg Hewgill
> Es funktioniert sowohl für -R als auch für -L . GatewayPortsin ~/.ssh/configlegt die Richtlinie für fest -L. GatewayPortsin Remote-Hosts /etc/ssh/sshd_configlegt die Richtlinie für fest -R.
ScumCoder