web-dev-qa-db-ja.com

SSHパスワードとキー認証

SSHのパスワード認証よりも公開鍵認証のほうが強く推奨されているとよく言われます。ただし、以前の管理者は公開鍵に反対し、パスワードのみを発行し、サーバーごとに異なるパスワードを使用するよう注意していました(pwgenで生成されたパスワード。ブルートフォースするのはかなり困難ですが、保証ユーザー)。だから私は尋ねたいと思います:

  1. パスワードの使用は、管理(Sudo機能を備えた非ルート)による完全なシェルログインにとってより意味がありますか?おそらくパスワードが異なるパスワードとSudoで使用されるパスワードは異なることを考えると。
  2. Sftpアップロード用の特別なアカウント(特定のディレクトリに制限されています)でも、アップロードを無人にする必要があるため、パスワードが他のサーバー上のファイルになってしまう場合でも問題はありませんでしたか?公開鍵は暗号化されずに同じ他のサーバーに保存されます。
25
Jan Hudec

こんな感じです…離婚して元暴力的な妻がいます。私には3人の素晴らしい男の子もいます。ほとんどの男の子のように、物忘れが多く、物事を失う可能性があり、母親も大好きです。私の家の鍵が必要になるほど少年が大きくなったとき、私は決断を下しました。鍵付きロックまたはそれらの数字キーパッドの1つを使用するのですか?私が鍵付きロックを使用した場合、私の息子が定期的に鍵を紛失することは確かでした。私は仕事から家に帰って彼らを中に入れるようにという電話を受けます。そして、「紛失した鍵」の数(または私の硝子の元妻が所有していた確率)が不快な制限に達したため、ロックを交換したり、時々鍵を再設定したりする必要が生じる可能性が高かった。

おそらく世界で最も安全ではないかもしれませんが、数字ロックのおかげで、キーが紛失する心配はありませんでした。私は息子たちがコンボを忘れてしまったときに、仕事から(帰宅せずに)テキストメッセージを送ることができました。侵害されたと感じたときに定期的に変更することができました。また、どれほど長く複雑なものにするかを決めることもできました。私の元が持っていると思った場合は、それを変更することもできます。非常にシンプルで、総所有コストが削減されます。

キー付きロックはPKのようなものです。数字によるロックはパスワードのようなものです。最後に、私はあなたに言うことができます。私は自分の運命を選択し、好きなだけ動的に行うことができるので、数値ロックの方がはるかに安全です。そして、覚えておいてください。ドアは私の家への道の1つにすぎません。

21
Tek Tengu

パスワード認証の場合、ユーザー覚えているパスワードであり、誰にも知られないようにする責任があります。公開鍵ベースの認証では、ユーザーはどこかに秘密鍵を持っていますファイルとして保存

ユーザーは、実際に使用する方が便利であるため、キーベースの認証を好みます(SSHクライアントはキーを透過的に使用するため、人間のユーザーにとっては労力がかかりません)。ただし、キーベースの認証は次のことを意味します。

  • ユーザーは自分の.ssh/authorized_keysファイルに公開鍵を置くことにより、鍵を管理し、どの鍵を受け入れるかを管理します。
  • 秘密鍵は、必ずファイルとしてどこかに保存されます。パスフレーズによって保護されている可能性があります(必ずしもそうとは限りません)。
  • ローカルパスフレーズの選択(またはその欠如)は、サーバーsysadminの完全な範囲外です。

一部のシステム管理者は、ユーザーが強力なパスワードを覚えていることを信頼していないため、ユーザーがキーベースの認証を使用することを好みます。彼らは、秘密鍵ファイルのセキュリティは、強力なパスワードを生成して使用するよりも、平均的なユーザーが維持しやすいと信じています。ただし、ほとんどのシステム管理者は、秘密鍵ファイルは明白な脆弱性であると考えていますが、パスワードには軽減メカニズムがあります。つまり、パスワードが選択されたときに「パスワードルール」を適用でき、必要に応じてパスワードを集中的にブロックまたはリセットできます。これは、システム管理者がユーザーを信頼する程度(ユーザーの正直ではなく、ユーザーの能力を信頼する)と、システム管理者がどれだけコントロールを狂わせるかとのバランスです。

11
Tom Leek

パスワード

  • 忘れがちです。
  • 簡単に推測/クラックできます。
  • 使用できる文字、長さの点で異なる制約を持つことができます...
  • 非常に多くの場合、さまざまなサービスで再利用されます。
  • これらのパスワードデータベースが漏洩したことをご存知ですか。

チャレンジ/レスポンス

SSHキー(またはAPIトークン)

  • 覚えておく必要はありません(コンピュータに保存されています)。
  • 推測/クラックが難しい(辞書攻撃と比較して)。
  • 異なるサービスで共有する必要はありません。

