web-dev-qa-db-ja.com

macOSおよび.ssh / id_rsaセキュリティ

私の超重要秘密鍵は~/.ssh/id_rsaに「-rw -------」のchmodで保存されています

Macで多くのアプリケーションを実行しています。例えば:

  • Bashスクリプト
  • .appバイナリ(Sketch.appなど)
  • Ruby gemsとPythonパッケージ

実行しているものはすべて自分の秘密鍵にアクセスでき、理論的にはHTTP POSTでハッカーのサーバーにそれを吸い上げることができるようです。

これはセキュリティの問題ではありませんか?人々はそれをどのように軽減しますか?

はい、ユーザーとして実行している悪意のあるソフトウェアは、ユーザーとして実行できることをすべて実行できます。同じユーザーとして実行されている異なるアプリケーション間で特権を分離することはできません。これは xkcd でも確認されています。

SSHキーを具体的に保護するために、galogetで述べられているようにパスフレーズを追加できますが、これはほんの少ししか役に立ちません-キーが使用されているときに悪意のあるプログラムがメモリを削ったり、パスフレーズのキーストロークをログに記録したりすることもできます。 (これらの攻撃にはsome緩和策がありますが)。

より良いオプションは、ある種のハードウェアトークンを使用することです-私は、SSH認証にOpenPGP鍵でYubikey 4を使用しています。ロックを解除するとキーが悪用される可能性がありますが、キーの素材自体を盗むことはできず、ロックが解除されるのは短時間だけです。 (このタイムアウトを0に設定し、キーを使用するたびにユーザーの操作を要求することができます。)

別のオプションは、キーを別のユーザーアカウントに保存し、suを使用してSSHする前にそのアカウントに切り替えることです。

いずれにせよ、コンピューター上で悪意のあるソフトウェアをユーザーとして実行していると、悪影響を及ぼすことになります。

11
David

秘密鍵はパスフレーズを使用して保護できます。これが、信頼できるソースからのソフトウェアのみを使用するもう1つの理由です。

以下は、理解を深めるのに役立つ2つのリンクです。

それが役に立てば幸い。

6
galoget