sshdに絶対パスが必要なのはなぜですか?


23

なぜsshd再起動したときに、たとえば、絶対パスを必要とする/usr/sbin/sshdのではなく、sshd

セキュリティへの影響はありますか?

PSエラーメッセージ:

# sshd
sshd re-exec requires execution with an absolute path

回答:


20

これは、バージョン3.9以降のOpenSSHに固有です。

新しい接続ごとに、sshdはそれ自体を再実行し、新しい接続ごとにすべての実行時ランダム化が再生成されるようにします。sshdが自分自身を再実行するには、自分自身への完全なパスを知る必要があります。

3.9のリリースノートからの引用は次のとおりです。

  • 新しい接続の受け入れ時にsshd(8)を再実行させます。このセキュリティ対策により、すべての実行時のランダム化が、マスタープロセスの有効期間中に、1回ではなく各接続に対して再適用されます。これには、mmapおよびmallocマッピング、共有ライブラリのアドレス指定、共有ライブラリマッピングの順序、ProPoliceおよびStackGhost Cookieが含まれます。

いずれの場合でも、通常は、initスクリプト(など/etc/init.d/sshd restart)またはを使用してサービスを再起動することをお勧めしますservice sshd restart。それ以外の場合は、次の再起動後にサービスが適切に開始されることを確認するのに役立ちます...

元の答えは、今では無関係です:私の最初の推測は、それ/usr/sbinがあなたの$ PATHにないことです。


もちろん$ PATHにあります。そうしないと、sshdからエラーメッセージを取得できます。
デイジー

6
投稿で言及しなかったエラーメッセージのことですか?
ジェニーD 14年

2
私の悪い、投稿を編集
デイジー14年

6

これは、誰かsshdがあなたのディレクトリのどこかにプログラムをインジェクトすることを防ぐためPATH です。2004年のこの投稿では、すでに問題について説明しています。


その投稿は問題を正しく説明していますが、スレッドに描かれた結論は誤りです。それはバグではなく、機能です:
ジェニーD 14年

@JennyDなぜそれがバグだと思う?私はそれを決して暗示しませんでした。
ティモ14年

あなたがリンクした投稿で、1つの応答は「最新のopensshへのアップグレードを通じて忍び込んだバグ」でした。そのスレッドの答えは、フルパスを必要とする実際の理由に言及していませんでした-あなたと同じ理由を述べた人もいましたが、これは非常に妥当であり、ログインの可能性を開くプログラムにフルパスを使用するのが良いアイデアであることを示しています。しかし、それは、この特定のプログラムがその要件を持っている実際の理由ではありません。
ジェニーD 14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.