ssh *リモート*ポート転送を制限するにはどうすればよいですか?


22

ssh -Rユーザーがリモートで転送できるポートを制限する必要があります。

permitopenauthorized_keysのオプションについて知っていますが、manページで述べているように、ローカルの「ssh -L」ポート転送のみを制限します

ここで説明したように、ユーザーは同じnetcatまたは類似したものを取得しますが、この場合、ユーザーにはシェルアクセスがありません

また、このスレッドはselinuxまたはの使用LD_PRELOADについて説明していますが、以前にselinuxを設定したことはなく、その方法についての情報は見つかりませんLD_PRELOAD

誰かがopensshにそれを実装するためのパッチを作成したのでしょうか?

編集:このバグレポートを見つけたので、まだ実装されていないと思います


これに対する解決策を見つけましたか?
alex88 16

私は、私は上記のバグが閉じられるまで、それを行うことができないか、誰かがこれを実装するためのパッチを書き込み推測していなかった
リュイス・

回答:


3

これは、2018-08-24にリリースされたOpenSSH 7.8p1に実装されています。リリースノートからの引用:

PermitListenディレクティブをsshd_config(5)に追加し、対応するpermitlisten = authorized_keysオプションを追加して、リモートフォワーディングで使用できるリスンアドレスとポート番号を制御します(ssh -R ...)。


4

no-port-forwardingすべてのポート転送を防ぐ、使用できるオプションがあります。少なくともOpenSSH 4.3p2(CentOS 5.3-私がアクセスできる最も古いマシン)の時点で提示します。あなたが置いたのと同じ場所に置いてくださいpermitopen


13
ポートフォワーディングを完全に無効にすると、過剰になりすぎて質問に合わないようです。OPはそれを制限したいが、特定のリモートポート転送を許可していると思います。
gertvdijk

2
はい、私はいくつかのポートが転送できるようにする必要がある
リュイス

0

sshを使用して制限することはできません。そのためには、おそらくselinuxまたはiptablesを使用できます。ただし、必要に応じて、または合わない代替戦略があります。UNIXソケットへのバインドを使用します。これは、opensshバージョン6.8以降で使用可能になります。

ソケットを使用する場合、ファイルシステムACL(ソケットは* nixに依存する可能性がありますが)を自由に使用でき、それを使用して、あるユーザーが別のソケットにバインドするのを防ぐことができます。ただし、ポートへのバインドを妨げることはないため、ユースケースによっては役に立たない可能性がありますが、ソケットのみを一貫して使用できる場合はポートは重要ではありません。

UNIXソケットでは、ダングリングソケットファイルを処理すると、リバースパブリッシャーが再接続しようとするため、問題が生じる場合があります。その問題に対する別の質問(および回答)があります。要するに、あなたもおそらく使用したいStreamLocalBindUnlink yes

接続が閉じた後にSSHリバーストンネルソケットをクリーンアップする方法は?


-1

複製:https : //superuser.com/questions/516417/how-to-restrict-ssh-port-forwarding-without-denying-it

以下を使用できるように見えますか?

サーバー構成ファイルには、PermitOpenオプションがあります。このオプションを使用して、転送を確立できるホストとポートを指定できます。このオプションは、Matchブロック内で使用できるため、ユーザー、グループ、ホスト名、またはIPアドレスパターンによって制限できます。

編集:したがって、サーバー設定で次を追加します

PermitOpenホスト:ポート

PermitOpen IPv4_addr:port

PermitOpen [IPv6_addr]:port


1
U&Lでのみ重複としてマークできます。
GAD3R 16

1
-Lのための質問、に記載されていると、それはすでに非ソリューションとして知られている通り
alex88

1
(iptables以外に)これに対する解決策はありますか?
-davesave
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.