
デフォルト(私の場合のみ)SSHキーのパスワードを毎日使用しているコンピュータのユーザーログインパスワードと同じように使用するのは安全ですか?私がこのコンピュータの唯一のユーザーだとしましょう。潜在的なセキュリティリスクは何ですか?
答え1
一般的に言えば、同じドメイン内(同じグループで管理されているコンピュータまたはサービス間)で同じパスワードを使用しない限り、パスワードを再利用することはお勧めできません。アクセスできます。
マシンAのアカウントパスワードはマシンAで使用され、マシンAへのアクセスを制御します。マシンAのSSH秘密鍵のパスワードはマシンAで使用され、他のマシンへのアクセスを制御します。両方のシステムで同じパスワードを使用し、そのパスワードが破損すると、システムAと他のシステムのセキュリティが損なわれます。したがって、パスワードを共有することはセキュリティに有害です。
マシンAのアカウントパスワードはマシンAで使用され、マシンAへのアクセスを制御します。マシンBのSSH秘密鍵のパスワードはマシンBで使用され、マシンAへのアクセスを制御します。 2台のコンピュータで同じパスワードを使用すると、AまたはBから漏洩する可能性があります。したがって、パスワードを共有することはセキュリティに有害です。
バックアップを介してもパスワードが漏洩する可能性があります。たとえば、ホームディレクトリのバックアップが破損した場合(または誤ってGithubに秘密鍵ファイルをアップロードした場合(最初のものではない))、攻撃者はその鍵ファイルにアクセスする可能性があります。OpenSSH秘密鍵ファイル形式は、パスワードの無差別攻撃に対して脆弱です。。 OpenSSH 6.5以降、新しい形式がありますssh-keygen -o
。遅いハッシュの正しい使用しかし、OpenSSH 7.7以降ではデフォルトでは使用されません。そのため、攻撃者が鍵ファイルにアクセスすると、パスワードを調べて重大な危険にさらされ、鍵を使用して鍵なしでログインできるようになります。遅いハッシュを使用してもパスワードが弱すぎると、キーファイルを持つ攻撃者はオフラインでパスワードを復号化できます(つまり、使用する電力量によってのみ制限されます)。
このため、SSHキーとユーザーアカウントに同じパスワードを使用しないでください。鍵ファイルを保護したいが、別のパスワードを覚えたくない場合は、覚えやすいパスワードを使用することをお勧めします。キーチェーンに保管してください(これGNOMEキーホルダー遅いハッシュを使用します)。 ²
1Githubでは、メインファイルを直接アップロードできなくなったようです。
²そしてキーリングのバックアップを漏らさないように注意してください。ただし、人々は設定ファイル(たとえば、および)を含むディレクトリをバックアップする傾向があるため、実際にはSSHよりも問題が少なくなります。.ssh
config
authorized_keys
答え2
この質問に対する答えは、実際にはコンピューティング環境によって異なります。この質問を消費者(家庭)ユーザーにしますか、またはビジネスユーザー(職場)にしますか?後者の声で質問する場合は、まずシステム管理者および/または会社の内部セキュリティポリシーに連絡することをお勧めします。全体的に、IAの実務者の観点から見ると、答えは常に「いいえ」です。パスワードマネージャを使用し、veracryptなどのアプリを使用してマスターリストを暗号化することをお勧めします。
答え3
一般的に、パスワードを再利用するのは良くなく安全ではない考えです。
SSHキーの目的を考慮し、同じパスワードを使用するリスクと単純さを評価する必要があります。機密情報を暗号化するために使用しますか?リモートテストサーバーに接続しますか?本番サーバー?それはあなただけが評価できるものです。
別のパスワードを持つことは実装を意味します。深い防御: 誰かがあなたのパスワードを見つけてコンピュータにアクセスしても、SSHキーはまだ使用できません。
答え4
私たち全員が知っているように、異なる目的に応じて異なるパスワードを使用する必要があります。しかし、この場合はリスクが低いと言いたいです。少なくともワークステーションでパスワードを介したSSHログインが無効になっている場合、リモートの攻撃者がパスワードを知っても利点はありません。
すでにあなたのパスワードを知っているローカル侵入者がいる場合は、再入力したときにパスワードを把握するために監視する何かを簡単に設定できます。とにかく多くのユーザーがssh-agent
それを実行しているので、侵入者はパスワードを必要とせずにそれを使用できます。したがって、他のパスワードはここではあまり役に立ちませんが、子供、義母などの「既知の専門家」攻撃者からユーザーを保護することができます。
より興味深いシナリオは、リモート攻撃者(ウイルス)がパスワードを知らず、ユーザーアカウントでコードを実行する場合です。その人があなたのパスワードを垣間見るのは簡単です。しかし、すでにシステムにアクセスしている場合は、システムパスワードを取得することは依然として重要ですか? Ubuntuのようにデフォルトでsudoが設定されている場合は、sudoを使用することもできます。
別のシナリオは、攻撃者がファイルおよび/etc/shadow
/または暗号化されたSSHキー(バックアップサーバーの侵入など)にのみアクセスできる場合です。理論的には、キーまたはシャドウファイルは、パスワードを推測する無差別代入攻撃と比較してセキュリティレベルが低い可能性があります。これは攻撃者の立場ではメリットですが、メリットが低いと思います。