Security前書きSSL暗号化でより多くのWebトラフィックを保護するためのプッシュは、適切な証明書を取得するためのソリューションを必要とするサービスとユースケースの数が増えていることを意味します。パブリックWebサイト、イントラネットトラフィック、またはWebアプリのステージングサーバーのいずれであっても、データを保護し、ユーザーの最新のセキュリティ期待を満たすには証明書が必要です。SSL接続の主な利点は、_privacy_とデータの整合性に関係しています。暗号化により盗聴が防止されるため、接続はプライベートです。データの整合性は、正しいサーバーに接続している(詐欺師ではない)ことを暗号で確認し、送信中に個々のメッセージが改ざんされていないことを確認することで保証されます。独自のプライベート認証局。これらのオプションの比較を実行し、それぞれを使用するのが最適な場合について説明します。始める前に、SSLセキュリティについて説明するときに使用するいくつかの一般的な用語を定義します。Layer(SSL)に代わる新しいセキュリティプロトコルです。最近の暗号化された接続はTLSを使用している可能性が高いですが、SSL名は一般的な言語で使用されているため、ここで使用します。_サーバー証明書_のみを参照します。サーバー証明書は、新しいSSL接続が要求されるたびにWebサーバーによって提示されます。証明書が発行されるホストの名前(接続しようとしているサーバーと一致する必要があります)が含まれ、信頼を確立するために認証局によって署名されます。認証局(CA)認証局は、ドメイン所有者のSSL証明書の要求に関する詳細を確認し、すべてがチェックアウトされる場合、サーバー証明書を発行して署名します。ブラウザとオペレーティングシステムは、信頼できる認証局のリストを保持しています。サーバー証明書がこれらの信頼できるCAのいずれかによって署名されている場合、それも信頼されます。ドメイン検証(DV)ドメイン検証済み証明書は、証明書に要求されたドメイン名を制御していることを証明した人に発行されます。この証明は、多くの場合、WebサーバーまたはDNSレコードから一意のトークンを提供する形式を取り、CAは証明書を発行する前にそれらをチェックします。組織の検証(OV)組織が証明書を検証したということは、認証局が公開データベースの会社名と住所も検証したことを意味します。この情報は証明書に入れられ、通常、ユーザーが緑色の南京錠アイコンをクリックしてさらに調査する場合にのみ表示されます。拡張検証(EV)拡張検証は、ドメインまたは組織の検証よりも徹底しています。EV証明書は、ドメインの所有権だけでなく、証明書を要求している法人の存在と場所を確認し、その団体が確認中のドメインを制御していることを確認した後に発行されます。DVおよびOV証明書とは異なり、EVはワイルドカード証明書として発行できません。EV証明書は、Webブラウザーでも特別な扱いを受けます。ブラウザは通常、緑の南京錠アイコンでDV証明書を示しますが、EV証明書には、発行先の組織の名前を含む大きな緑のバーも表示されます。これはフィッシング攻撃を減らすことを目的としていますが、一部の調査では、この緑色のバーが表示されていないことにユーザーが気付かない傾向があることが示されています。)に対して発行される代わりに、ワイルドカード証明書は、サブドメイン名の全範囲に対して有効です。*などのexample.comのサブドメインをカバーします。アスタリスク文字は_wildcard_であり、任意の有効なホスト名に置き換えることができます。証明書失効リスト(CRL)SSL証明書には、証明書失効リストへのアクセス方法に関する情報を含めることができます。クライアントはこのリストをダウンロードしてチェックし、証明書が取り消されていないことを確認します。CRLの大部分はOCSPレスポンダーに置き換えられました。オンライン証明書ステータスプロトコル(OCSP)OCSPプロトコルはCRLの代替であり、よりリアルタイムであり、必要な帯域幅が少ないという利点があります。一般的な操作は似ています。DV、OV、およびEV証明書を購入できます。特定の制限付きの無料のドメイン検証証明書を提供するものもあります(たとえば、ワイルドカードは使用できません)。1〜3年ほとんどのブラウザでは、ほとんどの商用認証局がデフォルトで信頼されています。更新プロセスは通常手動で行われるため、証明書の有効期限を書き留め、期限内に更新するように注意する必要があります。従来、商用CAは、ほとんどの主要なブラウザが信頼する証明書を取得するための唯一の本当の選択肢でした。Encryptのような新しい自動化された認証局で変更されました。それでも、商用CAがEV証明書を取得する唯一の方法であり、ほとんどのブラウザーで自動的に信頼されるワイルドカード証明書を取得する唯一の方法です。Encryptクライアントを実行できないデバイスの証明書が必要な場合にも適しています(ソフトウェアの非互換性、または低電力の組み込みデバイスであるため)。商業認証局は、多くの場合、追加のサポート契約、保証、および認証のオプションを提供します。これは、一部の企業および業界にとって重要です。Encryptは、無料のドメイン検証済み証明書をリクエストおよび更新する自動化メカニズムを提供します。サービスと対話して証明書を自動的に取得および更新するための標準プロトコル(ACME)を作成しました。公式のACMEクライアントはhttps://certbot.eff.org/[Certbot]と呼ばれますが、多くの代替クライアントが存在します。*プロセス:*初期設定と更新は自動化されています。ApacheとNginxのセットアップのみが公式クライアントで自動化されますが、証明書は特定のサーバーソフトウェアとは無関係にダウンロードして使用できます。証明書の暗号化の有効期間を短くして、自動更新を促し、侵害された証明書が攻撃者に悪用される可能性を減らします。Encryptが適切なオプションです。Encryptのサーバーは、ウェブサーバーにアクセスするか、パブリックDNSレコードを取得して、ドメインを制御していることを確認する必要があります。したがって、ローカルネットワークのファイアウォールの背後にあるプライベートサーバーで使用するのは少し難しいかもしれません。EncryptのDNSベースの認証チャレンジを使用しても可能です。Encryptは、ベアIPアドレスの証明書を提供しません。Encryptは選択できません。Encryptでは最大100個のホスト名を使用して証明書を作成できるため、ユースケースに実際にワイルドカードは必要なく、既存のすべてのサブドメインをカバーする証明書が必要な場合があります。秘密キーで署名されたSSL証明書を使用して、認証局の必要性を完全に回避することができます。これは自己署名証明書と呼ばれ、テスト用または限られた数の技術に精通したユーザーが使用するためにWebアプリをセットアップするときに非常に一般的に推奨されます。DVおよびOV*信頼:*デフォルトではなし。+`コマンドで作成できます。チュートリアルhttps://www.digitalocean.com/community/tutorials/openssl-essentials-working-with-ssl-certificates-private-keys-and-csrsで、正確な必要なコマンドとOpenSSLの背景を見つけることができます。Essentials:SSL証明書、秘密鍵、およびCSRの操作]。自己署名証明書は信頼できるCAによって署名されていないため、証明書を信頼できるものとして手動でマークする必要があります。このプロセスはブラウザとオペレーティングシステムごとに異なります。その後、証明書は通常のCA署名付き証明書のように機能します。自己署名証明書は、少数のクライアントの信頼を手動で管理する必要がある場合に1回限りの使用に適しています。手動での努力なしでは失効または更新できないという事実を気にしないでください。多くの場合、これは開発やテストの目的、またはごく少数の人しか使用しない自己ホスト型のWebアプリには十分です。独自のプライベート認証局を作成し、それを使用して証明書に署名することができます。ユーザーは、証明書のいずれかが信頼される前に、プライベートCAを手動でインストールして信頼する必要があります。DVおよびOV*信頼:*デフォルトではなし。同様に、OpenSSLライブラリに付属のコマンドラインツールを使用してプライベートCAを作成できますが、プロセスを簡単にするためにいくつかの代替インターフェイスが開発されています。[caman]はコマンドラインプログラムです。どちらもCAの作成を簡単にし、証明書の発行、更新、失効を容易にします。作成する証明書が複数あり、ユーザー用にCAを手動で配布およびインストールできる場合は、プライベートCAが適切なオプションです。これはおそらく、CAを適切にインストールできる組織または技術に精通したユーザーの小さなグループ内での内部使用に制限されます。大規模なIT部門には、多くの場合、ユーザーにCAを自動的に展開する手段があり、このソリューションをより魅力的にしています。各証明書を手動で信頼済みとしてマークする必要がある自己署名証明書とは異なり、プライベートCAをインストールする必要があるのは1回だけです。そのCAから発行されたすべての証明書は、その信頼を継承します。欠点の1つは、CAの実行に多少のオーバーヘッドがあることです。安全な方法で設定および保守する方法をある程度知っている必要があります。適切な失効が使用上重要である場合、証明書失効リスト用のHTTPサーバー、またはOCSPレスポンダーも維持する必要があります。結論SSL証明書を取得または作成するためのいくつかの異なるオプションを確認しました。状況に最も適した方法であれば、SSL保護を追加することで、サービスとユーザーのデータ、プライバシー、セキュリティを保護することができます。SSLとこれまでに説明したオプションについてさらに詳しく知りたい場合は、次のリンクが役立ちます。Forumは、認証局とブラウザベンダーがCAの運用方法に関する要件とベストプラクティスを策定する場所です。CAには、ACMEプロトコルに関する詳細情報があります。