SSH RSAキーのパスフレーズが必要ですか?


71

現在の仕事(中小企業)を始める前は、オフィスにはネットワーク上にファイアウォールがなく、文字通り何もバックアップされていませんでした。専任のシステム管理者/一人のIT部門としてサインオンしたので、これを変更するためにできることをやっています。上司に私たちがどれほど脆弱かを説明した後、彼は私にいくつかのバックアップサーバーをセットアップすることを許可しました。

現在、私は毎日のバックアップを自動化できるようにすべてを設定しようとしています。これを行うには、sshでrsyncを使用する予定です。セキュリティのため、および自動化を容易にするために、私はsshパスワードログインを無効にし、rsaキー検証のみを使用することを計画していました。まあ、rsaパスフレーズを設定している場合は、パスワードを入力する必要がありますが、これは問題です。

RSAパスフレーズがないと、セキュリティが大幅に低下しますか?私はこの種のことについて何らかの手がかりを持っている会社で唯一の人なので、誰かが私のマシンで端末を呼び出すことをあまり心配していません(とにかくAFKのときは常にロックされています) )およびバックアップサーバーの1つにssh-ingし、損害を与えます。私はまだシステム管理の世界では非常に新しく、このようなことをするのはこれが初めてであり、セキュリティの設定に穴を残したくありません。

ここで問題になっているコンピューターは、Ubuntu 10.10、SME Server、およびOSX 10.6を実行していますが、何らかの形で違いが生じる場合は。


5
キーにパスフレーズを付けないことでセキュリティが損なわれることはありません。この時点でキーのセキュリティの整合性を維持することは不可欠です。誰かがそれをコピーできる場合、それを使用することを妨げる秘密キーがないからです。
クリスマリシック

1
たぶんそれは私だけかもしれませんが、上記のコメントが何を言おうとしているのか分かりません。
underscore_d

3
@underscore_d彼は基本的に次のように言っています。SSHセキュリティに影響を与えず、キーのパスフレーズを使用しても使用しなくても、キーをローカルで安全に保つ必要があります。
-Hartator

回答:


89

ご存知のように、パスフレーズが提供する利点は、誰かがあなたの秘密鍵を読むことができる場合、それを使用できないことです。

誰かがその秘密鍵にアクセスできる場合、公開鍵で設定されたマシンがアクセス/侵害されていることを当然のことと考えてください。.ssh / known_hostsが難読化されている場合でも、.bash_historyや.ssh / configのようなものはこれを簡単にするだけです。

鍵にパスワードを持たないことは世界の終わりではありません。これにもかかわらず、少しでも安全に自分を守るための3つのアイデアを以下に示します。(大物は2番目で、他に何もない場合はそれを読んでください


  1. すべてのマシンとユーザーで同じキーを使用しないでください。(この種のことを行う必要のある)各マシンで各ユーザー独自のキーペアを生成します。これにより、どこでsshできるかをきめ細かく制御できます。

  2. authorized_keysファイルにキーを追加する場合、特定のコマンドのみを実行できるようにロックダウンするか、特定のホストからのみ使用できます。

    command =およびfrom =man sshを参照および検索します

    構文は次のようなものです。

    from="1.2.3.4",command="/path/to/executable argument" ssh-rsa key name

    つまり、そこに「rsync」をポップすると、キーによって「rsync」のみが呼び出され、IPアドレス1.2.3.4からのみ呼び出されます。複数のIPはで区切ることができます,。ホスト名もサポートされています。

  3. 思い浮かぶもう1つのことは、sshd_configの「AllowUser」ディレクティブです。

    AllowUsers

    このキーワードの後に​​は、スペースで区切られたユーザー名パターンのリストを続けることができます。指定すると、パターンの1つに一致するユーザー名に対してのみログインが許可されます。「*」および「?」パターンのワイルドカードとして使用できます。ユーザー名のみが有効です。数値のユーザーIDは認識されません。デフォルトでは、ログインはすべてのユーザーに許可されています。パターンの形式がUSER @ HOSTの場合、USERとHOSTが個別にチェックされ、特定のホストからの特定のユーザーへのログインが制限されます。

    これにより、ユーザーは特定の場所からのみログインできるようになります。(ワイルドカードも受け入れますが)すべての問題を解決するわけではありませんが、少なくとも他の人にとっては難しくなります。


1
美しい-これはまさに私が知る必要があったものです。どうもありがとうございます!
エックザ

3
問題ありません、完全なリストとしてそれを受け取らないでください!:-) auth.log / secureなどを定期的に確認することなどが思い浮かびます。
PriceChild

3
パスフレーズが盗まれることを心配する代わりに監査するのですか?
Ehteshチョードリー

3
@shurane両方してください!
PriceChild


-4

個人的に、私はRSAではなくDSAを使用します。これは主に私がいつも使用しているものであり、「ちょうどうまくいく」ことを知っているからですが、私が推測する理論は同じです。あなたは置き換えることができますdsarsa下記に。

ソースで:

$ ssh-keygen -t dsa

次に、.ssh/id_dsa.pubファイルの内容をコピー.ssh/authorized_keys先のユーザーアカウントにコピーします。

そうすれば、パスワードなしでソースと宛先の間でsshできるようになります。


1
RSAよりもDSAを推奨する理由はありますか?私は、逆の方が推奨されることをよく見ました。
PriceChild

@PriceChild:知る限り、それらのセキュリティはほぼ同等です(十分なキーサイズを想定)。私は暗号作成者ではないので、デフォルトのキーアルゴリズムとしてRSAを使用するというOpenSSHとGnuPGの決定を信頼しています。この質問も参照してください。
-grawity

本当の理由はありません-主に個人的な選択-それとRSAが最近盗まれた機密コードにハッキングされたという事実-それがRSAキーにどのように関連するか(誰が知っていますか?) 。
マジェンコ

9
「会社RSA」のハックは「アルゴリズムRSA」のセキュリティに影響を与えないのではないかと心配しています。secure.wikimedia.org/wikipedia/en/wiki/RSA_Securityもご覧ください -「RSAはRSA公開鍵暗号化アルゴリズムにちなんで命名されました。RSAは共同発明者のイニシャルにちなんで命名されました。RonRivest、Adi Shamir、レン・アドルマン。」
PriceChild

6
@Matt:のみ彼らは共通している事は名前です。RSA非対称暗号化アルゴリズムは純粋な数学であり、一部の企業のシステムへの侵入によって弱まる可能性はありません
-grawity
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.