メンテナンス作業を実行するには、少数のコンピュータにリモートでログインする必要がありますが、コンピュータはファイアウォールまたは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/cat
sftp
特定のユースケースでは、クライアントにSSHアクセスを提供するのではなく、トンネルまたはVPNを使用することをお勧めします。