web-dev-qa-db-ja.com

自己署名SSL証明書を使用するのは悪い習慣ですか?

特に異なるサブドメインを保護する必要がある場合、SSL証明書は個人にとってかなり高価です。私の主な焦点は接続を保護することであり、自分自身を認証することではないため、自己署名証明書の使用を検討しています。

ただし、このような証明書に遭遇すると、いくつかのブラウザーで厄介な警告が表示されます。自己署名証明書の使用を推奨しませんか(小さなWebアプリケーションや小さなWebサイトの管理ページなど)。または、場合によっては大丈夫ですか?

29
Wookai

一般に、自己署名証明書を使用するのは良くありません。それを行うと、証明書が悪いという警告を受け取ったときに人々があなたのサイトを離れる危険があります。さらに重要なことは、誰かがあなたの代わりに自分の自己署名証明書を使用してインジェクション攻撃を行うリスクが大きくなり、訪問者はそれ以上知ることができなくなります。

こちらの記事をご覧ください http://www.sslshopper.com/article-when-are-self-signed-certificates-acceptable.html 少し詳しい情報があります。

14
Ben Hoffman

RandomBenが言ったように、自己署名証明書は、彼が説明した理由のために一般的に眉をひそめられます。しかし、彼らが大丈夫な状況が1つあります:あなたのウェブサイトに機密データを提出する必要がある人々のセットが小さくて限られている場合、彼らはすべていくらか技術的に有能であり、あなたは彼ら全員と通信することができます。その場合、各人に証明書の詳細を与えることができ、彼らはあなたのサイトに行くときに証明書を手動で確認し、必要に応じてセキュリティ例外を追加できます。

極端な例として、個人用VPSには管理サブドメインがあり、これには自分だけがアクセスする必要があります。接続を保護するために使用されるサーバー証明書がサーバーにインストールしたものと同じであることを手動で確認できるため、自己署名証明書でそのドメインを保護するのに問題はありません。

自己署名証明書が機能しない場合、または「本当の」証明書が必要な場合は、 Let's Encrypt をお勧めします。これは、Internet Security Research Groupによって開始され、主要なインターネットによってサポートされています。 SSL証明書を無料で提供する企業。彼らが使用する検証プロセスは完全に自動化されており、実際に ACMEプロトコル (現在使用している Caddy など)をサポートするWebサーバーは完全に独自の証明書。 Let's Encryptは、youが人として、あなたがあなたであると言うことを確認しません。 Webサーバーが主張するドメインでコンテンツを提供できることを確認するだけです。 Let's Encryptはすべての主要なブラウザでサポートされていますが、検証が最小限であることはよく知られているため、eコマースサイトなど、人々が機密情​​報を送信するようなものを実行している場合、より高いレベルの検証を伴う証明書。

以前は、検証のためにお金を払いたくないが、それ以上はしたくない人には StartCom からの無料のStartSSL証明書を推奨していました。 StartComは2016年にWoSignによって密かに買収され、その後いくつかのドメインに対して不正な証明書を発行しました。その結果、主要なブラウザはStartCom証明書のサポートを削除しました。 (私の知る限り、IEはとにかくサポートしていません。)いずれにしても、Let's Encryptの方がはるかに便利です。

14
David Z

not自己署名証明書を使用するのは悪い習慣です。自己署名証明書には、CA署名証明書を使用しても意味がないという多くの実用的な目的があります。

たとえば、多くのサーバーで、パスワードなしのログインをセットアップしています。これらは私が頻繁に接続するサーバーであり、複数のSSH接続を開いたままにしておくことがあるため、毎回ユーザー名とパスワードを入力するのは面倒です。

代わりに、各クライアントマシン(オフィスのワークステーション、ラップトップ、自宅のワークステーション)で生成した自己署名SSL証明書を使用します。このようなセットアップにより、生産性に影響を与えることなく、各サーバーにかなり長く、安全で、完全に一意のパスフレーズを使用できます。また、各証明書の公開キーをインストールできるサーバーに直接アクセスできるため、CA署名付き証明書を使用しても意味がありません。

私はcould私たちの会社のすべての内部使用証明書に署名できる独自のルートCAを設定しました。各サーバーに単一の公開鍵をインストールします。しかし、私たちの組織はこれを本当に必要とするサイズまで成長しておらず、安全なHTTPの目的のために、これはまだ自己署名証明書を持っているのと同じです。

同様に、自己署名証明書は、電子メール接続、PGP署名、および公開鍵の事前交換が簡単なサーバー間接続に頻繁に使用されます。これらのケースの多くでは、これは実際には、チェーン内の任意のポイントで侵害される可能性がある証明書チェーンに依存するよりも安全です。

3
Lèse majesté

複数のサブドメインを保護する場合は、 ワイルドカード証明書 を使用できます。これは(保護するサブドメインの数に応じて)ドメインごとに1つ購入するよりも大幅に安くなります。たとえば、4つのドメインを使用すると、RapidSSLのワイルドカードは個々の証明書よりも安くなります。

2
Cebjyre