自己署名証明書がインターネットで機能しません。問題は何ですか?
セットアップの詳細は次のとおりです。
IISを備えたAzureのWindows仮想マシンと、HTTPS用の自己署名証明書があります。物事はうまく機能しています。サイトは問題なくオープンしています。注:インターネット経由でこの情報にアクセスできるように、ドメインもセットアップしています。
個人のラップトップからHTTPSベースのWebサイトにアクセスしようとすると、エラーメッセージThis connection is not trusted
が表示されます。
ブラウザで上記のエラーが発生した場合、保護されていないモードでサイトを閲覧する設定を受け入れる必要があります。そうしないと、データにアクセスできません。しかし、これは私が望むものではありません。
セキュアモードでのみデータにアクセスしたい。
自己署名証明書を使用してこれをどのように行うことができますか?
考えられる解決策の1つは、ノートブックに信頼されたルートCAとして自己署名証明書をインストールすることです。
参照 https://technet.Microsoft.com/en-us/library/cc754841.aspx#BKMK_addlocal
これにより、説明している問題が修正されます(ラップトップのみ、およびOSが信頼するルートを使用するブラウザー/その他のソフトウェアのみ、つまりFirefoxは引き続き警告を表示し、bcsは独自の信頼されたルートCAを使用します)。
ただし、これは本番環境では機能しません。すべてのビジターは、ブラウザの警告を回避するために、自己署名証明書を信頼されたルートCAとして追加する必要があります。そうすることは、深刻なセキュリティリスクになります。
接続が信頼されていないというメッセージが表示されても、HTTPS接続ではないという意味ではありません。
このようなエラーメッセージを表示するかどうかを判断するために、ブラウザは次の基準を使用して証明書を検証しようとします。
他のメカニズムもありますが、とりあえず忘れましょう。
あなたの場合、このエラーメッセージを回避したい場合(これはHTTPSでWebサイトを閲覧しないことを意味するものではありません)、次のことができます。
表示されるエラーメッセージは、自己署名証明書を処理するときのブラウザの通常の動作です。自己署名証明書はデータの受信者(サーバー)が実際には誰であるか(信頼)できないため、次のメッセージが表示されます。あなたはあなたがあなたのウェブサイトを信頼していると確信しています(サーバー)。いずれにせよ、攻撃者が自己署名証明書を作成して中間者攻撃を開始できるという事実を踏まえると、ブラウザは(正しい/実際の)サーバーに接続していることを確認できないためです。
問題を解決するには、Webサイトへのアクセスに使用しているブラウザーに応じて、接続ルールの例外を追加します。
HttpsはTLS/SSLを介したhttpです。 TLSは次の3つを提供します。
1)自己署名証明書で十分ですが、2)クライアント(ブラウザ)が認識している認証局によって署名された証明書が必要です。残念ながら、現在のすべてのブラウザーは常にhttpsに対して1)と2)の両方を必要とするため、自己署名証明書を受け入れません(少なくとも恐ろしい警告がない限り)。多くの状況では1)で十分かもしれませんが、ページを表示するためにユーザーにフープをジャンプさせます。
サイトにアクセスできるのが自分または管理下の小さなグループのみである場合は、すべてのブラウザに信頼できるルート証明書として自己署名証明書をインストールできます。基本的に、あなたはあなた自身の認証局になります。
見知らぬ人がこのサイトにアクセスする場合は、有名な認証局によって署名された証明書を入手するしかありません。幸いなことに StartSSL のように、これを無料で行う認証局があります。
「 日和見暗号化 」への動きがあることに注意してください。これはこの問題を解決し、がセルフを使用してhttpsを許可します署名された証明書。これがサポートされるのが当たり前になるまでにはしばらく時間がかかります。 Firefox それを実装 、しかしその後 無効化 セキュリティ問題のため。詳細に興味がある場合は Security Nowポッドキャストのエピソード502 も参照してください。