SSHトンネルロギング?


13

友達にアクセスを許可したいSSHを実行しているコンピューターがありますが、SSHトンネリングを介してインターネット接続を使用することは望んでいません(自分でやりたいのですが)。SSHトンネルが作成された日時と(ローカル)ユーザーを記録する方法はありますか?それが不可能な場合、一部のユーザーのみに許可することはできますか?


それらのユーザーのすべてのインターネットアクセスを禁止ますか、それともポートフォワーディングのみを許可ますか?
JanC

1
SSHを介したポート転送とSOCKSプロキシのみを禁止します。
Frxstrem

回答:


10

友人がコンピュータにSSHで接続できる場合、友人は帯域幅の一部を使用しているため、インターネット接続へのアクセスを完全にブロックすることはできません。

そうは言っても、1つの解決策は、友達があなたの接続でできることを制限することです。友人のIPをホワイトリストに登録し、他のすべてをブラックリストに登録するファイアウォールを設定できます。そうすれば、友人はあなたのコンピューターにSSHで接続できますが、そこからは自分のIP以外のIPに到達することはできません。

自分でユーザー固有のファイアウォールを設定したことはありませんが、IPTablesを使用して実現できると考えています。また、ユーザーがサーバーに大きなファイルをアップロードすることにより、依然として帯域幅を多く消費する可能性があることに留意してください。これを特に防止したい場合は、ユーザーごとの帯域幅制限する必要があります


9

/ etc / ssh / sshd_configに次のものが含まれていることを確認したい

AllowTcpForwarding no

そして、ファイルの最後に置く

Match User yourusername
    AllowTcpForwarding yes

これにより、あなたとあなただけがあなたの心のコンテンツにポートフォワードすることができますが、Joãoが言ったように、シェルアクセスも無効にしない限り、彼らが自分のプログラムを実行するのを防ぐことはできません。


8

sshdによるTCP転送を無効にできますが、ユーザーの発信アクティビティを制限するためにさらに多くの作業を行う必要があることに注意してください。それらにシェルを与えることは、彼らに多くの力を与えることを意味します。

たとえば、サーバーにファイルをscpして/ homeのファイルを実行できる場合、pppdバイナリをアップロードし、それを使用してPPP over SSHを実行できます。着信接続を許可すると、/usr/sbin/sshd -p 9999 -f special_sshd_configそのsshdを介してサーバーを実行して使用できます。

iptables所有者モジュール(man iptables、所有者の検索)とchroot jailを調べたいかもしれませんが、これはシェルエクスペリエンスを損なうことなく解決するのは本当に難しいです。


1

私が知っている唯一のオプションは、システムレベルでトンネリングを無効にすることです。

/ etc / ssh / sshd_configを編集し、変更/追加します

AllowTcpForwarding no

シェルにアクセスしている間、ユーザーが自分のバイナリを使用して接続を転送するのを防ぐ方法はありません。


1
私は自分のSSHトンネリングを使用しなければならないため、これは受け入れられる解決策ではありません(私の質問で述べたように)。
Frxstrem

これは実際にはアプリケーションレベルで無効にします。
チグジー


0

最初の反復:

それらのssh転送を無効にします。sshで

あなたは、あなたのサーバーに自分自身のためのIPSecおよびVPNを有効にします。IPSecはネットワークレベルであるため、SSHアプリケーション設定の影響を受けません。

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