目次
SSL・SSL証明書とは?
SSLとは
SSLとは、インターネット上の通信を暗号化して送受信する技術のことです。
たとえば、ショッピングサイトや会員サイトを利用する際には自身の情報を入力します。しかし、インターネット上の通信を利用して送る大切な情報は、第三者によって盗み見られて悪用される場合があります。
そこでSSLを導入することで、個人情報やクレジットカードなどの重要な情報が暗号化され、サーバーとPC間で安全に通信できるようになります。
なお、SSLの現在の正式名称は「TLS」です。SSLは古い規格の名称であり、バージョンアップを重ね「SSL3.0」になりました。その次のバージョンから「TLS1.0」と呼ばれるようになっています。
しかしながら、SSLの名称はユーザー間ですでに浸透しているため、TLSを含めて「SLL」や「SLL/TLS」と表記されるケースが多いです。
SSL証明書とは
SSL証明書とは、SSLによる暗号化通信に加えて、Webサイト運営者の会社情報や所在地といった身元を証明する機能を持つ電子証明書のことです。
SSL証明書を導入すると、Webサイトのアドレスバーに「鍵マーク」が表示され、より安全なサイトであることをユーザーに伝えることができます。また、アドレスバーのURL表示は「https://」となります。
一方、SSL証明書が導入されていないサイトは、アドレスバーに鍵マークが付与されておらず、アドレスバーの表示は「http://」となります。また、警告マークや「このサイトは保護されていません」といった注意喚起が表示される場合があります。
SSL、SSL証明書を導入するメリット
乗っ取り・盗聴を防止できるため、ユーザーに安心感や信頼を与えることができる
SSLを導入することで、インターネット上の通信を暗号化し、第三者からの乗っ取りや盗聴を防止できます。
SSLを導入していないと、ログインIDやパスワードが盗まれ、クレジットカード情報や個人情報などが悪用されてしまう可能性があります。SSLを導入し通信を暗号化することで、これらの情報漏洩対策ができます。
GoogleがSSLを推奨しているため、SEO対策面でも効果的
Googleは、セキュリティサービスを特に重要視しています。Google側がデフォルトでHTTPS通信を導入しているため、Googleに接続すると自動的に安全な接続が行われるようになっているほどです。
また、GoogleはWebサイトの安全性をより強化するため、2014年にWebサイトにおけるHTTPSの有無を、検索順位の評価対象に含めることを発表しました。そのため、SEOによる検索上位を狙うには、HTTPS通信化が必須です。
無料証明書と有料証明書の違い
更新方法
無料証明書の中でも有名な「Let’s Encript」では、スクリプトを設定することで自動更新に対応できるので、手動による更新を必要としません。
一方、多くの有料証明書は自動更新に対応していないため、Webサイトを管理する人(エンジニアや外部の管理者)が手動で行う必要があります。
付加サービス
有料証明書は、認証局によって付加サービスが用意されている場合があります。
マルウェアから保護するWebサイトチェック診断や、個人情報が流出した際の損害補償オプションなどがこれにあたります。付加サービスは無料証明書にはないケースが多いです。
サポート対応
SSLサーバー証明書にはブラックリストが存在し、証明書を機械的に発行できない場合があります。
その際、Let’s Ecriptでは手動での発行対応ができないため、手動で対応を行う別の認証局から有料証明書を購入する必要があります。
有料証明書を発行する認証局はサポート窓口を設けている場合が多いので、何かあった際でもすぐに相談でき、心強いでしょう。
SSL認証レベルの違い
SSL認証では「DV」「OV」「EV」の3つのレベルがあり、認証方法の違いによって種類が異なります。3つのレベルについて詳しく見てみましょう。
DV
DV(ドメイン認証)は、Webサイトのドメインについて、SSL申請者のドメイン名が正しいかどうかを証明するものです。
無料で利用できるSSL証明の多くはDVのみ対応していることや簡単に導入ができることから、多くの企業や個人に利用されています。料金は3種類の中では最も安く、無料〜数万円のものがあります。
ただし、ほかの2つのSSL認証では住所や電話番号などを確認しますが、DVは確認をしないためSSL認証の中では最も低いレベルとなります。
信頼性のサポートが不十分であり、フィッシング詐欺サイトに間違われる可能性もあるため、リスクを考慮した上で導入を検討する必要があります。
OV
OV(実在証明型)は、有料のSSL認証でドメインに加えて企業の証明をします。
DVと比べると企業の情報も加わっており、信頼性が高くなります。認証を利用するには、書類による審査と電話番号の確認が必要です。料金は数万円となります。
EV
EV(EV認証)はOVと同様に有料のSSL認証です。
ドメインや書類審査、電話番号の確認に加え、実際に会社が存在しているのかの確認が行われるため、最も厳格な証明方式です。料金は3種類の中で最も高く、数万円〜数十万円となります。
EVを導入しているサイトは、アドレスバーやURLが緑色に変化し企業名も同時に表示されます。これにより、サイトの安全と安心の証明が可能です。
無料SSL証明書のメリット・デメリット
メリット
- 無料で使用可能
- Let’s Encriptの場合、スクリプトを設定することで自動更新が可能
- レンタルサーバは、一度設定することで手動での更新が不要になる
デメリット
- 手厚いサポートが受けられない
- フィッシングサイトなどに悪用される恐れがある
- 自動更新に対応していない場合、90日間で手動更新する必要がある
有料SSL証明書のメリット・デメリット
メリット
- 手厚いサポートが受けられる
- DV(ドメイン認証)だけではなく、より信頼性の高いOV(実在証明型)とEVが選択できる
- 認証の有効期限が、最長2年の証明書を購入可能
デメリット
- 自動更新に対応していない
- 費用が発生する
SSL導入の際にかかる費用例
今回はXserverを参考例として出しましたが、料金は使用するサーバーによって異なるので、自身が使用しているサーバーのホームページを確認してみるといいでしょう。
Let’s Encryptとは
Let’s Encrypt(https://letsencrypt.org/ja/)とは、米国の非営利団体ISRG(Internet Security Research Group)が運営する無料のSSLサーバー証明書のことです。
Let’s Encyptは、2016年に正式にサービスが開始されました。証明書の発行・インストール・更新を自動化することにより、すべてのWebサイトにSLL /TLSやHTTPSを普及させることを目指したプロジェクトです。
Let’s Encryptは、シスコ(Cisco Systems)、Akamai、電子フロンティア財団(Electronic Frontier Foundation)、モジラ財団(Mozilla Foundation)などの大手企業や団体から支えられています。導入事例は多数見られ、2020年には10億件に達しているようです。
Let’s Encryptの仕組み
Let’s Encryptは、ACME(Automated Certificate Management Environment )プロトコルと呼ばれる、SSL証明書を自動発行してくれるシステムを利用しています。このACMEプロトコルを利用することにより、時間のかかるSSL証明書を短時間で発行できるようにしています。
Let’s Encriptを使用するには、利用者側(管理者側)のサーバーでクライアントソフトを用いて認証する必要があります。
一般的にはクライアントソフトはcertbotが利用されることが多いですが、windows環境では利用ができません。windowsの場合は、Certify for WindowsやACMESharpなどを利用しましょう。
証明書を取得するにあたり、入手したクライアントソフトを操作するためにcertbotコマンドを使用します。証明書を取得するコマンドのほかにも、certbotのバージョン確認や更新が行えます。
certbot centonly –webroot -w 自身のドキュメントルート -d 自身のドメイン名
上記のコマンドを入力すると、メールアドレスやドメイン名、ルートディレクトリなどについて質問されるので、順番に回答します。回答がすべて終わると自動的に証明書が発行されます。
SSL証明書は有料のものが多く、取得するのに時間が数日間かかることもあるので、導入には躊躇しがちです。
一方、Let’s Encryptは無料で使用でき、さらにはSSL証明書が数分〜数時間以内で取得できるので、躊躇なく導入できるでしょう。有効期限は90日間と短いですが、設定次第では自動更新にも対応できます。
お名前.comでの無料SSL設定方法
SSLを設定できるサーバーはいくつもありますが、今回はお名前.comのサーバーから無料のSSLを実際に設定します。
お名前.comから無料SSLを発行する場合も、Let’s Encryptが利用できます。画像を用いて解説するので、ぜひ参考にしながら登録を進めてみてください。
1:コントロールパネルにログイン
お名前.comの会員にログインした後に「レンタルサーバー」を選択してください。
自身が契約したサーバーの稼働状況が一覧表示されるので、赤枠部分の「コントロールパネル ログイン」からコントロールパネルにログインしてください。初めてのログインの場合、最初にパスワードを設定する画面が出てきます。
2:メニュー「セキュリティ」→「SSL証明書」
ログイン後、左側のメニューに「セキュリティ」と表示されるので、そちらをクリックして「SSL証明書」を選択してください。
3:SSL設定するドメインを選択
SSL証明書を選択した後、SSL証明書を追加したいドメインを選択し「申し込む」ボタンを押してください。
4:無料SSLを選択
画面が切り替わり、3種類のSSL証明書が表示されます。今回は無料のSSLを設定するので「無料SSL」にチェックを入れて「確認する」ボタンを押してください。ブログや個人利用であれば無料SSLで十分でしょう。
5:確認画面から「完了する」をクリック
確認画面が表示されますので、該当するドメインに間違いがなければ「完了する」ボタンを押してください。こちらで設定は以上となります。
まとめ
今回はSSL証明書の概要から設定の方法まで解説しました。SSL証明書はデータ通信を暗号化して個人情報の漏洩を防ぐほか、企業や組織としての信頼性を確保するために必要な仕組みです。
現代のインターネットにおいてSSLを導入することは当たり前になりつつあり、ユーザーが安心して利用するためには必要不可欠といえます。
SSLの仕組みは難しい部分もあるかもしれませんが、今回ご紹介した無料でSSLを使用できるLet’s Scriptを利用して、実際にSSLを導入してみるのがよいでしょう。SSLについて悩まれている方にとって、少しでもお役に立てれば幸いです。