ついに出た!無料でサーバー証明書を発行するサービス Let’sEncrypt

今話題のvvvウイルスの恐怖!

 
先週はRSAについての記事でした。セキュリティに関する基本とはいえ、
なかなか、数学的な話がややこしくて、難しかったですね。

さて、今週はどんなネタがあるかなぁと考えていたところ、
ちょうど降って沸いたかのように、ランサムウェアについてのニュースが飛び込んできました!!

そこで、今日は誰にでも関係ありそうな、今話題の「ランサムウェア」についてまとめてみます。

と、思ってたんですが…。

すでにyahoo!ニュースで取り上げられてました…。

vvvウイルス騒動とは何だったのかを簡単に振り返ってみる

こちらの記事、非常によくまとまっていますので、ランサムウェアって何?って方は
ぜひともこちらをご覧になってみてください。

気になったニュース

ところで今週、とても気になるニュースが入ってきました。

無料でサーバー証明書を発行する「Let\’s Encrypt」

無料でSSL(Secure Sockets Layer)/TLS(Transport Layer Security)サーバー証明書を発行する「Let\’s Encrypt」が2015年12月4日(日本時間)にパブリックベータになった。いままでは招待制の限定ベータプログラムだったが、パブリックベータとなり、誰でも試すことができるようになった。

ということで、SSL/TLSサーバー証明書の取得・管理サービスにいよいよ\”無料\”サービスがスタートしました。
近い将来、全てのWEBがHTTPS化するだろうと言われている中で、このようなサービスがスタートしたのは、
大きな変化ですね。

Lets\’ Encrypt 総合ポータルには実際の取得フローが掲載されていますので
ぜひとも参考にしたいですね。

また、いくつかのブログにはすでにHTTPS化を実施したという報告も上がっていますので、
これからやってみようという方にはこちらも参考になると思います。

証明書ってなんだろう

 とまあ、ここまで書いておいて何ですが証明書とはそもそも、なんですかということを説明します。
このような証明書は正式名称は「公開鍵認証書」と言われていて、この証明書には
名前や所属、メールアドレスなどの個人情報とその人の公開鍵情報が記載され、
認証局によって「デジタル署名」がされているものを指します。

例えば、前回説明したように、RSAでは公開鍵を受け渡すことによって平文を暗号化し、
安全に通信を行うものでした。

しかし、その公開鍵が本当に通信を\”送られる側\”の鍵なのか、というのを「証明」するのが
認証局の役割になるわけですね。

そのため、認証局に証明されるためには、いくつかのランクがありランクが高いものほど
証明力が強い、ということになります。

自己証明書

 しかし、この「認証局」というのはいわば企業や組織が勝手にやっている(乱暴な言い方ですが)ものなので、
どこかの国の機関がやっているのものではありません。
すなわち、名乗れば誰でも認証局になれるってわけです!

自己証明書の作り方

 自己証明書も、Linuxにはほぼ標準で組み込まれている「Openssl」を使えば簡単に作成することができます。
以下は簡単にその手順を記します。

環境:CentOS 7.2 64bit

  • Opensslの確認

    rpm -qa | grep openssl
    openssl-1.0.0a-4.1.7.amzn1.x86_64
    openssl-devel-1.0.0a-4.1.7.amzn1.x86_64

  • mod_ssl (ApacheをSSL対応にするためのモジュール)のインストール

    yum -y install mod_ssl

  • サーバ用の秘密かぎ作成

    cd /etc/pki/tls/certs
    make server.key
    ここでパスフレーズを入力

Opensslではmake コマンド一発で秘密鍵を作成することができます。
何も指定せずに入力すると、1024 bitの鍵が作成されます。

  • 秘密鍵からパスフレーズを削除

openssl rsa -in server.key -out server.key

これで秘密鍵を作成することができました。
続いて、この秘密鍵のペアとなる公開鍵を作成します。

  • 公開鍵の作成

make server.csr

このあと

Country Name (2 letter code) [AU]:JP ←国名(JP)を入力する
State or Province Name (full name) [Some-State]: ←お住まいの都道府県を入力する
Locality Name (eg, city) []: ←住まいの市区町村を入力する
Organization Name (eg, company) [Internet Widgits Pty Ltd]:mkserver ←サーバ名を入力する(どんな名前でもかまいません)
Organizational Unit Name (eg, section) []: ←部署名を入力(なければEnterキーを押す)
Common Name (eg, YOUR name) []: ←ホスト名を入力する
Email Address []:webmaster@abc.jp ←サーバ管理者(または証明書管理者)のメールアドレスを入力する

と入力応答になるので、入力していきましょう。
これが先ほどの「個人情報」となるわけですね。

さあ、今作成した、server.csrとserver.keyを使って証明書server.crtを作成します。
* 自己証明書の作成(期限10年)

openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 3650

最後に

というように、証明書は簡単に作ることができます。
しかし、近年、セキュリティ意識の高まりから、自己証明をアクセスさせないブラウザも
増えてきているようです。

今まで自己証明でHTTPS化していたサイトも、無料の証明書発行サービスが増えれば
どんどん変更を余儀なくされていくのではないでしょうか。

  • このエントリーをはてなブックマークに追加
  • Pocket