信頼 認証局について話すときに頭に浮かぶ言葉です。 StartSSLは、非営利目的で1年間有効な無料のSSL証明書を提供する認証局です。インターネットトラフィックを保護することを目的としたイニシアチブは、信頼を失いました– StartSSLは信頼されていません! CAは2016年10月に信頼を失いました。以下は、Mozillaの声明です。 StartComのSSLサービスの終了に関する以下の更新に注意してください。
Mozillaは、WoSignと呼ばれる認証局(CA)に多くの技術的および管理上の失敗があったことを発見しました。最も深刻なことに、2016年1月1日までにCAがSHA-1 SSL証明書の発行を停止する期限を回避するために、SSL証明書をバックデートしていることがわかりました。さらに、Mozillaは、WoSignがStartComと呼ばれる別のCAの完全な所有権を取得し、 Mozillaポリシーで要求されているように、これを開示します。
続きを読む。
また、Googleからの声明。
Googleは、WoSignとStartComの2つのCAが、CAに期待される高い基準を維持しておらず、GoogleChromeによって信頼されなくなると判断しました
続きを読む。
StartSSLによって発行されたSSL証明書を持っていますが、これは私のWebサイトに影響しますか?
>答えははいです およびいいえ 。
はい 、証明書が2016年10月21日00:00:00UTC以降に発行された場合。 ブラウザから信頼されていないためです。
いいえ 、証明書が2016年10月21日00:00:00UTCより前に発行された場合。ブラウザは、ブラウザのポリシーに準拠している限り、信頼を継続できます。ただし、ブラウザがそれらの信頼をいつ停止するかわからないため、これにはリスクが伴います。
StartSSLによって発行された証明書の有効期限が近づいており、更新すると解決されます。問題?
いいえ!実際、このサイトはStartSSLによって発行された証明書を使用しており、更新が予定されていました。そして、私がそれを更新しようとした瞬間、これはStartSSLが言ったことです。
StartSSL CAは2016年10月に不信感を抱き、それから6か月は2017年4月です。そのため、CAポリシーに準拠するために必要な変更を加えたと予想し、Google、Mozilla、Appleに再検討を依頼しました。しかし悲しいことに、そうではありませんでした。ブラウザによるセキュリティ警告のみが表示されるように、新しい証明書を更新してインストールしました。
StartSSL証明書は再び信頼されますか?
うまくいけば、数ヶ月後。しかし、それが信頼されなくなってから6か月が経過し、6か月後に発行された証明書はブラウザによって信頼されていません。彼らは再検討のためにGoogle、Mozilla、Appleにリクエストを提出しましたか? StartSSLの公式ウェブサイトでさえ、当局がいつ再び信頼されるかについては述べていませんが、それでも証明書を販売しています。ただし、現時点では、StartSSLを使用することはお勧めしません。
2017年12月2日更新: StartComのStartSSLサービスは終了しました!以下は、サービスの終了に関するStartComからのメールです。
では、代替手段は何ですか?
StartSSLの代替案
a)信頼できる証明書プロバイダーから商用証明書を購入できます。
(または)
b)LetsEncryptなどの別の無料の証明書プロバイダーを選択します。
LetsEncryptを使用してWebサイトを保護する方法
LetsEncryptは、90日間の有効期間を持つSSL証明書を提供する、無料の自動化されたオープンな認証局です。
LetsEncrypt証明書のインストールは非常に簡単です。あなたがする必要があるのは、 Certbotを使用することだけです – LetsEncryptに証明書を自動的に要求し、ウェブサイトでHTTPSを有効にするスクリプト。 Certbotは、Apache、Ngnix、Haproxyをサポートしています。
ステップ1 :Certbotをダウンロード
# wget https://dl.eff.org/certbot-auto
ステップ2 :実行権限を設定する
# chmod a+x certbot-auto
ステップ3 :スクリプトでサポートされているさまざまなオプションを確認してください。
# ./certbot-auto -h
スクリプトは、以下に示すようにWebサーバーのプラグインをサポートします。
--apache Use the Apache plugin for authentication & installation --standalone Run a standalone webserver for authentication --nginx Use the Nginx plugin for authentication & installation --webroot Place files in a server's webroot folder for authentication --manual Obtain certs interactively, or using shell script hooks
デフォルトでは、スクリプトは証明書を取得して現在のWebサーバーにインストールします。証明書を取得するだけでウェブサーバーにインストールしたくない場合は、 certonlyを使用してください。 以下に示すオプション:
# ./certbot-auto --apache certonly
テストとドライラン: 以下のオプションを使用して、テスト証明書を要求し、ドライランを実行して証明書の更新をテストできます。
--test-cert Obtain a test cert from a staging server --dry-run Test "renew" or "certonly" without saving any certs to disk
Certbotは単一の構成ファイルで複数の仮想ホストをサポートしていません
certbot スクリプトでは、すべてのドメインを個別の仮想ホスト構成ファイルで構成する必要があります。たとえば、 httpd.conf ですべてのドメイン(プライマリドメインとサブドメインを含む)のVirtualHostsを設定しました。 file –複数のvhostを含む単一のファイル。この場合、 certbot スクリプトはすべてのドメインの証明書を取得できましたが、Webサーバーにインストールするために自身を認証できませんでした。このスレッドによると、この動作は、証明書のインストール中のエラーを回避するための意図的なものでした。したがって、1つのファイルに複数の仮想ホストを構成している場合は、 certbot-auto を実行する前に、異なる仮想ホストファイルに分割する必要があります。 コマンド。
LetsEncryptから証明書を取得してインストール
# ./certbot-auto Obtaining a new certificate Performing the following challenges: tls-sni-01 challenge for domaina.com tls-sni-01 challenge for sub.domainb.com Waiting for verification... Cleaning up challenges Generating key (2048 bits): /etc/letsencrypt/keys/0000_key-certbot.pem Creating CSR: /etc/letsencrypt/csr/0000_csr-certbot.pem Deploying Certificate for domaina.com to VirtualHost /etc/httpd/conf.d/domaina-com.conf Deploying Certificate for domainb.com to VirtualHost /etc/httpd/conf.d/domainb-com.confに展開します
証明書はどこに保存されますか?
すべてのライブ証明書は/ etc /letsencrypt / live /に保存されます 。 / etc /letsencryptの下にある他のディレクトリもチェックアウトしてください 。
[letsencrypt] # ls accounts archive csr keys live options-ssl-apache.conf renewal
LetsEncryptによって発行された証明書の有効性は何ですか?
opensslを使用する 以下に示すように、証明書の有効性を検証するコマンド:
# openssl x509 -startdate -enddate -in /etc/letsencrypt/live/domaina.com/cert.pem notBefore=May 4 09:29:00 2017 GMT notAfter=Aug 2 09:29:00 2017 GMT
証明書を更新する
Let’s Encryptによって発行された証明書は90日で期限切れになるため、期限切れになる前に証明書を自動的に更新する必要があります。 「更新 ‘オプションを使用すると、証明書を更新して –ドライランを実行できます。 オプションは、更新プロセスをシミュレートするのに役立ちます。
$./certbot-auto renew
証明書の更新をシミュレートする:
$./certbot-auto renew --dry-run ------------------------------------------------------------------------------- Processing /etc/letsencrypt/renewal/domaina.com.conf ------------------------------------------------------------------------------- Cert not due for renewal, but simulating renewal for dry run Renewing an existing certificate Performing the following challenges: tls-sni-01 challenge for domaina.com Waiting for verification... Cleaning up challenges Generating key (2048 bits), not saving to file Creating CSR: not saving to file ------------------------------------------------------------------------------- new certificate deployed with reload of apache server; fullchain is /etc/letsencrypt/live/domaina.com/fullchain.pem ------------------------------------------------------------------------------- ** DRY RUN: simulating 'certbot renew' close to cert expiry ** (The test certificates below have not been saved.) Congratulations, all renewals succeeded. The following certs have been renewed: /etc/letsencrypt/live/domaina.com/fullchain.pem (success) ** DRY RUN: simulating 'certbot renew' close to cert expiry ** (The test certificates above have not been saved.) IMPORTANT NOTES: - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal.
自動証明書更新用のCronジョブのセットアップ
# crontab -e
そして、以下の行を追加します:
0 0 * * * /usr/bin/certbot-auto renew 30 13 * * * /usr/bin/certbot-auto renew
注 :正しいパスを certbot-autoに設定することを忘れないでください スクリプトを作成し、 cronを確認します 1日2回実行されます。ええと、 certbot-auto 証明書の更新期限がない限り、何もしません。