制限されたユーザーのシェルとして/bin/catを使用するのは安全ですか?

制限されたユーザーのシェルとして/bin/catを使用するのは安全ですか?

メンテナンス作業を実行するには、少数のコンピュータにリモートでログインする必要がありますが、コンピュータはファイアウォールまたはNATの背後にあることがあります。

私がいつもやってきた方法は、「コマンドを使用してパスワードでログインする」など、逆トンネリングが有効になるようにSSHを使用して自分のシステムにログインする方法についてユーザーにアドバイスを提供することです。ssh -R 12345:localhost:22 [email protected]xyzzy

uremonteこれでうまくいきますが、セキュリティ上の理由から作業が終わったら、ユーザーのSSHログインを無効にし、必要に応じて再度有効にする必要があります。そうしないと、誰かが自分の管理フロントエンドシステムにログインしない可能性があります。そうする必要はなく、私がトンネルを使用している間、正当なユーザーがいたずらをするかもしれないと言うことはできません。

私は、ログインしている人がシェルで何もできないようにユーザーシェルを設定することを検討しました/etc/passwd/bin/cat大丈夫だと思いますが、これにより私のシステムに穴ができないことを確認したいと思います。

それで質問はこれが絶対に安全なのかということです。このアカウントにログインしている人が猫の罠から抜け出す方法はありますか?

答え1

これがケースを交換するかなり標準的な理由です。一般的に使用されるか、/bin/false他の同様のシェルです。/bin/cat

一般的に脱出できず、セキュリティバグがある/bin/cat可能性もありません。ただし、作成などの他の方法はまだ機能できます。catサービス拒否またはファイアウォールルールをバイパスしてください。

別の、おそらくより深刻な問題は、このinternal-sftpモジュールをsftp/bin/catsftp

特定のユースケースでは、クライアントにSSHアクセスを提供するのではなく、トンネルまたはVPNを使用することをお勧めします。

関連情報