web-dev-qa-db-ja.com

カールを使用する理由| Sudo shはお勧めしませんか?

Rustプログラミング言語 の紹介)を読んでいるときに、次のコマンドを使用するように要求するインストール方法に出くわしました。

curl -sf -L https://static.Rust-lang.org/rustup.sh | Sudo sh

これはアプリケーションをインストールする最も信頼できる方法ではないことに注意してください。このコマンドがどのように危険であるかについての詳細を誰かに教えてもらえますか?また、その影響から身を守る方法はありますか?

10
avinash pandey

実行しているスクリプトへのrootアクセスを許可しているためです。それは多種多様な厄介なことをすることができます。

Rustサイトが危険にさらされ、そのスクリプトがマルウェアをサイレントにインストールする小さな断片を取得した場合、最初にスクリプトを検査しなければわかりません。

9
Daniel Fath

ダニエルが言ったように、さらにいくつかの理由があります。

  • スクリプトがHTTPSではなくHTTPを介して提供された場合、Man In TheMiddle攻撃は悪意のあるサードパーティによって実行される可能性があります。 HTTPSを使用すると、スクリプトがサイトからそのままダウンロードされるという少なくとも確信があります。
  • 接続が途中で閉じた場合、意図されていない(そして潜在的に危険な)部分的なコマンドが実行される可能性があります。 (最初のリンクを参照)
  • また、ブラウザでスクリプトを開いて、それが悪ではないかどうかを確認することで、リスクが軽減されると考えるかもしれません。残念ながら、サイトの所有者はブラウザのユーザーエージェントに対して異なるコンテンツを表示する可能性があるため、表示されません(2番目のリンクを参照)

次に、リスクを適切に軽減する方法:

理想的には:

本番サーバーで変更を行う場合は、このアプローチを使用してください

curl -sf -L https://static.Rust-lang.org/rustup.sh -o rustup.sh
less rustup.sh
chmod +x rustup.sh
Sudo ./rustup.sh

大幅に優れていますが、完璧ではありません(ただし、ワンライナー):

このアプローチは、開発マシン/テストサーバーで使用できます

su -c "curl https://static.Rust-lang.org/rustup.sh -o rustup.sh && chmod +x rustup.sh && ./rustup.sh"

参照:

7
Piotr Dabrowski