IIS (Windows Server) に SSL 証明書をインストールしてウェブサイトを保護する方法

IIS で SSL 証明書を設定するのは、ウィザードをクリックするだけという簡単な作業ではない場合があります。証明書が表示されない、ブラウザに警告が表示される、SSL ビットが全く機能しないといった問題が発生することがあります。特にサイトのセキュリティ強化を急いでいる場合は、イライラさせられるものです。しかし幸いなことに、これらの問題のほとんどは、いくつかの調整や設定の再確認で解決できます。このチュートリアルでは、適切な CSR の生成から証明書を IIS にバインドするまでの基本を網羅し、SSL 証明書が表示されなかったりブラウザでエラーが表示されたりするといったよくある落とし穴を回避するための実践的なヒントをいくつか紹介します。

IIS における一般的な SSL/TLS 設定の問題を修正する方法

証明書の検証に失敗しない適切なCSRを作成する

SSL証明書のインストール後もエラーが続く場合は、CSRが正しく生成されていないか、設定が適切でない可能性があります。正しく認識されるCSRを生成するには、インターネット インフォメーション サービス (IIS) マネージャー( InetMgr.exe) を開き、「サーバー証明書」に移動します。そこから「証明書要求の作成」を選択します。フォームに正しく記入してください。

  • 共通名: サイトの URL と完全に一致する必要があります(reports.woshub.com、または のようなワイルドカード*.woshub.com)。一致しない場合、ブラウザは証明書エラーを表示します。
  • 組織名組織単位:実際の会社情報を入力してください。個人サイトの場合、DV証明書をご利用の場合は氏名を入力してください。
  • 市区町村、州、国: 正確に入力してください。情報が間違っていると検証に失敗する可能性があります。

暗号化プロバイダーを選択する際は、デフォルトのMicrosoft RSA SChannel暗号化プロバイダーを使用し、キーの長さを少なくとも2048ビットに設定してください。すべての情報を入力したら、CSRをテキストファイルとして保存します。テキストをCAのインターフェースに直接コピーすることもできますが、ファイルの場合は、必ず で始まり-----BEGIN NEW CERTIFICATE REQUEST-----で終わるようにしてください-----END NEW CERTIFICATE REQUEST-----。うまくいかない場合は、CSRに誤字脱字や情報の不足がないか確認してください。これらは証明書の検証が拒否される一般的な理由です。

IIS に SSL 証明書を正しくインストールする

CAから. CERファイルが届いたら、正しくインポートしてください。証明書がDERまたはBase64形式の場合は、Windowsでダブルクリックするだけで証明書のインポートウィザードが開きます。次に、別の証明書ストアが必要な場合を除き、「すべての証明書を個人用ストアに配置する」を選択します。間違ったストアにインポートすると、IISで証明書をバインドしようとしたときに証明書が表示されない場合があります。また、証明書が. CRT形式で届いたが、特定のバインディングでPFX形式が必要な場合は、OpenSSLを使用して変換してください。

$ openssl pkcs12 -export -out certificate.pfx -inkey private.key -in certificate.crt

この手順は非常に重要です。Windowsでは、証明書と秘密鍵が結合されたPFXファイルであることが求められることが多いためです。CRTと鍵を個別にインポートしようとする場合は、それらをまとめてパッケージ化しないと機能しません。注:一部の環境では、CRTファイルをダブルクリックして. CER(Base-64 X.509)としてエクスポートすることでも問題なく動作しますが、バインディングとインポート/エクスポートに関してはPFXの方が柔軟性があります。

SSL証明書のバインドと動作確認

これは簡単に人を混乱させる可能性があります。IISサイトに移動し、「Webサイトの管理」>「バインド」をクリックします。「追加」をクリックして設定します。

  • タイプhttps
  • IPアドレス: 通常はAll Unassigned、またはサーバーが複数のサイトをホストしている場合は1つを選択します
  • ポート: 443 (標準 SSL ポート)
  • ホスト名: サイトのドメイン、例:reports.woshub.com
  • SSL証明書: インストールしたものを選択してください

その後、IIS が新しい証明書をすぐに取得しない場合があります。 を使用して IIS を再起動してくださいiisreset。サーバーに軽くプッシュするようなものです。その後、 を使用してブラウザでサイトを開いてくださいhttps://。すべてが正しく設定されていれば、緑色の南京錠アイコンが表示されます。表示されない場合は、ブラウザの開発ツールで証明書チェーンが完了していることを確認するか、証明書の詳細を確認してください。

ああ、忘れないでください。Windowsの設定によっては、レジストリでSSLプロトコル(TLS 1.2や1.3など)を有効にするか、混在コンテンツの警告が表示される場合はIISの設定を調整する必要があるかもしれません。少し面倒ですが、やる価値はあります。

Let’s Encryptのような無料のSSLオプションをご利用の場合は、Certbotなどのツールや専用のIISプラグインを使えば、ほとんどの作業を自動化できます。ただし、定期的に更新手続きを行う必要があることを覚えておいてください。そうしないと、有効期限が切れる前に警告が表示されます。

まとめ

  • 正しい情報、特にドメイン名を含む適切なCSRを生成します。
  • 証明書の形式を変換する必要がある場合は OpenSSL を使用します
  • 証明書をWindowsの個人ストアに適切にインポートします
  • IISのSSL証明書をポート443と正しいホスト名で正しくバインドします。
  • 証明書がすぐに表示されない、または機能しない場合は、IISを再起動してください。

まとめ

IIS で SSL を動作させるのは時に面倒な作業ですが、一度すべてが整ってしまえば、たいていは問題なく動作します。たとえ、多少の調整が必要だったとしてもです。よくある問題は、ホスト名の不一致、CSR の不適切な生成、証明書ストアの問題などが原因です。これらの点に注意することで、プロセス全体がスムーズになります。この情報が、誰かの頭を悩ませる時間を少しでも節約してくれることを願っています。幸運を祈ります。そして、セキュリティを万全に保ってください!