Alpine Linuxなど musl 環境のSSHサーバーで、パスワードログインを許可すべきでないアカウントが長いパスワードで開けてしまう可能性(sshhole.com)
書く言語: 韓国語書かれた言語で読む
わかりやすい要約
- musl という標準ライブラリを使うAlpine LinuxやOpenWrtでは、本来パスワードでは入れないはずのアカウント(例: 鍵だけで接続するアカウント)が、257文字以上1024文字以下の長いパスワードで通過できる可能性があると原文は説明している。
- 原文の作成者は、musl の crypt() 関数が 256バイトを超える入力で失敗したときに、パスワード欄に * を返す仕組みが原因だと分析している。これは作成者の分析であり、原文以外で確認された内容ではない。
- 作成者は、glibc、musl、PAMの使用有無などの組み合わせで約17,600件のログイン試行を行い、PAMを使わないmuslのビルドだけが誤って許可したと報告している。この測定は作成者自身が行ったものである。
- 原文は、openssh 10.6p2 以降に更新すると問題は修正されるとし、更新が難しい場合はパスワードログインを無効にするよう勧めている。修正版の正確性は原文以外では確認されていない。
編集部の意見
O: Alpine Linuxベースのdockerイメージや OpenWrtルーターで、SSHキーでのみ接続する配布用アカウントを運用する管理者が、原文の案内に従ってパスワードログインを無効にする設定を、まずテストサーバーで試す場面に使えます。
X: 原文では、PAMを使わないmusl環境でのみ問題になるとされていますが、この判断は作成者の分析と測定に基づくものなので、パスワードログインを無効にする前に、鍵によるログインが正常に動くかをまず確認する必要があります。
書く言語: 韓国語
掲載元
Hacker News ↗ / おすすめ 1,554 / コメント 424
似たような経験はありますか?そのときどうしたか、一言二言で教えてください。製品に詳しくなくても大丈夫です。