非対称性/パスワードの強度。

  • ほとんどの公開/秘密鍵ソリューションは非対称鍵を使用します(他の方法では聞いたことはありませんが、それにお金をかけることはありません)。公開鍵が危険にさらされている場合、攻撃者はシステムにアクセスできません。
  • パスワードデータベースには一方向の暗号化が必要です。また、強力であるか、十分な計算サイクルを浪費して、ブルートフォースすることが困難になります。

ワークフローをリセット

パスワードやsshキーの使用はここでは関係ありません。ある時点で、ユーザーはパスワードを忘れるか(たとえば、作成時にCAPS LOCKを取得したか...)、またはシステムを再インストールします(たとえば、タイムマシン/アップグレード...)。そのような状況にどう対処しますか?パスワード/キーを変更し(前のものが侵害されたと想定)、新しいものをユーザーに安全に伝える必要があります。

承認された回答 を参照してください。あなたの子供があなたの家に入ろうとしている場合。ここでの課題は、それがあなたの息子であることを最初に確認する必要があることです(たとえば、それが彼らの電話番号であることを知っている、あなたが彼らの声を認識している、それがチャレンジの部分です) 。非常に一般的なワークフローは、一時的なパスワード/ワンタイムパスワードを生成し、息子にパスワードを変更させることです。しかし、これは非常によくあることです:彼らにワンタイムパスワードを与え、彼らに彼らの新しいsshキー/ apiトークンをアップロードさせます。一体、キーパッド/キーロックが接続されている場合は、資格情報をまったく変更せず、リモートで許可することさえできません。

注:あなたをだまして家にアクセスするためにあなたの元妻があなたの息子と共謀することを妨げるものは何もありません。

どっちがいいですか?

これは、ユースケースと許容可能な損失によって異なります。ユーザーはパスワード、SSHキー、APIトークンの両方を所有しているため、ユーザーはそれらを共有できます。パスワード認証をサポートしていて、パスワードが漏洩した場合、一部のユーザーは外部のWebサイトでパスワードを変更する必要がある可能性があります。これは、同じパスワードを他の場所で再利用しているためです。公開鍵/秘密鍵を使用する場合、心配する必要はほとんどありません。

どちらか一方を選択する必要はありません。両方使用できます!キーロック(個人用コピー)と数字の南京錠(ゲスト)の両方を持つことができます。

8
dnozay

パスワードはブルートフォースされる可能性があります。公開鍵を推測することは本質的に不可能であるため、完全に安全であると考えることができます。パスワードはユーザーごとに1つだけ割り当てることができますが、単一のユーザーアカウントには複数のキーをインストールできます。ラップトップを紛失した場合は、authorised_keysファイル内のラップトップのキーのエントリを削除するだけで済みます。そのアカウントは、他のデバイスから独自のキーで引き続きアクセスできます。個々のキーにコマンド制限を与えることもでき、特定のコマンドを実行するが完全なシェルではない自動接続を許可します。パスワードが有益である唯一の方法は、ログインせずに既存のアカウントへのアクセスを共有することです(新しいキーをアップロードするため)。これにより、キーが個別であるアクセスを削除する必要がある場合に、パスワードを変更する必要があるというセキュリティホールが開きます。

5
mikebabcock

興味深いトピックですが、私にとって最も安全なのはパスワードです。必要なセキュリティに応じて、さまざまなものに4つの異なるパスワードを使用します。たとえば、このようなサイトでは、(mexico1970)のようなものを使用します。サイトに投稿し、クレジットカード情報や保護する必要のあるその他の重要な情報がない場合は、より重要な問題のために別のパスワードを用意します(!! carmelita.99などの電子メールの場合)、サーバーユーザー用のパスワードを用意しますアクセス(XrE.67-73up)次にルートアクセスおよび銀行関連(!!。CeRto-49er)の場合、このパスワードを書き留めないことを確認し、作成したサーバーに接続するときはいつでもメモします。 sshフィンガープリントが既知のホストにすでに追加されていることを確認してください。そうでない場合は、MITM攻撃が行われている可能性があり、銀行のTLS/SSL証明書が有効であることを確認し、パスワードを共有しないでください。

私が嫌いなのは、パスワードを設定する必要があるので書き留める必要があるサービス、または毎月異なるパスワードを使用する必要があり、最後に使用した5つのパスワードを使用できないパスワードポリシーを持つ他のサービスです。ばかげている、パスワードを書き留めるのにセキュリティがないので、パスワードの変更は良いことですが、強制されるべきではありません。一方で、証明書が失われたり、危険にさらされる傾向があります。コンピュータにアクセスできる誰かがいると思いますキーロガーをインストールすることも、証明書を取得することもできます。だからあなたを安全に保つものはありませんが、証明書は確かにそのパスワードより安全ではありません。サーバーの場合、複数のメカニズムが設定されていると安心感があります。SSHを介してサーバーに接続できるマシンからVPNにアクセスするためのVPNとしましょう。たぶんハッキングされたことはありません。

乾杯、私はパスワードなしで投稿できるサイトが好きです。

3
Carlos Ruiz